# Setting up a Google Merchant Center feed on WooCommerce

> A Google Merchant Center feed lists every product with the attributes Google expects: id, title, description, link, image_link, price, availability and a recognised product identifier. On WooCommerce, the point that most often breaks the Shopping listing isn’t a missing attribute but variations sent as a single item instead of a separate feed entry per variation.

- Source canonique : [https://allaux.fr/en/services/tracking/flux-google-merchant-center-woocommerce](https://allaux.fr/en/services/tracking/flux-google-merchant-center-woocommerce)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Direct answer

> What most often breaks a WooCommerce feed is variations exported as a single item. In the settings of the extension that generates the feed, enable one row per variation, each carrying its own id, image_link and availability. Then check price is exported in the shop currency and review rejections in Merchant Center product diagnostics.

## The situations I handle

- Only a product’s default colour or size shows up in Google Shopping
- Out-of-stock variations still showing as available
- Google product categories poorly matched to the site’s WooCommerce categories
- The feed set up once when the plugin was installed and never rechecked since
- Uncertainty over which attributes are actually mandatory before customising a feed
- Stock updated on the site but not reflected in Merchant Center for hours

## How I set up the feed on WooCommerce

1. **Checking the core attributes** — I check every product sends a stable id (reference or SKU), a title, a description, the link to the product page, an image_link, price with the right currency, availability, and a recognised product identifier (GTIN, or brand + MPN) or, failing that, identifier_exists=no.
2. **Splitting variations into separate items** — Each variation (size, colour, material) must appear in the feed as its own item, with its own id and its own GTIN where applicable. Without that, Google can only show the parent product’s default variation.
3. **Mapping Google categories** — I map each WooCommerce category to a suitable Google Product Category instead of leaving a generic default one, which is a frequent cause of disapproval or poor classification.
4. **Syncing stock with the feed** — I make sure a WooCommerce stock update actually triggers a feed refresh, not the other way round: stock accurate on the site but a feed lagging by hours creates a gap Google penalises.
5. **Checking after publishing** — I check each product’s status in Merchant Center, in particular the variations, to confirm they appear individually and not just under the parent reference.

## The unsplit variations trap

On WooCommerce, a variable product groups several variations under one listing. A poorly configured feed plugin sometimes only sends the default variation to Merchant Center, with a single price and a single availability for the whole product.

The result: a shopper searches for a specific colour in Google Shopping, clicks the ad, and lands on a listing where that colour isn’t necessarily the one shown first, or worse, a variation advertised as available when it’s actually sold out. Every variation needs treating as a product in its own right in the feed, with its own id.

## One variation, one item

> If the feed only sends one item per variable product, Google only shows the default variation. That’s the most common trap on WooCommerce, ahead of a badly filled attribute.

## flux-google.xml

```
<item>
  <g:id>REF-0001-BLEU-M</g:id>
  <g:item_group_id>REF-0001</g:item_group_id>
  <g:title>Exemple de produit - Bleu, M</g:title>
  <g:price>29.90 EUR</g:price>
  <g:availability>in_stock</g:availability>
</item>
```

## Related pages

- **Google Merchant Center feed from PrestaShop** — The official module and core attributes on PrestaShop. ([/services/tracking/flux-google-merchant-center-prestashop](/services/tracking/flux-google-merchant-center-prestashop))
- **Fixing Merchant Center errors** — The ordered method for reading a disapproval reason and fixing it. ([/services/tracking/corriger-erreurs-merchant-center](/services/tracking/corriger-erreurs-merchant-center))
- **Product feed for the Meta catalogue** — Adapting the same feed for Meta Shopping instead of duplicating it as is. ([/services/tracking/flux-produits-meta](/services/tracking/flux-produits-meta))
- **WooCommerce, my main platform** — The other WooCommerce topics I deal with day to day. ([/wordpress-woocommerce](/wordpress-woocommerce))

## FAQ

### Why does only one colour show up in Google Shopping?

Because the feed is probably only sending a single item for the whole variable product. Each variation needs to appear as its own item with its own id for Google to show them all.

### Do I need a GTIN for every variation?

When the manufacturer assigns one per variation (colour or size), yes. Otherwise, identifier_exists=no applies to the variation itself, not just the parent product.

### How do I map WooCommerce categories to Google categories?

I map each site category to a specific Google Product Category rather than letting the plugin apply a generic default one.

### Does WooCommerce stock sync automatically with the feed?

It depends on the plugin used and how often it regenerates the feed. I always check the real delay between a stock update and its effect on the feed.

### Does the same feed work for Meta or Pinterest?

The attribute structure is close, but I recommend adapting the feed rather than reusing it as is, especially for categories and platform-specific fields.
