WooCommerce powers a significant slice of UK ecommerce. Flexible, open-source, and deeply customisable — which is exactly what makes its native Google Shopping integration frustrating to manage at scale.
Why the native Google integration falls short
WooCommerce's built-in Google Listings & Ads plugin gets products into Merchant Center, but with real limitations: it doesn't pull custom attributes (where most stores put GTIN/EAN data), has no rules engine, doesn't support custom labels, and handles variable products inconsistently. For more than a few hundred products, you need a dedicated approach.
How WooCommerce data maps to Google Shopping fields
- Product name →
title(usually needs optimisation) - Product description →
description(HTML-heavy — needs stripping) - Regular price →
price - Sale price →
sale_price - Featured image →
image_link - SKU →
id - Custom attribute 'Brand' →
brand - Custom attribute 'GTIN' or 'EAN' →
gtin - Stock status →
availability
The GTIN problem specific to WooCommerce
WooCommerce doesn't have a built-in EAN/barcode field. Most stores add GTINs via a custom product attribute named 'GTIN' or 'EAN', a dedicated plugin, or ACF. The key is telling your feed tool which field to read the GTIN from. Trajekt pulls all WooCommerce custom attributes via REST API and lets you map any attribute to the gtin field. Most stores can achieve 90%+ GTIN coverage this way.
Variable products — the most common mistake
WooCommerce variable products (parent + children per size/colour) need to appear as separate rows in your feed, each with a unique id and a shared item_group_id matching the parent. When only the parent is included, Google sees no size or colour variants — limiting match potential. Trajekt pulls WooCommerce variations correctly via the REST API.
Description HTML cleanup
WooCommerce descriptions frequently contain HTML, shortcodes, inline styles, and page builder markup. Google Shopping descriptions must be plain text. Strip all HTML before output. Short descriptions in WooCommerce are often cleaner — consider using them as your Shopping feed description source.
Setting up the WooCommerce REST API for Trajekt
- WooCommerce > Settings > Advanced > REST API > Add Key
- Set Permissions to Read. Copy the Consumer Key and Consumer Secret
- In Trajekt: Add Store > WooCommerce > store URL + credentials
WooCommerce to every channel — automatically
Trajekt connects via WooCommerce REST API and generates feeds for Google Shopping, ChatGPT, Meta, TikTok, and more. No plugin installation needed.
Start free →Common WooCommerce-specific disapprovals
Missing GTIN: Map your EAN/barcode custom attribute to the gtin field. For products without barcodes, set identifier_exists: no.
Price mismatch: WooCommerce sale prices with expiry dates — if the sale expires and your feed hasn't updated, Merchant Center sees a different price. Daily updates prevent this.
Product URLs returning redirects: If you've changed your WooCommerce permalink structure, old product URLs may 301 redirect. Ensure your feed uses current canonical URLs.