
Webgains feed for Shopify
Webgains is a UK-founded affiliate network (around 1,800 advertisers across the UK, Ireland, the EU and beyond) whose publishers promote your products for a commission. Its product feed is the Google Shopping spec verbatim: Webgains validates your file against Google's rules, in XML or CSV, and adds no fields of its own. Where it is stricter than Google is the mandatory set: nine fields in every country, including the category and shipping. Feedflock turns your Shopify catalog into exactly that file and hosts it on a stable URL that Webgains fetches on the schedule you choose.

Your product types. The channel's categories.
The channel files offers under its own category tree. Feedflock suggests a category for each Shopify product type and you just confirm. One mapping covers every product of that type, including products you add later.
A discount Germany and France insist on seeing.
On a discounted product the pair splits: g:price carries the regular price, g:sale_price the price you actually charge. Google treats sale_price as conditional; Webgains makes it mandatory for Germany and France, together with the two unit-pricing measures. Feedflock fills both sides from your compare-at price and leaves sale_price out when there is no discount, because an always-filled reference price invents a permanent markdown.
Catch feed issues before Webgains does.
Before every generation Feedflock checks that every field the channel requires is filled, and, on templates verified against the channel's own spec, that the values fit its rules. Most problems are fixed with one click, without editing products in Shopify.
Setup
Live in five steps
From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.
Join Webgains as an advertiser
Register at webgains.com and set up your program: the commissions publishers sign up for. Program approval and tracking integration are part of advertiser onboarding; the product feed plugs in afterwards.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, stock, images and shipping rates directly through the Shopify API.
Pick the Webgains template
Create a new feed and choose Webgains. The field set is Google's, mapped from the start: id, title, description, link, image_link, availability, price and brand, one item per variant, prices as number, space and ISO currency code.
Cover the Webgains overlay
Two fields Google treats as optional are mandatory at Webgains: google_product_category (map your types to Google's taxonomy; a numeric ID skips manual mapping entirely) and shipping (built from your delivery options). Targeting Germany or France? sale_price and the unit-pricing pair are mandatory there too.
Paste the feed URL into the Feed Manager
In your Webgains account: Create Feed, add the hosted feed URL and pick the fetch frequency. Daily is the usual choice, weekly and monthly exist, with time and day configuration. Feed behind Cloudflare or a firewall? Whitelist Webgains' three fetcher IPs or every fetch returns 403.
https://feedflock.appfleece.com/f/demo-webgains/webgains.xml
The feed
What the channel receives
<item> <g:id>46012345678901</g:id> <g:item_group_id>8812345678901</g:item_group_id> <g:title>Linen shirt Sand M</g:title> <g:description>Breathable linen shirt with a relaxed regular fit.</g:description> <g:link>https://shop.example/products/linen-shirt-sand</g:link> <g:image_link>https://cdn.shop.example/img/linen-shirt-sand.jpg</g:image_link> <g:availability>in_stock</g:availability> <g:condition>new</g:condition> <g:price>49.00 EUR</g:price> <g:brand>Nordlin</g:brand> <g:google_product_category>212</g:google_product_category> <g:shipping><g:country>DE</g:country><g:service>Standard</g:service><g:price>4.95 EUR</g:price></g:shipping> </item>

Nordlin
Linen shirt Sand
49 €
Feed fields
g:id
46012345678901
g:item_group_id
8812345678901
g:title
Linen shirt Sand M
g:description
Breathable linen shirt with a relaxed regular fit.
g:link
https://shop.example/products/linen-shirt-sand
g:availability
in_stock
g:condition
new
g:price
49.00 EUR
g:brand
Nordlin
g:google_product_category
212
g:country
DE
g:service
Standard
g:price
4.95 EUR
The channel
Publishers sell for you
Webgains is an affiliate network: content sites, bloggers and deal portals pick up your product data and send you traffic for the commission your program sets. The feed is how your catalog reaches them, and Webgains converts your plain product URLs into tracking links after processing.
A format you already have
Webgains validates against the Google Shopping Feed specifications and publishes no vocabulary of its own. If you already run a Google-format feed, the shape is identical. This template exists so the Webgains-mandatory extras are covered too.
Failure modes you can live with
A feed that errors after a successful run keeps serving the last good version, and a feed with under 10% erroneous rows still publishes, with a downloadable per-product error log naming what to fix.
The feed
- The template shares Google's field definitions by reference: the file you render is the file Webgains' importer validates, with no invented Webgains fields
- All nine Webgains-mandatory fields covered: the Google seven plus google_product_category and shipping, which Google itself treats as optional and conditional
- Categories from Google's taxonomy as numeric IDs or full paths. Webgains accepts eleven taxonomy locales, and an ID needs no manual mapping on their side at all
- Shipping rendered from your delivery options as Google's <g:shipping> sub-attribute form, ready for the mandatory check. Webgains' own price:min:max value form is documented in the template's notes
- Discounts split the honest way: the compare-at price goes to g:price, the price you charge to g:sale_price, the pair Germany and France make mandatory, with the unit-pricing measures ready in the template
- Plain, variant-pinned product URLs: Webgains wraps its tracking around them after processing, so there is no tracking glue to maintain in the feed
- One item per variant, titles that pair product and variant, and sold-out items kept in the feed marked out_of_stock, Google's model, which Webgains follows
- Fetch tracking shows when Webgains last downloaded the feed and alerts you if the fetches stop, the same signal Webgains' own Feed Manager history records
Deep dive
Google's spec, Webgains' overlay
- Webgains checks the feed "adheres to the Google Shopping Feed specifications", in
CSVorXML - Field names must match Google's spec; anything else becomes a custom field, and those are capped at 10
- Nine mandatory fields in every country: the Google seven plus google_product_category and shipping
- Germany and France add three more: sale_price, unit_pricing_measure and unit_pricing_base_measure
Technical details
Webgains' Knowledge Hub says it outright: the platform checks that your feed is valid and adheres to the Google Shopping Feed specifications, and it accepts Google Product Feeds in either CSV or XML. Column headers and tag names must match the field names in Google's specification; anything that does not is interpreted as a custom field, custom fields are capped at ten, and in XML they need the g: prefix. There is no Webgains-own field to learn; the sweep that looked for a deeplink or network-ID column found none, because link stays the plain product URL and Webgains converts it to a tracking link after processing.
Where Webgains is genuinely stricter than Google is the mandatory set. Nine fields are required in every country: id, title, description, link, image_link, availability, price, and then google_product_category, which Google treats as optional, and shipping, which Google calls conditional. For Germany and France the table adds sale_price, unit_pricing_measure and unit_pricing_base_measure. Feedflock's template maps the whole nine from the start, so the overlay is covered before you paste the URL.
Create Feed, a URL and a schedule
- Self-serve: Create Feed, add the Feed
URL, set your preferences - Fetch frequency is your choice: daily, weekly or monthly, with time and day configuration; a manual Refetch button exists (queued, not instant)
- Up to 25 active feeds per account, fetched from public URLs
- Behind Cloudflare or a firewall, whitelist the fetcher IPs 18.132.235.95, 18.133.40.185 and 18.132.163.150
Technical details
Transport is a URL pull on a merchant-chosen schedule. In the Webgains platform you click Create Feed, paste the feed's public URL and pick how often Webgains should re-fetch it: daily, weekly or monthly, with the time and day configurable. A manual Refetch button exists for the impatient, though it queues rather than runs instantly. One account holds up to 25 active feeds, all fetched and processed from public URLs.
Every fetch lands in the Feed Manager history: a green "Successfully processed" with the run time and product count, or a downloadable per-product error log. When a fetch fails outright the history shows the HTTP status, and a 403 from an otherwise healthy URL is the signature of Cloudflare blocking Webgains' fetcher, which the documentation answers with three IPs to whitelist. Feedflock regenerates the file as often as every hour, so whatever cadence you pick, every fetch reads current prices and stock.
How Webgains handles a broken feed
- A duplicate id is overwritten by the latest occurrence in the feed, silently, with no error
- A feed that has never processed successfully serves nothing to publishers
- Errors after a success keep serving the last good version
- Under 10% erroneous rows, the feed still publishes, with the error log naming the products to fix
Technical details
Webgains' failure modes are per-row and non-destructive, and they are worth knowing before the first import. The quiet one is the duplicate id: the product is overwritten with the latest occurrence in the feed: a silent loss, not an error. Feedflock's default id is the Shopify variant ID, which never repeats and never changes, so the collision cannot start.
The rest is forgiving by design. A feed that has never been successfully processed makes no feed available to publishers at all. One that errors after a success keeps serving the last good version while you fix it. And under 10% erroneous rows the feed is still processed, with the errors shown for fixing. The downloadable log names the exact products. The Feed Manager history is the ground truth for all of it, which is also where Feedflock's missed-fetch alerting points.
Categories, shipping and the honest seams
- google_product_category takes a numeric ID or a full path: "2271" or "Clothing & Accessories > Clothing > Dresses"
- Eleven taxonomy locales are supported: en-GB, fr-FR, de-DE, nl-NL, da-DK, sv-SE, es-ES, en-US, pl-PL, it-IT, pt-BR, the network's footprint
- Numeric IDs are recorded as their en-US text and need no manual category mapping on Webgains' side
- Webgains documents shipping as price:min:max ("9.95
EUR:2:5"); the template emits Google's sub-attribute form, the one untested seam, worth a look at the first import
Technical details
The category is Google's taxonomy: a numeric ID or the full path with spaces around the ">" respected. Webgains supports the taxonomy in eleven locales (the same list as the network's footprint) and records ID values as their en-US text, which is why a numeric ID is the robust choice: it skips manual category mapping on Webgains' side entirely. Feedflock maps your product types to the same tree, so the mandatory field is filled with a value Webgains accepts verbatim.
Two honest caveats, both stated rather than hidden. Webgains documents the shipping value in its own extended form (price, minimum and maximum transit time, like "9.95 EUR:2:5"), while the template emits Google's <g:shipping> sub-attribute form from your delivery options; whether the platform's check accepts that form is the one seam to watch in the first Feed Manager error log. And a January 2027 change raises the minimum image size to 500 × 500 px for Google-format feeds; Feedflock's image guidance already reflects it.
The takeaway
One URL, a fetch schedule you pick yourself and a file that speaks Google's spec with Webgains' nine mandatory fields already covered: category, shipping, honest sale prices, plain links for Webgains' own tracking. Your Shopify catalog stays the single source of truth for every publisher in the network.
Claude · ChatGPT
Or set up your Webgains feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to Webgains's own tree and tells you what is still missing. You approve every change.
Create a Webgains feed for my store and map my categories.
I'll create it as a draft and show you each change before I make it.
FAQ
Related feeds
Explore all 101 channelsGet on every marketplace that matters this afternoon.
Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.