Key Takeaways
- Google Shopping is not a direct upload your products go through Google Merchant Center first, then surface in Shopping ads.
- 19 attributes matter for Google Shopping; 10 of them are mandatory for most product types.
- Product titles are the single highest-impact attribute for click-through rate and ad ranking most store owners underestimate this.
- GTINs (EANs/UPCs) are required for all branded products. Missing them does not always cause disapproval, but it consistently reduces visibility.
- A manually managed feed decays: prices change, products go out of stock, and Google penalises stale data. Automated sync is not optional at scale.
- WooCommerce and Shopify native export tools are a starting point, not a complete solution.
Google Shopping drives over 85% of all retail paid search clicks in most European markets. For online merchants selling physical products, it is typically the highest-volume paid acquisition channel available and the quality of your product feed determines how much of that traffic you actually reach.
This guide covers everything you need to set up a Google Shopping feed from a WooCommerce or Shopify store: what a feed is, which attributes Google requires, how to get your feed into Google Merchant Center, what errors to fix, and how to keep your feed performing over time. If you are setting this up for the first time, work through the sections in order. If you are troubleshooting an existing feed, jump to the error reference table.
What is a product feed and why does Google Shopping require one?
A product feed is a structured data file that describes every product in your catalog: its name, price, description, availability, images, and a set of channel-specific attributes. Google Shopping uses this file to match your products to buyer search queries and to populate your Shopping ads with accurate information.
Google does not crawl your webshop to gather product data the way it crawls for organic search. Instead, it reads a feed file you submit or a feed URL that refreshes automatically. That file is the single source of truth for every Shopping ad you run. If your feed says a product costs €49.99 but your webshop says €54.99, your ad gets disapproved. If your feed says a product is in stock when it has sold out, your landing page fails and your account can receive a policy warning.
This is why feed quality is not a technical detail it is the foundation of your Shopping campaign performance.
What format does a Google Shopping feed need to be in?
Google Merchant Center accepts product feeds in three formats. The right choice depends on your catalog size, how often you update, and what your platform can export.
- XML (recommended): The most flexible format. Supports all attributes, handles special characters cleanly, and is the preferred format for automated feed management tools. Most feed platforms output XML.
- CSV / TSV (tab-separated): Simpler to generate manually or from a spreadsheet. Works well for smaller catalogs with fewer than 1,000 SKUs. Column headers map directly to Google attribute names.
- Google Sheets: Useful for very small stores or initial testing. You create a spreadsheet with Google-defined column headers and link it to Merchant Center. Not practical for frequent updates.
For any store with more than 200 products or a catalog that changes frequently (pricing, promotions, stock), XML delivered via a scheduled feed URL is the right choice. It allows your feed management tool to push updates to Google Merchant Center automatically, without any manual steps.
What product attributes does Google Shopping require and which ones improve performance?
Google defines a precise set of attributes for Shopping feeds. Some are mandatory for all products, some are mandatory only for certain categories, and others are optional but consistently improve ad performance and CTR. The table below covers all 19 attributes you need to understand.
| Attribute | Status | What It Does | Key Notes |
| id | Required | Unique product identifier from your store | SKU or internal product ID |
| title | Required | Product name shown in Shopping ads | “Men’s Running Shoes Nike Air Zoom Size 42” |
| description | Required | Full product description (up to 5,000 chars) | Include key features, materials, use cases |
| link | Required | URL of the product page on your webshop | Must match the landing page exactly |
| image_link | Required | URL of main product image | Min 100×100 px; 800×800+ recommended |
| price | Required | Price shown to the buyer, including VAT | Must match the price on the landing page |
| availability | Required | in_stock / out_of_stock / preorder | Updated with every feed refresh |
| brand | Required (most) | Manufacturer or brand name | Required for all branded products |
| gtin | Required (most) | Barcode: EAN, UPC, ISBN, or JAN | Mandatory for products with a manufacturer GTIN |
| mpn | Conditional | Manufacturer Part Number (if no GTIN) | Use when GTIN genuinely does not exist |
| condition | Required | new / refurbished / used | Most products: new |
| google_product_category | Strongly recommended | Google’s taxonomy ID for your product type | Affects which searches your ad appears in |
| product_type | Recommended | Your own internal category path | Useful for campaign segmentation in Google Ads |
| additional_image_link | Recommended | Up to 10 extra product images | Improves CTR on Shopping ads |
| sale_price | Optional | Discounted price (if product is on sale) | Must be lower than price attribute |
| shipping | Recommended | Shipping cost and time for the target country | Required in some countries; boosts CTR when shown |
| color | Recommended (fashion) | Product colour | Required for apparel in most markets |
| size | Recommended (fashion) | Product size | Required for apparel in most markets |
| item_group_id | Recommended | Groups product variants under one parent | Allows Google to show the best variant per query |
A practical note on GTINs: Google requires a valid GTIN (EAN, UPC, ISBN, or JAN) for all products that have one assigned by the manufacturer. If your product is genuinely unbranded or custom-manufactured and has no GTIN, you can set identifier_exists to FALSE and skip the gtin attribute. Do not fabricate GTINs Google’s validation system cross-checks them against manufacturer databases and will flag incorrect values immediately.
How do you export a product feed from WooCommerce?
WooCommerce does not include a native Google Shopping feed export. Out of the box, WooCommerce can export a basic CSV of your products but that CSV does not include Google-required attributes like gtin, google_product_category, or condition, and it has no mechanism to push updates to Google Merchant Center automatically.
Option A: Manual CSV export (smallest stores only)
For stores with fewer than 50 products and a stable catalog, a manual workflow is technically possible:
- Go to WooCommerce > Products > Export in your WordPress dashboard.
- Select all columns and export the CSV.
- Open the CSV and add the required Google columns manually: id, gtin, google_product_category, condition, availability.
- Save the file and upload it to Google Merchant Center.
- Repeat every time prices, stock, or products change.
This is error-prone and time-consuming. A single pricing update that you forget to export means your ads are running with the wrong price which triggers a disapproval and wastes ad spend until you fix it.
Option B: WooCommerce plugin (medium stores)
Several WooCommerce plugins can generate a Google Shopping feed and schedule automatic updates. The most commonly used options are:
- WooCommerce Google Product Feed by WP Robot
- Product Feed PRO by AdTribes
- ELEX WooCommerce Google Product Feed Plugin
These plugins connect directly to your WooCommerce product database and generate an XML or CSV feed on a schedule. Most support basic attribute mapping, but their update frequency is typically limited to once per hour or less and they offer limited support for custom attributes, variant handling, or channel-specific transformations.
Option C: Feed management platform (recommended for 200+ SKUs or multi-channel)
A dedicated feed management platform reads your WooCommerce product data directly via API and handles the full feed lifecycle: attribute mapping, transformation rules, GTIN assignment, variant grouping, and scheduled submission to Google Merchant Center. Update intervals can be set to every 5 or 15 minutes critical for stores running flash sales or managing volatile stock.
Koongo connects to WooCommerce via API and generates a Google Shopping-compliant feed with all required attributes mapped and a custom rules editor for transforming product titles, descriptions, and pricing per channel. No coding or manual CSV editing required.
How do you export a product feed from Shopify?
Shopify’s native product export generates a CSV with your product data, but like WooCommerce, it does not produce a Google Shopping-ready feed. It lacks mandatory attributes like gtin, google_product_category, and condition, and it has no built-in sync mechanism with Google Merchant Center.
Option A: Google & YouTube app (Shopify’s native channel)
Shopify’s official Google & YouTube sales channel connects your store to Google Merchant Center and synchronises your product catalog automatically. For small stores with simple catalogs, this is the fastest way to get started:
- Install the Google & YouTube channel from the Shopify App Store.
- Connect your Google Merchant Center account (or create one).
- Map your Shopify product types to Google categories.
- Enable automatic sync Shopify pushes updates to GMC when products change.
The limitation: Shopify’s native sync gives you limited control over attribute transformation. You cannot easily write rules to modify titles, split variant feeds, apply conditional pricing, or manage custom attribute values per product. For a catalog with branded products, complex variants, or multiple target countries, this quickly becomes a constraint.
Option B: Feed management platform (recommended for 300+ SKUs or multi-channel)
For Shopify merchants managing a larger catalog, selling across multiple channels, or running performance marketing campaigns that depend on feed quality, a dedicated feed management platform gives you the control that Shopify’s native channel does not.
The comparison between native exports and a feed management platform is consistent across both platforms:
| Capability | WooCommerce Native | Shopify Native |
| Feed format | XML (basic plugin) or CSV | CSV or third-party app |
| GTIN / EAN support native | No requires plugin | No requires app or metafield setup |
| google_product_category mapping | Manual per product | Manual per product |
| Auto-sync to GMC | No manual re-upload required | No manual re-upload required |
| Update frequency (native) | Manual only | Manual only |
| Variant support | Partial depends on plugin | Partial limited without app |
| Custom attribute rules | No | No |
| Feed management via Koongo | Full automated sync every 5–60 min | Full automated sync every 5–60 min |
🔗 [Source: Shopify Help Center: Set up Google Shopping and manage your product feed]
How do you set up Google Merchant Center and submit your feed?
Google Merchant Center (GMC) is the platform where your product feed lives and where Google validates your data before showing your ads. You need a GMC account before any of your products can appear in Shopping results.
Step 1: Create your Merchant Center account
- Go to merchants.google.com and sign in with your Google account.
- Enter your business name and website URL.
- Agree to the Merchant Center terms of service.
- Complete your business information: phone number, address, and the countries you sell in.
Step 2: Verify and claim your website
Google requires you to prove you own the domain you are listing products from. There are four methods:
- Add an HTML tag to your homepage <head> section.
- Upload an HTML file to your web server root.
- Add a Google Analytics tracking code (if already installed).
- Add a Google Tag Manager container (if already installed).
For WooCommerce stores, the Google Site Kit plugin or a Tag Manager container are the fastest methods. For Shopify, the Google & YouTube app handles verification automatically if you install it.
Step 3: Configure shipping and tax settings
Your Merchant Center shipping settings must accurately reflect your actual shipping costs and delivery times. Inaccurate shipping information leads to policy violations and poor user experience.
- Set up shipping services for each country you sell in, including carrier, estimated delivery time, and cost structure (free, flat rate, or calculated).
- For EU merchants, VAT must be included in the price attribute do not use the pre-tax price.
- If you offer free shipping above a threshold (e.g. free over €50), configure this as a conditional shipping rule in GMC settings.
Step 4: Submit your product feed
In Merchant Center, navigate to Products > Feeds > Add feed. You have three submission options:
- Scheduled fetch (recommended): Enter your feed URL and set a refresh schedule. GMC fetches a new version of the feed at the interval you define. This is the standard approach for automated feed management platforms.
- Manual upload: Upload a feed file directly. Requires you to re-upload every time your catalog changes. Not practical for active stores.
- Google Sheets: Link a Google Sheets document. Works for very small or static catalogs.
After submission, GMC processes your feed typically within a few hours for new accounts, faster for established ones. It will show you a breakdown of approved products, products with warnings, and disapproved items with specific error codes.
Step 5: Connect Merchant Center to Google Ads
Once your products are approved in GMC, you link your Merchant Center account to your Google Ads account to start running Shopping campaigns. In Merchant Center, go to Settings > Linked accounts > Google Ads and follow the linking process. Your approved products become available for Shopping campaigns immediately after the link is active.
What are the most common product feed errors and how do you fix each one?
Google Merchant Center categorises feed issues as Errors (which cause disapproval), Warnings (which reduce performance but do not always disapprove), and Notifications (informational). The table below covers the 10 errors responsible for the majority of Shopping campaign disruptions.
| Error Type | Severity | What Happens | Fix |
| Missing GTIN | High | Product disapproval or reduced visibility | Add EAN/UPC from manufacturer; request GTIN exemption if genuinely absent |
| Price mismatch | Critical | Immediate disapproval; account warning | Ensure feed price matches your webshop landing page exactly, including VAT |
| Landing page unavailable | Critical | Disapproval; crawl error in GMC | Check for broken URLs, geo-blocking, or robots.txt blocking Google’s crawler |
| Missing required image | High | Product not shown in Shopping | Ensure image_link is a direct image URL, not a page URL |
| Low-quality image | Medium | Lower CTR; potential disapproval | Use 800×800 px minimum; white or plain background; no watermarks |
| Mismatched availability | High | Disapproval + poor user experience | Sync availability attribute with real-time stock; update feed every 15–60 min |
| Incorrect google_product_category | Medium | Ads shown for wrong queries; low ROAS | Use Google’s official taxonomy; map each product category to the closest match |
| Title too generic | Medium | Low click-through rate; poor ranking | Include brand + key attributes in title (see title optimisation section) |
| Shipping not specified | Low–Medium | Ads may not show in some countries | Add shipping attribute or configure shipping in GMC settings |
| Promotional text in title/description | High | Immediate disapproval | Remove phrases like ‘Free shipping!’, ‘20% off’, ‘Best price’ from attributes |
A practical workflow for resolving feed errors: In GMC, go to Products > Diagnostics. Filter by error type and download the affected product list. Fix the root cause in your feed source (your store data or feed mapping rules), then trigger a feed refresh. GMC re-evaluates products as soon as it fetches the updated feed typically within a few hours.
🔗 [Source: Google Merchant Center Help: fix disapproved products and item issues]
How do you write product titles that rank higher and get more clicks in Google Shopping?
The product title is the most influential attribute in a Google Shopping feed. It determines which search queries your ad matches, where your ad ranks relative to competitors, and whether a buyer clicks on your ad or the one next to it. Most stores underestimate this and default to whatever title they use on their webshop which is almost always suboptimal for Shopping.
The recommended title structure for Google Shopping
Google recommends including the most important product information at the start of the title, since Shopping ads truncate titles on smaller screens. The general formula is:
Brand + Product Type + Key Attributes (colour, size, material, model) + Variant-specific detail
Key rules to follow:
- Front-load the most specific information. Buyers scan titles fast put brand and product type first.
- Include the exact search terms your buyers use. Use Google Search Console or Keyword Planner to identify common search phrases for your product type.
- Keep titles between 70-150 characters. GMC allows up to 150 characters, but Shopping ads typically display 70-100 characters on desktop and 35-55 on mobile.
- Never include promotional text in the title (“20% off”, “Free delivery”, “Best price”). These trigger immediate disapproval.
- For apparel and fashion, always include colour, size, and gender in the title these drive variant-level matching.
Real examples of weak titles versus optimised alternatives:
| Product Category | Optimised Title Example |
| Running shoes | Nike Air Zoom Pegasus 41 Men’s Running Shoes Blue/White Size 42 |
| Coffee maker | De’Longhi Magnifica Evo Automatic Espresso Machine 1450W Black |
| Children’s book | The Very Hungry Caterpillar Eric Carle Hardcover Picture Book Ages 2–5 |
| Laptop | Apple MacBook Air 15″ M3 Chip 8GB RAM 256GB SSD Midnight |
| Garden chair | Hartman Sophie Rondo Garden Chair Aluminium Stackable Charcoal |
| Yoga mat | Manduka PRO Yoga Mat 6mm Non-Slip 180×61 cm Black |
The difference in performance between a generic and optimised title is measurable. In split tests run by Google Shopping advertisers, title optimisation alone has improved CTR by 15–30% on competitive product categories. At scale, that is a significant reduction in cost-per-click for the same number of buyer impressions.
How often should you refresh your product feed and what happens if you do not?
Google recommends refreshing your product feed at least once every 24 hours. In practice, for any active store, that is not enough. Here is what happens when your feed falls behind your actual store data:
- Price changes in your store are not reflected in the feed. Google detects the mismatch between your feed price and landing page price and disapproves the product.
- A product sells out, but the feed still says in_stock. Google shows your ad, a buyer clicks, arrives at an out-of-stock page, and leaves. You pay for the click with zero conversion. Your Quality Score deteriorates.
- A new product you published this morning will not appear in Shopping ads until your next scheduled feed fetch potentially 24 hours later.
The table below shows recommended update intervals by situation:
| Situation | Recommended Interval | Reason |
| Flash sale / time-limited offer | Every 5-15 minutes | Price changes must reflect immediately to avoid mismatch disapprovals |
| Active store with daily sales | Every 15-30 minutes | Prevents overselling; keeps availability attribute accurate |
| Stable catalog (price/stock rarely changes) | Every 60 minutes | Acceptable baseline; still faster than most native export tools |
| Seasonal / large catalog (5,000+ SKUs) | Every 15-60 min (segmented) | Prioritise high-velocity SKUs; stagger large feeds to avoid crawl limits |
| Post-launch / new product additions | Immediately on publish | Trigger manual feed push or use real-time feed URLs |
Most native WooCommerce plugins and Shopify apps support hourly or daily updates at best. A dedicated feed management platform gives you full control over sync frequency including 5-minute intervals for high-velocity promotions or flash sales.
What is feed segmentation and why does it improve your return on ad spend?
Feed segmentation means splitting your product catalog into separate feeds or groups based on criteria like margin, category, seasonality, or stock level and applying different campaign strategies to each group. It is one of the highest-impact optimisations available to experienced Google Shopping advertisers, yet almost no beginner guide covers it.
Why it matters: Google Shopping campaigns bid at the product group level. If you send all 2,000 SKUs into a single campaign with a flat target ROAS, high-margin products compete for budget with low-margin ones, and your overall ROAS averages out to something mediocre. Segmentation lets you assign higher bids to your best-margin products and suppress or exclude the ones that consistently lose money.
Common segmentation strategies
- By margin tier: Products with gross margin above 40% go into a high-priority campaign with aggressive bidding. Products below 20% margin go into a low-priority campaign or are excluded entirely.
- By category: Electronics, apparel, and home goods have different average CPCs and conversion rates. Separate campaigns let you tune bids per category.
- By brand: Your own branded products vs. third-party brands you resell. Branded searches typically convert at higher rates and lower CPCs.
- By availability: Exclude out-of-stock products from active campaigns automatically this prevents wasted spend on clicks that cannot convert.
- By seasonality: Create seasonal feeds for products that only make sense to advertise during specific periods (e.g. garden furniture in spring/summer, winter clothing in autumn).
Feed segmentation is implemented through your feed management tool’s filtering and custom label features. Google’s custom_label attributes (custom_label_0 through custom_label_4) let you tag products with arbitrary values (e.g. “high-margin”, “seasonal”, “clearance”) and then use those labels to structure your Google Ads campaigns.
In Koongo’s rules editor, you can assign custom labels based on any product attribute in your WooCommerce or Shopify store product category, price range, stock quantity, tags, or a combination without writing any code.
How do you monitor feed health and keep your Shopping campaigns running without interruptions?
A product feed is not a one-time setup it is a live data system that requires ongoing attention. Google Merchant Center will not proactively alert you when a large portion of your catalog becomes disapproved. You need to check it regularly, or set up monitoring that does it for you.
What to check in Google Merchant Center
- Products > Diagnostics: Your primary dashboard for feed health. Shows errors, warnings, and affected product counts. Check this weekly at minimum, daily during promotions or after catalog changes.
- Products > All products: Drill into disapproved items and identify patterns. If 80% of disapprovals share the same error type, fixing that one issue restores the majority of your active listings.
- Growth > Manage programs: Ensure your Surfaces across Google and Shopping ads programs are both active.
- Performance > Dashboard: Monitor impressions, clicks, and click-through rate over time. A sudden drop in impressions often signals a feed issue that triggered disapprovals, even if you have not received an explicit error notification.
Proactive monitoring with your feed platform
Most feed management platforms include alerting features: email notifications when your error rate exceeds a threshold, or when a feed fetch fails entirely. Setting these alerts up takes five minutes and can prevent hours of lost ad impressions.
A practical checklist for feed health:
- Weekly: Review GMC Diagnostics. Note any new error types that appeared since last week.
- After every sale event or promotion: Verify that sale prices in the feed match your landing page prices. Confirm out-of-stock products are being suppressed.
- After adding new products: Check that new SKUs appear in GMC within the expected feed refresh window and are approved without errors.
- Monthly: Review campaign performance segmented by product. Identify SKUs with high spend and zero conversions these are candidates for exclusion or bid reduction.
- Quarterly: Audit your Google product category mappings. Google updates its taxonomy periodically, and stale mappings can cause your products to appear in wrong search contexts.
Frequently Asked Questions
Do I need a Google Ads account to set up a Google Shopping feed?
You need a Google Merchant Center account to submit your feed and have your products validated. A separate Google Ads account is required to run paid Shopping campaigns. However, products can appear in organic Google Shopping results (the free listings on the Shopping tab) through Merchant Center alone, without running any paid campaigns. This is worth setting up even if you are not ready to run paid ads yet.
What is the difference between Google Shopping and Performance Max?
Google Shopping campaigns are manually structured campaigns where you control product groups, bidding, and targeting. Performance Max (PMax) is Google’s automated campaign type that uses machine learning to show your products across Search, Shopping, Display, YouTube, and Gmail simultaneously. PMax uses your product feed as its core data input which means feed quality matters even more with PMax, since the algorithm relies on your product data to determine when and where to show your ads.
How many products can I submit to Google Merchant Center?
Google Merchant Center accepts up to 150,000 products per feed file. If your catalog exceeds this, you can submit multiple supplemental feeds. Most SME merchants fall well within this limit.
Can I submit the same feed to Google Shopping and other channels?
Not directly each channel has its own data format and attribute requirements. A Google Shopping feed (XML or CSV formatted to Google’s spec) is not compatible with a bol.com or Zalando feed out of the box. Feed management platforms handle this by reading your product data once and transforming it into the correct format for each channel separately.
My products were approved in Merchant Center, but I cannot see them in Shopping results. Why?
Several things can cause this. Your Google Ads campaign may not be active, or your daily budget may be exhausted. Your bids may be too low to compete for visibility in your category. Your target country or language settings may not match the user’s location. New accounts can also take 24–72 hours before Shopping ads begin appearing at full volume while Google’s systems establish baseline data for your campaign.
What happens if my GTIN is wrong or I use a fake one?
Google cross-references submitted GTINs against manufacturer product databases. A GTIN that does not match any known product, or one that is associated with a different product than you are listing, triggers an error. Submitting intentionally incorrect GTINs is a policy violation and can result in account suspension. If your product genuinely has no GTIN, set identifier_exists to FALSE instead.
How do I handle product variants in my feed for example, a t-shirt in five colours and three sizes?
Google expects each variant to be its own row in the feed, with a shared item_group_id linking all variants of the same product. Each variant row should include the specific colour, size, and any other differentiating attribute, plus its own unique id, price, availability, and image_link. Google uses the item_group_id to display the most relevant variant for each search query, which improves click-through rates on apparel and configurable products.
Setting Up Your Feed Is the Start, Not the Finish
Getting your first Google Shopping feed live is a meaningful milestone. But the merchants who get the best results from Shopping campaigns treat their feed as a living asset something they refine continuously based on performance data, error reports, and evolving catalog changes.
The practical sequence is straightforward: export your product data in the correct format, map your attributes carefully (especially GTINs, titles, and google_product_category), submit your feed to Merchant Center, verify your domain, connect to Google Ads, and set up automatic sync so your feed stays current. Then monitor GMC Diagnostics weekly and use feed segmentation to concentrate your budget on your highest-margin products.
If you are managing more than 200 SKUs, or selling across Google Shopping and at least one other channel simultaneously, automating the feed lifecycle through a platform like Koongo removes the manual overhead entirely. Feeds update every 5 or 15 minutes, attribute mapping is handled through a no-code rules editor, and any feed errors are flagged before they cause campaign disruptions. You can start with Koongo’s free plan and connect your first channel to see how the setup works in practice.
Continue reading →