Connect WooCommerce to Google Shopping — the complete guide
WooCommerce's native Google integration misses GTINs, custom attributes, and proper variable product handling. Trajekt pulls your complete WooCommerce catalogue via REST API and generates an optimised Shopping feed Merchant Center actually rewards.
How to connect WooCommerce to Google Shopping with Trajekt
Five steps from zero to a live, daily-refreshed Google Shopping feed from your WooCommerce store.
1
Create WooCommerce REST API credentials
WooCommerce → Settings → Advanced → REST API → Add Key. Set Permissions to Read. Copy the Consumer Key and Consumer Secret shown on screen — these are displayed once.
2
Connect your store in Trajekt
In Trajekt: Add Store → WooCommerce. Enter your store URL, Consumer Key, and Consumer Secret. Trajekt pulls your full catalogue immediately — products, variations, custom attributes, and images.
3
Map your custom attributes
In Trajekt's rules engine, map your WooCommerce custom attributes to feed fields: your GTIN/EAN attribute to gtin, your Brand attribute to brand. This is the step WooCommerce's native plugin skips entirely.
4
Set up title rules
Create a rule that prepends your Brand attribute and appends colour and size variation values to each product title. Your WooCommerce product names stay unchanged on-site; Shopping gets optimised titles automatically.
5
Add your feed URL to Merchant Center
Copy your Trajekt feed URL and paste it into Google Merchant Center as a Scheduled Fetch data source. Set to daily. Merchant Center pulls your latest WooCommerce data automatically — no manual uploads ever needed.
Frequently asked questions
Set up a Google Merchant Center account, verify your domain, then connect WooCommerce via a feed management tool. Trajekt uses the WooCommerce REST API to pull your full product catalogue — including variations, custom attributes, and gallery images — and generates a Google Shopping XML feed that Merchant Center fetches daily.
WooCommerce's built-in Google Listings & Ads plugin syncs basic product data but doesn't access custom attributes (where most stores put GTINs and brand data), has no rules engine for title optimisation, doesn't support custom labels, and handles variable products inconsistently. For any catalogue over a few hundred products or more than two channels, a dedicated feed tool gives significantly more control.
Trajekt connects via WooCommerce's REST API using Consumer Key and Consumer Secret credentials you generate in WooCommerce > Settings > Advanced > REST API. Trajekt reads: products and variations, custom attributes (brand, GTIN, material), gallery images, categories, stock status, prices (regular and sale), and tags.
Price mismatch — WooCommerce sale prices with an expiry date that the feed hasn't reflected yet. The second most common is missing GTINs: WooCommerce doesn't have a native barcode field, so most stores add GTINs via a custom attribute that doesn't flow through to basic feed exports. Trajekt maps custom attributes to the gtin field directly.
Each variation needs its own feed row with a unique id (the variation SKU or ID), the specific colour and size for that variation, and a shared item_group_id matching the parent product ID. Trajekt pulls WooCommerce variations via the REST API and outputs them correctly structured — each as a separate row with the right grouping.
Yes. The same WooCommerce REST API connection generates both Google Shopping XML and ChatGPT Shopping JSONL (delivered via SFTP to OpenAI). WooCommerce HTML descriptions are stripped automatically for the ChatGPT feed, which rejects any HTML markup.
No plugin installation needed. Trajekt uses WooCommerce's built-in REST API — you generate API credentials in your WordPress dashboard and paste them into Trajekt. No plugin, no code changes to your site.
Daily minimum. Twice daily is recommended for stores that change prices or run promotions frequently. WooCommerce sale price schedules (start and end dates) are one of the most common sources of price mismatches — twice-daily refreshes ensure your feed reflects price changes within 12 hours.