How to Build a Google Product Feed That Gets Approved
Build a Google Shopping feed that passes review first time. Learn the required fields, how custom labels work and how to manage the feed as you grow.
Build a Google product feed by exporting each sellable variant from your catalogue, mapping its fields to Google’s specification and connecting a maintained data source. Before submitting it, match prices and stock to the product pages and configure Australian delivery. Then use Merchant Center’s item results to confirm approval and correct rejected products.
A valid file alone doesn’t guarantee approval. Google also checks the website and shopping policies. If your account isn’t ready, start with the Merchant Center setup guide.
What a Google Product Feed Contains
A Google Shopping product feed contains one record per product or variant, with attributes describing what the customer can buy. A spreadsheet has a header row and product rows. An XML file uses product entries, while an application programming interface (API) sends structured product records directly.
Start from the catalogue that runs your store. Export the chosen products, turn each variant into its own record and map store fields to Google’s attribute names. Keep each id stable when a price or description changes.
Use Google’s attribute specification to check the requirements for your product category and destination. This separates the core fields from attributes that depend on what you sell.
| Attribute | What to supply | Requirement |
|---|---|---|
id | A stable identifier for this product or variant | Required |
title | The product name with its distinguishing variant | Required |
description | Facts about the product being sold | Required |
link | The purchasable product page | Required |
image_link | A crawlable image of that product | Required |
availability | The supported value matching current stock | Required |
price | The purchasable price and currency | Required |
brand | The actual product brand | Required for branded products, with category exceptions |
gtin | The manufacturer’s Global Trade Item Number (GTIN) | Supply an assigned identifier; requirements depend on destination |
mpn | The manufacturer part number (MPN) | Applies to products without a GTIN, subject to identifier exceptions |
condition | new, used or refurbished | Required for used and refurbished products |
For free listings, Google lists GTIN as required where the manufacturer assigned one. Don’t invent a barcode or put your stock keeping unit (SKU) in that field. Use the supplier’s identifier for the exact variant. Google’s GTIN guidance explains products without assigned GTINs.
Clothing and shoes need size for free listings. Other requirements depend on category, destination and variant structure, including color, gender, age_group and item_group_id. A product sold in two materials needs a way to distinguish those variants. Google’s individual attribute pages define those conditions.
Here is one hypothetical Australian product row in a tab-separated file. The fictional maker assigns an MPN but no GTIN. Its price includes goods and services tax (GST), and shipping is configured separately in Merchant Center. Replace the example URLs and values with your own product data.
id title description link image_link availability price brand mpn condition material product_type
MUG-BLUE-350 Cinder Studio blue ceramic mug 350 ml Handmade ceramic mug with a glazed blue finish and a 350 ml capacity. Dishwasher safe. https://example.com/products/blue-mug https://example.com/images/blue-mug.jpg in_stock 39.00 AUD Cinder Studio MUG-BLUE-350 new Ceramic Homewares > Drinkware > Mugs
product_highlight is optional. It holds short product selling points, such as a mug’s comfortable handle or stackable shape, where those facts are true. Google requires at least two entries when you submit this attribute. Its rules for short selling points exclude promotional prices and delivery claims. These concise facts also help a shopping agent explain a product when its catalogue import includes them.
Choose How to Submit Your Feed
Use a platform connection when your catalogue already contains the needed attributes. Use a file or spreadsheet when you need direct control over the submitted records.
| Method | Effort | Control | Maintenance |
|---|---|---|---|
| Platform app or extension | Configure the connection and field mappings | Depends on the connector’s mappings | Catalogue changes sync through the connector |
| Google Sheets | Create and maintain product rows | Direct control over each value | Staff must keep the sheet current |
| Uploaded or scheduled file | Export and format a supported file | Control over the complete feed | Upload replacements or schedule retrieval of a hosted file |
| Merchant API | Build and support an integration | Control over individual product submissions | Your integration must handle updates and failures |
For the file route, follow Google’s instructions for uploading feeds.
- Generate a supported tab-separated or XML file from the store catalogue.
- In Merchant Center, open Products and select Add products, then Add another product source.
- Choose Add products from a file and upload the file, or supply its hosted URL for scheduled retrieval.
- After processing, check that the intended product IDs appear and open any reported item issues.
Google retrieves a hosted file every 24 hours. Refresh the file before retrieval. For a spreadsheet source, select the Google Sheets option and connect the sheet containing your attribute columns. For a custom integration, use the Merchant API product workflow and submit product inputs to the selected data source.
On Shopify, install Google & YouTube and connect the correct Merchant Center account. Select the countries and languages, configure shipping and make products available to the channel. Google manages this channel, and its connection syncs products without asking you to host an XML file.
To find a Shopify product feed URL, first identify how products reach Merchant Center. Open the relevant product’s data source and check its input method. If it is a file source, open its source settings and copy the hosted URL. If a feed app generates the file, its feed settings contain the URL. An API source has no downloadable feed URL to copy.
Don’t assume your store’s /products.json address is a Google-formatted feed.
Install Google for WooCommerce and complete its connection wizard. Review products and issues under Marketing, Google for WooCommerce, then Product Feed. Map custom attributes before expecting size or identifiers to sync. WooCommerce’s feed documentation explains these mappings.
For BigCommerce, open Channel Manager, add a channel connection and select Feedonomics Surface. Connect the Google account, review mapped product data and enable sync. BigCommerce’s own app listing documents this connector. It is a Feedonomics connection, not a Google-owned app.
For Magento or Adobe Commerce, use a compatible feed extension or a custom Merchant API integration. Wyomind’s Data Feed Manager generates Google Shopping files and documents a file URL in its feed list. Install the extension, choose the store view and map the required attributes in its feed template.
Generate and preview the file, then add its URL to Merchant Center’s scheduled file source. Configure automatic generation before Google’s retrieval. This is a third-party extension, not a Google-owned app.
Required Settings for Australian Stores
Australian feed prices must include GST and match the product page and checkout. Submit AUD with the amount when your store sells in Australian dollars. Google’s price requirements define the tax treatment and matching rules.
Set delivery costs and delivery times for the Australian areas you serve. Merchant Center supports account-level shipping settings and item-level shipping overrides. Use an override for a product with a different rate, such as a bulky item. Include remote-area charges where they apply, and compare a customer’s checkout quote with the submitted delivery service. Google’s shipping attribute guidance covers Australian delivery areas.
Use the manufacturer’s brand and identifiers, not the retailer’s name for goods made by another brand. If you make the product yourself, supply your actual brand and assigned part number. Only mark identifiers as absent when the product truly has none.
Submit used or refurbished when that describes the item. Google treats new products as new when condition is omitted, but sending new explicitly keeps the record clear. Keep the page’s condition consistent with the feed.
Product Types and Custom Labels
product_type is your own category path, while google_product_category uses Google’s predefined taxonomy. A retailer can submit Homewares > Drinkware > Mugs as a product type even when its navigation uses a different label. Google automatically categorises products, and the Google category attribute can override that assignment where supported. Use the guide to product taxonomy to choose a category ID.
To find product types in an existing Google Shopping feed, download or open the source file and locate the product_type column. In XML, look for g:product_type inside each item. For API or app sources, inspect a product’s submitted attributes in Merchant Center and compare them with the connector’s mappings. A Google category value doesn’t prove that your own product type was supplied.
Custom labels group products for campaign filters without changing their public descriptions. Google provides five fields, from custom_label_0 to custom_label_4. Give each field one consistent purpose.
| Field | Purpose | Example values |
|---|---|---|
custom_label_0 | Margin band | high_margin, standard_margin |
custom_label_1 | Season | winter, year_round |
custom_label_2 | Sales performance | best_seller, regular |
custom_label_3 | Stock strategy | clearance, core_range |
Define what qualifies as a best seller and when labels recalculate. Google’s custom label specification governs accepted values. A label used for bidding isn’t a product fact for a customer-facing answer.
Feed Attributes a Shopping Agent Answers From
A shopping agent needs accurate price and availability, plus the attributes that answer the customer’s actual question. Approval and useful product advice overlap, but Google approval doesn’t establish that every question is answerable.
For example, a thin description can satisfy the basic field requirement while saying nothing about stretch or garment measurements. Some variant attributes depend on category and destination, so a missing attribute can leave a question unanswered even without a disapproval. Supplying size: 12 identifies a labelled size. It doesn’t explain its fit.
Consider the shopper’s question, “Is the navy size 12 dress in stock, what is it made from and how much does it cost?”
| Part of the question | Data the agent needs |
|---|---|
| Navy size 12 | The variant’s id, color, size and product-group relationship |
| In stock | That variant’s availability |
| Made from | material and any composition detail in the description |
| Cost | The variant’s GST-inclusive price, plus an applicable sale_price |
If the shopper asks whether size 12 will fit their measurements, connect the size chart and fit guidance as well. The feed can carry product facts, while retailer documents supply advice that doesn’t fit a single attribute. Importing a Google feed into an on-site agent also requires that agent’s field mappings. Merchant Center approval doesn’t connect the two services.
Keep the Feed in Sync With Your Store
Update the source whenever prices, stock or variant details change. A hosted file can lag behind the store until its next generation and retrieval. An app or API can also lag when a job fails or a product is excluded.
Google’s automatic product updates use website information to correct certain mismatches. They don’t replace regular source updates. Keep structured product data consistent with the visible page so Google can read the right offer.
| Shopify symptom | Check | Fix |
|---|---|---|
| Recreated variants appear as new products | Compare old and new variant IDs with submitted IDs | Remove obsolete records through the owning connector and resync the current variants |
| Wrong currency or missing target market | Compare channel countries and languages with Shopify Markets and the landing page | Correct the selected market and its pricing, then resync |
| Missing GTIN or MPN | Inspect the exact variant’s barcode and Google product fields | Enter the manufacturer’s assigned identifiers or the correct custom-product treatment |
| Unavailable landing page | Check Online Store and Google & YouTube availability | Make the intended product available to both channels |
| Missing description or image | Open the product and inspect its description and media | Add the missing product content and save |
Shopify’s sync guidance documents channel availability and missing-content errors. Preserve stable variant IDs during ordinary edits. Before removing an obsolete record, confirm that it belongs to the connector you’re fixing.
After resyncing, open a changed item in Merchant Center. Confirm the submitted ID, GST-inclusive price and availability against its page, then check its destination status. If the item remains rejected, use the reported issue to follow the Merchant Center error fixes.
Google Product Feed Management as You Grow
Add a supplemental data source when your primary connection works but needs extra attributes, such as custom labels managed by a merchandising team. Match existing product IDs so the added values attach to the intended records. A supplemental source enriches or overrides primary data. It doesn’t replace the source that creates products.
Use attribute rules when a repeatable transformation can fix the data, such as mapping an incoming column to product_type. Enable Advanced data source management, open the primary source’s Attribute rules and save the rule as a draft. Google provides Test rules before Apply changes. Inspect the affected products before applying the rule to the whole source.
A dedicated feed tool fits when several channels need different mappings, many exceptions need maintenance or staff can’t trace repeated sync failures. Assign an owner to each mapping and keep the original catalogue as the source for price and stock. Start with one product whose variants exercise your rules, confirm its submitted values and approval, then extend the same process across the catalogue.