Skip to main content
google-adspaid-searchppcgoogle-shoppingdtc

Google Shopping Feed: Requirements, Titles and Custom Labels

Shopping ads have no keywords and no ad copy. Everything Google shows, and every query it matches, comes from the rows in your product feed.

Founder & CEO, Marketing Bar
15 min read
Example Google Shopping feed item with id, title, price, availability, GTIN and a custom_label_0 margin bucket.

A Google Shopping feed is the product data file Merchant Center reads to build Shopping ads and free listings: one row per product, seven required attributes (id, title, description, link, image_link, availability, price). Brand is required for new products, a GTIN is strongly recommended wherever the manufacturer assigned one, and apparel adds color, size, gender and age_group.

Shopping ads have no keywords, so feed quality sets what can serve. Below is the current US specification, checked against Google's product data specification (Google Merchant Center Help, October 2026), followed by a title formula per category, a feed-audit checklist, and a custom-label scheme that maps to bid targets.

TL;DR

Key takeaways

  • Seven attributes are required for every product in the US: id, title, description, link, image_link, availability and price. Brand is required for new products except movies, books and music.
  • Apparel needs color, size (clothing and shoes), gender and age_group; variants need item_group_id.
  • Since July 1, 2025 Google no longer requires US sales tax in the feed. Shipping is still required for US Shopping ads.
  • Products expire 30 days after their last refresh; price and availability should update at least daily.
  • Custom labels split the catalog by margin, velocity and season; each margin bucket gets its own campaign and a tROAS at or above its break-even ROAS.

What are Google Shopping ads and how do they work?

Google Shopping ads are product listings that show a photo, title, price and store name (Google Ads Help, 2026). You do not choose keywords: Google matches a shopper's search against your product data and campaign settings, and you pay per click.

They appear on the Shopping tab, next to Search results, in Google Images and on Search Partner sites; through Performance Max, also on YouTube, Display, Gmail, Maps and Demand Gen. An illustrative Google Shopping ad example: a photo of a black linen shirt, the title "Brand Men's Linen Shirt, Black, Relaxed Fit", $68, and the store's name, all pulled from the feed.

Flow: store catalog feeds a primary data source, a supplemental source adds custom labels by id, Merchant Center validates and approves products, Google Ads Shopping or Performance Max reads the feed, ads serve on Search, the Shopping tab, Images and Search Partners, and via PMax on YouTube, Gmail, Maps, Display and Demand Gen.

From catalog to ad: Merchant Center reads the feed for approval, the campaign reads it for matching. Source: Google Merchant Center Help and Google Ads Help, 2026.

How to set up a Google Shopping feed

  1. Create a Merchant Center account and add your business details.
  2. Verify and claim your store's website (Google Merchant Center Help).
  3. Set up shipping settings for the US.
  4. Add a product data source: the Shopify Google & YouTube app, a file, Google Sheets or the Merchant API.
  5. Link your Google Ads account and build a Shopping or Performance Max campaign on the approved products.

Files can be TSV, TXT or XML, uploaded, fetched on a schedule, or pulled from Google Sheets. Beyond the primary product source, Merchant Center takes supplemental sources plus separate local inventory, promotions and product reviews data.

Google Shopping feed requirements

For a US store selling new products, this is the working set:

AttributeStatus (US)Rule that trips people up
idRequiredMax 50 characters, unique, never reused. Use the SKU.
titleRequiredMax 150 characters; must match the landing page; no all caps or promo text.
descriptionRequiredMax 5,000 characters; no promotional text or competitor names.
linkRequiredVerified domain, no interstitial pages.
image_linkRequiredNo watermarks, promo text or placeholders. Spec lists a 500 × 500 px minimum, enforced from January 31, 2027.
availabilityRequiredin_stock, out_of_stock, preorder or backorder; must match the page.
priceRequiredMust match landing page and checkout. In the US, exclude tax. Cannot be 0.
brandRequired for new productsExcept movies, books and music. Max 70 characters.
gtinStrongly recommended when a manufacturer GTIN existsA missing GTIN limits visibility; a wrong one can disapprove the product. Must pass GS1 validation.
mpnRequired only if there is no GTINManufacturer's number only.
identifier_existsOptionalno for custom or private-label products with no GTIN or MPN.
conditionRequired for used and refurbishedOptional for new products.
color, gender, age_groupRequired for apparelShopping ads in the US, UK, Germany, France, Japan, Brazil; free listings in every country.
sizeRequired for clothing and shoesSame countries.
item_group_idRequired for variantsSame countries; use the parent SKU.
shippingRequired in the USAccount-level shipping settings also satisfy it.
taxNo longer required in the USDropped July 1, 2025.

