Destinations

Google Shopping product feed setup and field mapping guide

Complete technical reference for Google Shopping feed fields, data structure requirements, and merchant centre integration to ensure product approval and visibility.

16 min read Updated 5 Jul 2026

No results found

Try different keywords or browse all help articles.

    What is Google Shopping and why merchants use it

    Google Shopping is Google's product listing service that displays items directly in search results, on Google Images, and across the Google Network. Merchants submit product data via a structured feed to Google Merchant Centre, where Google indexes and validates each item before making it eligible for Shopping ads, organic Shopping results, and comparison shopping features.

    Merchants use Google Shopping because it offers direct access to high-intent customers searching for specific products. Unlike traditional text ads, Shopping listings display product images, prices, and availability inline with search results, typically generating higher click-through rates and lower cost-per-acquisition. Google's algorithm matches user search queries to product data in your feed, so feed accuracy directly determines whether your products appear and at what position.

    Feed data quality affects approval rates, listing eligibility, and performance metrics. Incomplete or incorrect field values trigger policy violations, suspension of individual items, or account-level issues. Merchants must maintain feed compliance across all required and recommended fields to maximise visibility and conversion potential.

    Core product identity fields

    id is the unique identifier for each product in your feed. Google uses this value to track product changes, performance metrics, and policy violations across feed submissions. The id must remain consistent across all feed updates; changing it causes Google to treat the product as new, resetting historical data and performance signals. Use alphanumeric values (letters, numbers, hyphens, underscores) that match your internal product management system.

    title is the product name displayed in Shopping results. Google limits titles to 150 characters; longer text is truncated in most placements. Titles must be descriptive and accurate, including key attributes like brand, product type, and primary colour or size where relevant. Avoid promotional language ('Best seller', 'Limited offer'), special characters (emoji, diacritics beyond standard accents), or keyword stuffing. A clear title like 'Sony WH-1000XM5 Wireless Headphones Black' performs better than 'AMAZING SONY HEADPHONES SALE NOW'.

    description provides additional product context beyond the title. Google displays descriptions in some Shopping placements and uses them for relevance matching. Limit descriptions to 5000 characters and focus on factual product features, materials, dimensions, and intended use. Include key search terms naturally (not stuffed). Avoid duplicate descriptions across similar products; unique descriptions help Google distinguish between variants.

    link is the absolute URL to the product page on your website. This URL must be publicly accessible, load within 5 seconds, and display the exact product described in the feed. Broken or redirect-heavy links cause disapprovals. Use HTTPS URLs only. Ensure the landing page matches the product data (title, price, availability, image) to avoid user experience issues that Google's systems detect.

    image_link is the URL to the primary product image. Google requires at least one image per product. Images must be at least 100x100 pixels (Google recommends 800x800 or larger for quality). Use PNG or JPEG format. Ensure images are accessible, load quickly, and display the actual product (not placeholder or lifestyle shots as the primary image). Images with watermarks, borders, or text overlays are acceptable but may perform worse. Broken image links cause product disapprovals.

    gtin (Global Trade Item Number) is the product's barcode or UPC/EAN. Google uses GTIN to match products across retailers, identify duplicates, and verify product information. If your product has a GTIN, you must provide it; omitting a GTIN when one exists can trigger a 'mismatched product' policy violation. GTINs must be valid and match the physical product. For products without a GTIN (handmade items, custom products), use the identifier_exists field set to 'false' to indicate no GTIN is available.

    mpn (Manufacturer Part Number) is the product code assigned by the manufacturer. MPNs help Google verify product identity and prevent duplicate listings. Provide the MPN if available and accurate. Incorrect or fake MPNs can trigger policy violations. Do not use internal SKUs or warehouse codes as the MPN.

    brand is the manufacturer or brand name. Google requires brand for most products; it's a key filtering and sorting attribute in Shopping results. Use the official brand name (e.g., 'Nike', not 'nike' or 'NIKE'). Ensure brand matches the product itself, not your retailer name.

    condition indicates whether the product is new, refurbished, or used. The vast majority of products should be marked 'new'. Used and refurbished items require accurate condition and may have lower conversion rates. Misrepresenting condition violates Google's policies and can result in account suspension.

    Availability and pricing fields

    availability tells Google whether a product is in stock, out of stock, or available for pre-order. Valid values are 'in stock', 'out of stock', and 'preorder'. This field directly affects whether Google displays your product; out-of-stock items may not show in some placements. Update availability frequently (ideally daily or in real time) to match your actual inventory. Showing out-of-stock products as in stock frustrates customers and damages your account reputation.

    price is the current selling price of the product. Include the currency code (e.g., 'GBP 29.99' or '29.99 GBP'). Price must match the price on your website landing page; price mismatches trigger disapprovals and customer complaints. Update prices daily or whenever they change. Do not include promotional text in the price field; use sale_price instead.

    sale_price is a reduced price offered for a limited time. Provide sale_price only if the product is currently on sale. Sale price must be lower than price. Use sale_price_effective_date to define the date range for the sale.

    sale_price_effective_date specifies when the sale price applies. Format: 'YYYY-MM-DDTHH:MM:SSTZ/YYYY-MM-DDTHH:MM:SSTZ' (start date/end date in ISO 8601 format). Example: '2024-01-15T09:00:00Z/2024-01-31T23:59:59Z'. Google automatically stops showing the sale price after the end date. Expired sale prices cause user experience issues and may reduce account trust.

    availability_date indicates when a pre-order product will be available for shipment. Use ISO 8601 format (YYYY-MM-DDTHH:MM:SS). This field is required for products with availability set to 'preorder'. Accurate dates set user expectations and reduce cancellations.

    rrp (Recommended Retail Price) shows the manufacturer's suggested retail price. This field is optional but recommended for products where RRP is publicly available. RRP helps customers understand the discount and can improve perceived value. Use the same currency format as price.

    Product categorisation and attributes

    google_product_category assigns your product to Google's taxonomy for filtering, search refinement, and relevance matching. Google provides a detailed category list (e.g., 'Apparel & Accessories > Clothing > Outerwear'). Select the most specific category that accurately describes your product. Miscategorised products may not appear in relevant searches or may trigger policy violations. Use Google's category tool to verify correct classification.

    product_type is your internal category or classification. Unlike google_product_category, product_type is not standardised; you define it based on your inventory structure. Examples: 'Men's Winter Coats', 'Organic Cotton T-Shirts', 'Running Shoes'. Product_type helps you segment performance data and troubleshoot feed issues. It's optional but recommended for merchants with large catalogues.

    item_group_id groups related products (variants) under a single parent item. Use item_group_id when a product comes in multiple colours, sizes, or styles. All variants share the same item_group_id but have unique id values. This prevents duplicate listings and allows customers to filter by variant attributes. Example: all sizes and colours of a shirt share one item_group_id but have different id, size, and color values.

    color, size, material, gender, and age_group are variant and attribute fields that enhance product discoverability and filtering. Provide these fields when relevant:

    • color: Primary colour of the product (e.g., 'Black', 'Navy Blue'). Use standard colour names; avoid vague terms like 'Mixed'.
    • size: Size of the product (e.g., 'Large', '10', 'M'). Include size_system and size_type for clarity.
    • material: Primary material (e.g., 'Cotton', 'Polyester', 'Leather'). Multiple materials can be separated by commas.
    • gender: Target gender ('Male', 'Female', 'Unisex'). Required for apparel and some accessories.
    • age_group: Target age group ('Newborn', 'Infant', 'Toddler', 'Kids', 'Adult'). Required for age-restricted items.

    size_system specifies the sizing standard (e.g., 'US', 'EU', 'UK', 'International'). This helps Google match user searches to correctly sized products.

    size_type clarifies what the size refers to ('Regular', 'Petite', 'Plus', 'Big & Tall'). Helps customers find appropriately sized items.

    pattern describes visual patterns on the product (e.g., 'Striped', 'Plaid', 'Floral'). Optional but useful for apparel and home goods.

    multipack indicates the number of items in a bundle or multi-pack. Use this when selling multiple units of the same product together (e.g., '6-pack of socks'). Multipack affects pricing expectations; ensure the price reflects the total quantity.

    is_bundle marks products that combine multiple different items (e.g., 'Laptop Bundle with Mouse and Keyboard'). Set to 'true' only if the product genuinely includes multiple distinct items. Bundles require accurate description of all included components.

    Shipping and logistics fields

    shipping_weight, shipping_length, shipping_width, and shipping_height define the package dimensions and weight. Google uses these values to calculate shipping costs and eligibility. Provide accurate measurements in the format: 'VALUE UNIT' (e.g., '2.5 kg', '30 cm'). Supported units are 'kg' and 'lb' for weight; 'cm' and 'in' for dimensions. Incorrect dimensions cause shipping cost mismatches and customer dissatisfaction.

    shipping defines shipping costs and delivery times for specific regions. Format: 'COUNTRY:REGION PRICE:CURRENCY DAYS' (e.g., 'GB::10.00 GBP:5'). This field is optional if you've configured shipping settings in Google Merchant Centre. If provided in the feed, feed-level shipping overrides account-level settings.

    shipping_label is a custom label to group products with identical shipping rules. Use shipping_label to apply the same shipping settings to multiple products without repeating the shipping field in each row. Define shipping_label values in Merchant Centre.

    ships_from_country indicates where the product ships from. Use ISO 3166 country codes (e.g., 'GB', 'US'). This affects shipping cost calculation and eligibility in certain regions.

    min_handling_time and max_handling_time specify how long (in days) it takes to prepare and ship the product after purchase. Use integer values (e.g., '1', '5'). Google uses these values to communicate delivery expectations. Accurate handling times reduce customer complaints and returns.

    transit_time_label is a custom label for delivery speed. Examples: 'Standard', 'Express', 'Overnight'. Define transit_time_label values in Merchant Centre and use them to group products with similar delivery times.

    Promotional and custom fields

    promotion_id links a product to a specific promotion configured in Google Merchant Centre. When you create a promotion (e.g., '20% off clothing'), assign it a promotion_id and include that id in the feed for eligible products. Google then applies the promotion terms automatically. Promotion_id must match exactly with the promotion configured in Merchant Centre.

    custom_label_0 through custom_label_4 are five optional fields for your internal use. Use these to segment products for reporting, bidding strategies, or troubleshooting. Examples: 'High Margin', 'Seasonal', 'New Arrival', 'Clearance'. Custom labels don't affect product visibility but are visible in Google Ads for segmentation.

    excluded_destination and included_destination control where products appear. Valid destinations include 'Shopping ads', 'Buy on Google', 'Display ads', 'Local inventory ads'. Use excluded_destination to prevent a product from appearing in specific placements (e.g., exclude products with low margin from Shopping ads). Use included_destination to limit a product to specific placements. If included_destination is set, the product appears only in those destinations.

    shopping_ads_excluded_country prevents a product from showing in Shopping ads in specific countries. Use ISO 3166 country codes. This is useful for products with regional licensing restrictions or unavailable inventory in certain markets.

    Advanced and compliance fields

    adult marks products intended for adult audiences only (e.g., alcohol, tobacco, adult content). Set to 'true' only if the product is age-restricted. Misusing this field or omitting it for restricted products violates Google's policies.

    energy_efficiency_class, min_energy_efficiency_class, and max_energy_efficiency_class indicate energy rating for appliances. Use standard EU energy labels (A+++, A++, A, B, C, D, E, F, G). These fields are required for certain product categories (refrigerators, washing machines, etc.) in some regions. Omitting required energy data causes disapprovals.

    tax and tax_category specify tax treatment. tax format: 'COUNTRY:REGION TAX_RATE TAX_TYPE' (e.g., 'GB::20 percent'). tax_category assigns the product to a tax category configured in Merchant Centre. Use tax_category for simplicity if you've set up tax rules in Merchant Centre.

    cost_of_goods_sold is the product cost (not displayed to customers). Google uses this to calculate margin and may use it for bidding optimisation. Keep this field accurate for performance reporting.

    auto_pricing_min_price sets a floor price for automated pricing rules. If you use Google's automated bidding or repricing, this field prevents prices from dropping below a specified threshold.

    identifier_exists indicates whether the product has a GTIN or MPN. Set to 'false' only if the product genuinely has no GTIN or MPN (handmade, custom items). Setting this to 'false' when a GTIN exists triggers a policy violation.

    expiration_date specifies when a product listing should be removed from your feed. Format: YYYY-MM-DD. Google automatically stops showing the product after this date. Use this for seasonal products or limited-time inventory.

    pause temporarily removes a product from Google Shopping without deleting it from the feed. Set to 'true' to pause; omit or set to 'false' to resume. Paused products don't appear in results but retain their historical data.

    ads_redirect is a URL to redirect clicks to a different landing page (used in some advanced advertising setups). Most merchants leave this blank.

    mobile_link is an alternative URL for mobile users. If your mobile site differs from desktop, provide the mobile URL here. Google prioritises mobile experience, so ensure mobile_link is mobile-friendly and loads quickly.

    Image and media fields

    additional_image_link provides extra product images beyond image_link. Provide up to 10 additional images (so up to 11 total). Format as comma-separated URLs or separate rows for each image. Multiple images improve click-through rates and reduce returns by giving customers a complete visual understanding of the product.

    lifestyle_image_link shows the product in use or in context (e.g., a watch on a wrist, furniture in a room). Lifestyle images improve engagement and conversion. Provide up to 10 lifestyle images.

    video_link is a URL to a product video (YouTube, Vimeo, or hosted video). Videos increase engagement and reduce return rates. Ensure videos are publicly accessible and relevant to the product.

    Physical product attributes

    product_height, product_length, product_weight, and product_width define the product's physical dimensions (not packaging). Format: 'VALUE UNIT' (e.g., '5 cm', '2.5 kg'). These differ from shipping dimensions; use product dimensions when the product itself is the relevant measurement (e.g., furniture, artwork). Shipping dimensions account for packaging and are used for shipping cost calculation.

    Certification and compliance

    certification indicates product certifications (e.g., 'Fair Trade', 'Organic', 'CE Marked'). Multiple certifications can be comma-separated. Certifications build trust and may improve visibility in filtered searches.

    product_highlight emphasises key product benefits or features. Examples: 'Water-resistant', 'Eco-friendly', 'Wireless'. Use product_highlight to call out competitive advantages. Multiple highlights can be comma-separated.

    structured_title and structured_description are optional fields for enhanced product data. structured_title uses a specific format to break down product name into components (brand, type, attributes). structured_description uses structured format to list key features. These fields help Google understand product details more precisely and may improve relevance matching.

    short_title is a shortened version of the title (up to 40 characters). Google displays short_title in some placements where space is limited. Ensure short_title is descriptive and includes the brand and primary product type.

    unit_pricing_measure and unit_pricing_base_measure enable unit pricing display (price per litre, per kg, etc.). Format: 'VALUE UNIT' (e.g., '500 ml', '1 kg'). Unit pricing helps customers compare value across different package sizes. If provided, unit_pricing_measure must be smaller than unit_pricing_base_measure.

    return_policy_label is a custom label for return policies configured in Merchant Centre. Use this to group products with different return terms without repeating full return policy details in the feed.

    Practical guidance for feed setup and optimisation

    When setting up your Google Shopping feed, follow these steps:

    1. Create a Google Merchant Centre account and verify ownership of your website.
    2. Set up a data feed using Google's Merchant Centre interface, a third-party feed management platform, or a custom solution. Most merchants use CSV or XML format.
    3. Map your internal product data to Google Shopping fields. Ensure id, title, description, link, image_link, availability, price, brand, condition, and gtin are populated accurately for every product.
    4. Validate your feed using Google's Merchant Centre validation tool. Fix any errors (missing required fields, invalid values, broken URLs) before submission.
    5. Submit the feed to Google. Google processes feeds daily; new products typically appear in results within 24 to 48 hours.
    6. Monitor feed quality in Merchant Centre. Review disapproved items, policy violations, and warnings. Fix issues promptly to maintain account health.
    7. Update your feed regularly (daily or in real time for availability and price). Stale data causes poor performance and customer complaints.
    8. A/B test field values (titles, descriptions, images) to identify what resonates with your audience. Use custom labels to segment performance and optimise bids.
    9. Ensure your website landing pages match feed data exactly (title, price, availability, image). Mismatches trigger disapprovals and user experience issues.
    10. Use Google Ads and Google Analytics to measure feed performance. Identify top-performing products and underperformers. Optimise feed data based on performance insights.

    Common issues and solutions:

    • Disapproved products: Check Merchant Centre for specific error messages. Common causes are missing required fields, broken links, inaccurate prices, policy violations (e.g., misleading claims), or mismatched product data on landing pages. Fix the underlying cause and resubmit.
    • Low click-through rates: Improve titles and descriptions. Ensure images are high quality and show the product clearly. Add additional images and videos. Test different title formats to see what drives clicks.
    • High return rates: Ensure product descriptions and images accurately represent what customers receive. Include detailed specifications, dimensions, materials, and colour accuracy. Provide lifestyle images showing the product in use.
    • Out-of-stock issues: Update availability in real time or at least daily. Showing out-of-stock products as in stock damages trust and increases returns and complaints.
    • Slow feed processing: Large feeds (100,000+ products) may take longer to process. Use incremental feed updates (only changed products) rather than full feed resubmission to speed up processing.
    • Policy violations: Review Google's Shopping policies carefully. Common violations include misleading claims, incorrect condition labelling, adult content without proper marking, counterfeit products, and prohibited items. Fix violations immediately to avoid account suspension.

    Summary

    Google Shopping feed success depends on accurate, complete, and compliant product data. Core fields like id, title, description, link, image_link, price, and availability directly affect product approval and visibility. Variant and attribute fields (colour, size, material, gender, age_group) improve filtering and relevance. Shipping, logistics, and compliance fields ensure accurate cost calculation and policy adherence.

    Merchants must validate feeds before submission, monitor for errors and violations in Merchant Centre, and update data regularly to reflect current inventory and pricing. Testing, optimisation, and performance monitoring drive continuous improvement in click-through rates, conversions, and return on ad spend.

    For merchants managing feeds across multiple channels, consider using a centralised feed management platform that can map your product data to Google Shopping fields and other channels (Amazon, eBay, Awin, etc.) simultaneously, reducing manual work and ensuring consistency.