Turn your Shopify catalogue into a valid Google Shopping feed
Connect a Shopify Storefront token, and AiFeedOptimiser builds a Google Merchant Centre feed from every variant - VAT-inclusive prices, variant SKUs, live stock, 6-hour refresh and instant-sync webhooks.
No app install, no theme edits.
No credit card required.

Generate a Storefront API token in Shopify, paste it into AiFeedOptimiser, and get a public XML URL you can submit to Google Merchant Centre. Every Shopify variant becomes an item, prices are GBP inclusive of 20% VAT, and stock changes reach Google within minutes via webhooks.
Set up in 5 steps
- 1
Create a Storefront access token in Shopify
Install the free official Headless sales channel, open Sales channels → Headless → Create storefront, then Manage API access → Storefront API → Manage. Tick the unauthenticated product listings, inventory and tags scopes, save, and copy the private access token.
- 2
Add your Shopify store in AiFeedOptimiser
Dashboard → Add store → Shopify. Paste the .myshopify.com domain and the token. AiFeedOptimiser runs a test GraphQL query before saving the encrypted credentials.
- 3
Review the auto-mapped Google feed
AiFeedOptimiser maps title, description, price (incl. VAT), image, availability, SKU, brand (vendor), GTIN and MPN automatically. Override any attribute from metafields, tags or static values in the Field Mapping tab.
- 4
Validate in the feed health dashboard
Check required-attribute coverage, GTIN presence and title length before submitting. Fix issues at the Shopify source rather than per-product inside Merchant Centre.
- 5
Submit the public XML URL to Merchant Centre
Copy /feeds/{storeId}/google-merchant.xml from the store detail page into Merchant Centre → Feeds → Add feed → Scheduled fetch, daily.
Need Shopify's exact clicks? Shopify's official Storefront API docs walk through creating the token.
How Shopify fields map to Google attributes
AiFeedOptimiser auto-detects this mapping the moment you connect the store. Every row can be overridden per store from the Field Mapping tab.
| Google attribute | Shopify source |
|---|---|
| id | variant.sku (fallback: variant.id) |
| title | product.title + variant title (or metafield override) |
| description | product.descriptionHtml (stripped) |
| link | https://{shop}/products/{handle}?variant={id} |
| image_link | variant.image.url or product.featuredImage.url |
| price | variant.price (GBP, incl. 20% VAT) |
| sale_price | variant.compareAtPrice vs variant.price |
| availability | variant.availableForSale → in_stock / out_of_stock |
| brand | product.vendor |
| gtin | variant.barcode |
| mpn | metafield custom.mpn (optional) |
| condition | Static 'new' (override via rules) |
Shopify-specific pitfalls to avoid
Barcode field left empty
Populate variant.barcode with the EAN/UPC/ISBN. Without it, Google treats items as missing GTIN and disapproves new-product listings.
Prices excluding VAT in the theme
Enable 'All prices include tax' in Shopify → Settings → Taxes and duties for the United Kingdom, so the feed and landing page match.
Submitting the parent product instead of variants
AiFeedOptimiser always emits one <item> per variant. Never map product.id as the feed id - Google needs unique variant SKUs.
Draft or archived products leaking in
The Storefront API only exposes active products. If you see draft items in the feed, check that the Shopify sales channel toggle is off for those SKUs.
Why UK Shopify merchants pick AiFeedOptimiser
5-minute setup
Token in, feed out. No app install, no theme edits, no developer required.
Instant sync webhooks
products/update, inventory_levels/update and variants/update invalidate the cache in real time.
Blocks bad feeds
Feeds missing required Google attributes return 422 with a human-readable reason - no silent disapprovals.
AI title rewrites
Optional Gemini-powered title and description optimisation with Google's front-loaded keyword pattern.
Frequently asked questions
- Do I need a Shopify app or the Google & YouTube channel?
- You only need Shopify's own free Headless sales channel, which issues the read-only Storefront API token AiFeedOptimiser uses. No third-party app is installed on your store, and the token is encrypted at rest.
- Does AiFeedOptimiser handle Shopify variants?
- Yes. Every variant becomes its own <item> with its own SKU, price, image and availability. Parent products are never submitted - Google expects one row per purchasable SKU.
- How is UK VAT handled?
- Prices are read inclusive of 20% UK VAT from your Shopify markets configuration and emitted in GBP by default. AiFeedOptimiser's landing-page price will match the feed price, avoiding the most common Merchant Centre disapproval.
- How fast do stock and price changes reach Google?
- Snapshots refresh every 6 hours automatically. With the Shopify webhook enabled in the Instant Sync tab, product update, inventory update and price change events invalidate the cache immediately, so the next Google fetch sees the new state.
- Can I override product titles or exclude out-of-stock items?
- Yes. Field mapping supports Shopify metafields, tags and static values, and the Rules engine can exclude, replace or append across the whole catalogue based on tags, product type, vendor or availability.
Related reading
Ship a Shopify Google feed today
Connect Shopify, review the auto-mapping, and paste the feed URL into Merchant Centre. 14-day free trial. From £25/month, incl. VAT.