Sources: the product data specification, condition, gender, Incorrect GTIN, and the 2025 specification update.

  • product_type: your own category path (Women > Tops > Linen Shirts), up to 750 characters; a bidding dimension in Shopping and PMax.
  • google_product_category: Google's taxonomy ID; it decides whether apparel rules apply.
  • additional_image_link (up to 10) and sale_price (member prices can't go in price or sale_price since July 1, 2025; use loyalty_program).
  • product_highlight (2 to 100 facts, 150 characters each) and product_detail (up to 100 specs).
  • custom_label_0 to custom_label_4: covered below.

Feed sources and update frequency

  • Shopify's Google & YouTube app syncs every available product and keeps it in sync (Google Merchant Center Help). Fine for required fields; titles are the Shopify product title or SEO title as written, and margin- or velocity-based custom labels usually need a supplemental source.
  • File, scheduled fetch or Google Sheets: built by a feed tool or script.
  • Merchant API: the programmatic route. The Content API for Shopping reached its sunset on August 18, 2026, fails intermittently from September 1, 2026 (unless Google granted an extension) and shuts down in early 2027 (Google for Developers, 2026).
  • Supplemental data source: matched on id, adds or overrides attributes, and "can't be used to add or remove products" (Google Merchant Center Help).

How often should the feed update? "All products expire from your Merchant Center account 30 days after the last refresh" (Google Merchant Center Help). Refresh price and availability at least daily, more often during sales. Automatic item updates, on by default, correct price and availability from the landing page (Google Merchant Center Help), but only after the drift happened.

Why are products disapproved in Merchant Center?

Each of these can disapprove the product. A GTIN that is missing (rather than wrong) only limits visibility (Google Merchant Center Help).

Issue in Merchant CenterCauseFix
Mismatched product price (page crawl)Feed price differs from the page, often after a sale starts or endsPut the price in the initial HTML, not JavaScript; set sale_price_effective_date with the right timezone; check markup in the Rich Results Test
Mismatched value (page crawl) availabilityStock changed between fetchesCompare the same variant in Final Attributes and on the page; refresh daily
Incorrect GTINGTIN from another productUse only the manufacturer's GTIN
Promotional overlay on imageBadge, watermark or sale text on the main imageClean image, or turn on automatic image improvements
Unavailable desktop landing page404, too many redirects, 5xx or connection errorsCheck the URL loads on desktop; test it with URL Inspection in Search Console (desktop fetch). A robots.txt block on Googlebot shows as a separate Robots.txt error
Missing value shippingNo shipping in feed or account settingsSet shipping in Merchant Center or the shipping attribute
Missing value color, gender, age_group, sizeApparel variants not mappedMap variant options; fill gaps in a supplemental source
Products not refreshed in 30 days (expired)Feed stopped updatingSchedule the fetch; check the app is connected

Product feed optimization: a title formula per category

Google's rule: put the most important details first, because "users will usually notice only the first 70 or fewer characters of your title," and use all 150 characters for matching (Google Merchant Center Help).

CategoryTitle patternExample
ApparelBrand + gender + product type + key attribute + color + sizeBrand Women's Linen Shirt, Relaxed Fit, Sage, Size M
ShoesBrand + gender + model + type + color + sizeBrand Men's Trail 2 Running Shoes, Black, Size 10
Skincare and beautyBrand + product type + key ingredient or concern + sizeBrand Vitamin C Serum with Ferulic Acid for Dark Spots, 1 fl oz
SupplementsBrand + product + form + count + dietary claim on the labelBrand Magnesium Glycinate Capsules, 120 Count, Vegan
Home goodsBrand + product type + material + dimensions + colorBrand Weighted Blanket, Cotton, 60 x 80 in, 15 lb, Grey
Food and drinkBrand + product + flavor + size or pack countBrand Ceremonial Matcha Powder, Unsweetened, 30 g Tin
Electronics accessoriesBrand + product type + model + compatibility + colorBrand MagSafe Phone Case for iPhone 17, Clear

Illustrative examples. The title must match the landing page, so change both. If your brand is unknown, move it after the product type. Keep supplement claims to what is on the label.

Custom labels: tie bids to margin, velocity and season

Custom labels are five private free-text fields. Google allows up to 1,000 unique values per label and one value per product, and lists season, clearance, sales performance, price range, profit margin and release year as typical uses (Google Merchant Center Help). They become product groups in Standard Shopping and listing-group filters in Performance Max, so each margin bucket can get its own campaign with its own tROAS (asset groups and product groups inside one campaign share its target).

A product's break-even ROAS is 1 ÷ its contribution margin, so one tROAS across the catalog is wrong for most of it:

Contribution marginBreak-even ROASBucket
20%5.0×margin_low
30%3.33×margin_mid
40%2.5×margin_mid
50%2.0×margin_mid
60%1.67×margin_high

Bar chart: break-even ROAS by contribution margin: 20% margin needs 5.00×, 30% needs 3.33×, 40% needs 2.50×, 50% needs 2.00×, 60% needs 1.67×.

Break-even ROAS = 1 ÷ contribution margin, colored by margin bucket. Source: arithmetic; our break-even ROAS guide covers which costs belong in the margin.

LabelValuesHow to bid
custom_label_0: marginmargin_low (<30%), margin_mid (30–50%), margin_high (>50%)Separate campaign per bucket, tROAS at or above break-even
custom_label_1: velocitybestseller, core, no_sales_90dOwn budget for bestsellers; a fixed test period for no_sales_90d, then exclude
custom_label_2: seasonin_season, off_season, evergreenRaise budget for in_season ahead of peak; restrict off_season
custom_label_3: price bandunder_25, 25_75, over_75Watch CPC vs AOV; consider excluding items priced below your typical cost per conversion
custom_label_4: stockclearance, low_stock, new_arrivalPush clearance; exclude when stock falls below N units; ring-fence new_arrival

Thresholds are illustrative; use your own margins. Every split divides conversion data and Smart Bidding needs volume to learn: start with the margin label alone and regenerate labels from live cost data.

A Google Shopping feed audit checklist

Run it monthly and after any theme, app or pricing change.

CheckWhere to lookPass condition
Disapproved and limited productsMerchant Center > Products > Needs attentionUnder 2% of active SKUs, none among bestsellers
Price and availability driftMismatched value issuesZero; feed refreshed in the last 24 hours
IdentifiersGTIN coverage on branded productsEvery product with a manufacturer GTIN sends it
TitlesTop 50 products by spendKey attribute in the first 70 characters; matches the page
Apparel attributesApparel variantscolor, size, gender, age_group, item_group_id present
ImagesMain image per productClean shot, no overlays
Custom labelsListing groups in Google AdsEvery product in exactly one margin bucket
Conversion dataGoogle Ads conversionsOne primary purchase action with values; GA4 purchase matches orders

The 2% threshold is our working rule, not Google's.

For the conversion row, our guide to GA4 ecommerce events covers the purchase event setup. The feed is one of several checks in our Google Ads optimization checklist for DTC. Catalogs with thousands of variants or several markets usually need a Google Shopping ads agency; we run feed audits and custom-label builds within our paid advertising service.

FAQ

Written by

Founder & CEO, Marketing Bar

Built Marketing Bar in LA after a decade in performance and analytics. Sets agency strategy, owns every client outcome, and keeps the bar high.

Share