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.

AttributeWhat to supplyRequirement
idA stable identifier for this product or variantRequired
titleThe product name with its distinguishing variantRequired
descriptionFacts about the product being soldRequired
linkThe purchasable product pageRequired
image_linkA crawlable image of that productRequired
availabilityThe supported value matching current stockRequired
priceThe purchasable price and currencyRequired
brandThe actual product brandRequired for branded products, with category exceptions
gtinThe manufacturer’s Global Trade Item Number (GTIN)Supply an assigned identifier; requirements depend on destination
mpnThe manufacturer part number (MPN)Applies to products without a GTIN, subject to identifier exceptions
conditionnew, used or refurbishedRequired 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.

MethodEffortControlMaintenance
Platform app or extensionConfigure the connection and field mappingsDepends on the connector’s mappingsCatalogue changes sync through the connector
Google SheetsCreate and maintain product rowsDirect control over each valueStaff must keep the sheet current
Uploaded or scheduled fileExport and format a supported fileControl over the complete feedUpload replacements or schedule retrieval of a hosted file
Merchant APIBuild and support an integrationControl over individual product submissionsYour integration must handle updates and failures

For the file route, follow Google’s instructions for uploading feeds.

  1. Generate a supported tab-separated or XML file from the store catalogue.
  2. In Merchant Center, open Products and select Add products, then Add another product source.
  3. Choose Add products from a file and upload the file, or supply its hosted URL for scheduled retrieval.
  4. 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.

FieldPurposeExample values
custom_label_0Margin bandhigh_margin, standard_margin
custom_label_1Seasonwinter, year_round
custom_label_2Sales performancebest_seller, regular
custom_label_3Stock strategyclearance, 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 questionData the agent needs
Navy size 12The variant’s id, color, size and product-group relationship
In stockThat variant’s availability
Made frommaterial and any composition detail in the description
CostThe 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 symptomCheckFix
Recreated variants appear as new productsCompare old and new variant IDs with submitted IDsRemove obsolete records through the owning connector and resync the current variants
Wrong currency or missing target marketCompare channel countries and languages with Shopify Markets and the landing pageCorrect the selected market and its pricing, then resync
Missing GTIN or MPNInspect the exact variant’s barcode and Google product fieldsEnter the manufacturer’s assigned identifiers or the correct custom-product treatment
Unavailable landing pageCheck Online Store and Google & YouTube availabilityMake the intended product available to both channels
Missing description or imageOpen the product and inspect its description and mediaAdd 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.