Google Shopping is the single largest discovery surface for branded product ads — listings appear across Google Search, the Shopping tab, Performance Max campaigns, YouTube, and Google Display Network. FeedArc generates a Google Merchant Center–compliant RSS 2.0 feed with the `xmlns:g` namespace, automatically validates every product against Google's required and recommended fields, and corrects the most common rejection causes before your feed reaches Merchant Center. The XML schema below is verified against the live Google Merchant Center specification (last checked 2026-05-20) and the same output is consumed by Performance Max asset groups, Free Listings, and Local Inventory Ads from a single feed URL — no duplicate setup. If you already publish to Meta Catalog, Amazon, TikTok Shop, or Criteo through FeedArc, your Google Shopping feed reuses the same product catalog with channel-specific transformations applied at export time.
Last updated
Google Shopping requires an RSS 2.0 XML feed with the `xmlns:g="http://base.google.com/ns/1.0"` namespace. Each `<item>` represents one product or variant. FeedArc generates this format directly — no manual conversion needed.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>FeedArc Demo Feed</title>
<link>https://feedarc.com</link>
<description>Generated by FeedArc</description>
<language>en</language>
<item>
<g:id>SKU-1042</g:id>
<g:title>ASICS Gel-Nimbus 25 Running Shoes — Mens</g:title>
<g:description>Premium long-distance running shoe with FF Blast Plus cushioning.</g:description>
<g:link>https://example.com/shoes/gel-nimbus-25</g:link>
<g:image_link>https://example.com/cdn/gel-nimbus-25.jpg</g:image_link>
<g:price>189.00 EUR</g:price>
<g:availability>in_stock</g:availability>
<g:condition>new</g:condition>
<g:brand>ASICS</g:brand>
<g:gtin>4550456987123</g:gtin>
<g:google_product_category>187</g:google_product_category>
<g:product_type>Footwear > Running > Road</g:product_type>
</item>
</channel>
</rss>idUnique product identifier — stable across feed updates. Max 50 chars.
titleProduct name with brand and key attributes. Max 150 characters (FeedArc auto-truncates).
descriptionPlain-text product description. Max 5000 characters (FeedArc auto-truncates).
linkCanonical landing-page URL. Must match the verified domain in Merchant Center.
image_linkPrimary product image URL. Minimum 100×100 pixels (Google rejects smaller).
pricePrice with ISO 4217 currency suffix, e.g. "189.00 EUR". VAT included for EU markets.
availabilityOne of: in_stock, out_of_stock, preorder, backorder.
title150 charactersdescription5000 charactersproduct_type750 charactersimage_linkmin 100×100 pxpromotion_idmax 10 IDs, 50 chars/IDGoogle Shopping is not a single placement — it is the underlying product layer for the entire Google ads ecosystem. The same feed powers organic discovery, paid Shopping ads, Performance Max asset groups, and YouTube product extensions. Five capabilities make it strategically different from marketplace channels:
Since 2020, Google Shopping shows organic product results alongside paid ads at no cost per click. A Merchant Center–approved feed is the only requirement — no ad budget needed to appear.
Performance Max campaigns consume the same product feed as Shopping ads. A single FeedArc feed feeds asset groups across Search, Display, YouTube, Discover, Gmail, and Maps simultaneously.
The `cost_of_goods_sold` field unlocks gross-profit reporting and ROAS-based bidding in Google Ads. FeedArc supports this field with built-in validation (must be greater than zero and less than price).
Add or override specific attributes (custom labels for bid strategies, supplementary GTINs, country-specific titles) without touching the primary feed. FeedArc generates supplemental feeds as a separate output your team can manage independently.
The `promotion_id` field links products to Merchant Center promotions (e.g. "10% off footwear"). FeedArc validates the comma-separated list against Google's constraints (max 10 IDs, 50 chars/ID, alphanumeric + underscore + hyphen) before export.
Google supports five `custom_label_0` … `custom_label_4` slots per product, free-form text used in Smart Shopping and Performance Max bid strategies. FeedArc populates these from GA4 segments (Hero/Sidekick/Zombie classification, margin tiers, seasonality flags) automatically — without writing SQL or manual labelling for thousands of SKUs.
For omnichannel retailers, Google supports a secondary `local_inventory` feed that maps in-store stock to each `store_code`. FeedArc generates this as a separate output keyed off your store-locator data, so the same Google Shopping listing can show "available in your local store" without rebuilding the primary feed.
FeedArc connects to Google Merchant Center via OAuth — no API keys or manual file uploads. Once authorised, your feed regenerates on your plan's schedule and Google reads it directly from the FeedArc-hosted URL.
In FeedArc Dashboard → Channels, click Connect on the Google Shopping tile. You will be redirected to Google's OAuth consent screen. FeedArc requests only the Content API for Shopping scope (no broader Google account access).
Choose which products to include (all, by category, by collection, or by custom filter). FeedArc applies the channel's pre-configured rules automatically: title truncation to 150 chars, description truncation to 5000 chars, and category auto-mapping to Google's taxonomy.
FeedArc shows you a live XML preview with row-level validation warnings: missing GTINs, length overruns, invalid prices, and any field that violates Google's spec. Fix issues in-app or with transformation rules before pushing to Merchant Center.
Copy the FeedArc-hosted feed URL (`https://feedarc.com/api/feeds/{id}`) and paste it into Merchant Center → Products → Feeds → Add primary feed. Google fetches the URL on the schedule you choose (daily, hourly, every 15 minutes, or every 5 minutes depending on plan).
End-to-end setup from a fresh Google account to your first approved feed. Typical timeline: 30–90 minutes for steps 1–5, then 1–3 days for Merchant Center's initial review and product approval.
Sign in at merchants.google.com with a Google account that has full admin rights. Choose your business country and primary feed language — these are hard to change later.
Merchant Center requires proof that you own the domain in the `link` field of every product. Verify via DNS TXT record, HTML meta tag, or Google Tag Manager, then claim the URL. Without verification, your feed will not pass review.
In your FeedArc dashboard, open Channels and click Connect on the Google Shopping tile. Authorise the Content API for Shopping scope — FeedArc requests no other permissions on your Google account.
Choose where products come from (Shopify, WooCommerce, Magento, CSV upload, or any FeedArc connector). Set currency, country, and language to match your Merchant Center account exactly. Mismatched settings cause silent product rejection.
FeedArc auto-applies three rules for Google Shopping: TAXONOMY_AUTO_MAP (Google categories), TRUNCATE title (150 chars), TRUNCATE description (5000 chars). Add custom rules for your own brand and category normalisation.
In Merchant Center → Products → Feeds → Add primary feed, paste the FeedArc-hosted URL (`https://feedarc.com/api/feeds/{your-feed-id}`). Choose a fetch schedule — start with daily, then increase frequency as your catalog stabilises.
After Google's first fetch (typically within an hour), open Products → Diagnostics. Review item-level errors and warnings. FeedArc's pre-export validation catches most issues, but country-specific policy disapprovals only surface here.
The five most common Google Shopping disapprovals — and how FeedArc prevents them before your feed reaches Merchant Center. Every check below corresponds to a real validation routine in our source code (see lib/feed-generators/validation.ts). A clean feed is the floor, not the ceiling: once products are approved, product feed optimization — better titles, correct categories, custom labels — is what wins impressions and clicks in Shopping.
Cause: Google rejects items lacking any of the seven required fields. The most common cause is an empty title in your e-commerce store or a price stored as zero/null.
FeedArc solution: FeedArc blocks products with empty id, title, or price at validation time — they never enter the feed. Set fallback values in your import settings or fix the source data.
Cause: Google enforces 150 characters for title and 5000 for description. Long titles from imported catalogues often exceed this and get truncated unpredictably by Google's own pipeline.
FeedArc solution: FeedArc applies a TRUNCATE rule to both fields by default (configured in the GOOGLE_SHOPPING preset). Use AI Optimization to rewrite titles to a target length instead of truncating mid-word.
Cause: Many stores import GTINs as free-text without validating the GS1 modulo-10 checksum. Google rejects any GTIN whose check digit is wrong, even by one position.
FeedArc solution: FeedArc validates every GTIN with the full GS1 algorithm (EAN-8, UPC-12, EAN-13, GTIN-14) and warns on invalid checksums before export. Products with broken GTINs are flagged in the dashboard.
Cause: Without a Google category, your product cannot enter most ad formats — and bidding is severely limited. Manual mapping for thousands of SKUs is impractical.
FeedArc solution: FeedArc's TAXONOMY_AUTO_MAP rule infers the correct Google category from your product's name, description, and existing category path with a configurable confidence threshold (default 40%). Low-confidence matches are surfaced for manual review.
Cause: Google fetches every image URL during feed processing. CDN authentication, hot-link protection, mixed-content HTTP URLs, or broken links cause silent product suppression.
FeedArc solution: FeedArc batch-checks every image URL via HEAD requests during validation, surfaces 4xx/5xx responses, and warns on HTTP-only links that Google rejects in EU markets.
Google enforces different policies depending on the country your feed targets. The following requirements are documented in Google Merchant Center policy and apply at the product level.
Price must include VAT. The `price` field is the final consumer price the buyer pays at checkout. FeedArc supports per-country price overrides for cross-border merchants.
Price excludes sales tax — tax is calculated at checkout. The `tax` field is used to declare nexus states. FeedArc emits `tax` only when configured for US targeting.
Branded products in these markets must include a valid GTIN. Unbranded products (`identifier_exists: false`) are exempt. FeedArc warns on missing GTIN when the brand field is populated.
GB feeds are separate from EU feeds — currency in GBP, VAT in price, EORI number on shipping declarations. FeedArc supports country-specific feeds with independent currency and language settings.
The `shopping_ads_excluded_country` attribute lets you list ISO 3166-1 alpha-2 codes (e.g. `US,CA,UK`) where a product must not appear, even if the rest of the feed targets those countries. Useful for licence-restricted SKUs.
Adult products require the `adult: yes` flag. Alcohol requires `excluded_destination: Shopping_ads` in some markets. Healthcare-related items face additional scrutiny — Merchant Center may request documentation.
Romanian feeds use RON in the `price` field with VAT (19% default) included. Google Merchant Center for Romania accepts both `ro` and `en` as `content_language` — but the descriptions must match the language declared. FeedArc auto-derives currency and VAT inclusion from the shop's country setting; you don't configure these per feed.
How AI is reshaping product feed management — from AI-generated titles in 7 languages to vision-based image quality, taxonomy mapping, GTIN validation, and POAS signals.
A diagnostic guide to Google Merchant Center disapprovals: the 12 most common causes, how to fix each one, and how to stop them recurring before re-upload.
Why Google Merchant Center suspends accounts (misrepresentation, policy), how to fix the root cause, complete verification, request a review, and avoid the cool-down trap.
How to turn a valid product feed into one that wins clicks and sales: title structure, complete attributes, custom labels, and error fixes across every channel.
The exact XML format Google Shopping requires — RSS 2.0 envelope, required g: attributes, a copy-ready example feed, and how to build and validate it by hand.
Import your products, optimize with AI, and generate a validated XML feed — free to start.
Create free account