
Adtraction feed for Shopify
Adtraction is the affiliate network founded in Stockholm in 2007, running programs across thirteen European markets: publishers pick up your products and promote them for a commission, and the whole product supply is one XML file Adtraction fetches from your URL, typically once a day. Feedflock turns your Shopify catalog into exactly that file (elements named after Adtraction's own product model, prices as bare numbers with the currency in its own element, a true/false stock flag from real availability) and keeps it current on a stable URL, regenerated as often as every hour.

An old price that appears only when the discount is real.
Adtraction's productPrice is simply the price you charge (a bare number with the currency in its own element), and oldPrice is the pre-discount reference. Feedflock maps oldPrice from your compare-at price and leaves it out entirely when the product is not on sale: an always-filled old price invents a permanent discount that every publisher in the network repeats.
Catch feed issues before Adtraction 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.
Apply as an advertiser
Onboarding runs through Adtraction's local team, who set up the advertiser account with you. The program (and its commissions) is what publishers sign up to; the product feed becomes one of its materials.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, stock and images directly through the Shopify API.
Pick the Adtraction template
One <product> per variant, with elements named after Adtraction's own product model. sku, productName, productDescription, productUrl, imageUrl, productPrice, currency and inStock are mapped from the start; oldPrice comes from your compare-at price and stays out when there is no sale.
Fill what only you can decide
Shipping is one bare number, deliberately unmapped: 0 would tell every publisher the catalog ships free. manufacturerArticleNumber stays empty unless your SKU really is the manufacturer's part number, and market is set only if your account manager asks for it.
Paste the feed URL
Once the program is approved, paste the hosted URL into the Product Feeds section of the Adtraction platform. Adtraction fetches it (typically once a day) and shows a "Last updated" timestamp per feed: that is where you see the fetch working.
https://feedflock.appfleece.com/f/demo-adtraction/adtraction.xml
The feed
What the channel receives
<?xml version="1.0" encoding="UTF-8"?> <products> <product> <sku>46012345678901</sku> <productName>Linen shirt Sand M</productName> <productDescription>Breathable linen shirt with a relaxed regular fit.</productDescription> <productUrl>https://shop.example/products/linen-shirt-sand?variant=46012345678901</productUrl> <imageUrl>https://cdn.shop.example/img/linen-shirt-sand.jpg</imageUrl> <productPrice>49.00</productPrice> <currency>EUR</currency> <inStock>true</inStock> <ean>8594000123453</ean> <manufacturer>Nordlin</manufacturer> <productCategory>Men's shirts</productCategory> <extraInfo><key>Color</key><value>Sand</value></extraInfo> <extraInfo><key>Size</key><value>M</value></extraInfo> </product> </products>

Nordlin
Linen shirt Sand
49 €
Feed fields
sku
46012345678901
productName
Linen shirt Sand M
productDescription
Breathable linen shirt with a relaxed regular fit.
productUrl
https://shop.example/products/linen-shirt-sand?variant=46012345678901
productPrice
49.00
currency
EUR
inStock
true
ean
8594000123453
manufacturer
Nordlin
productCategory
Men's shirts
key
Color
value
Sand
key
Size
value
M
The channel
Publishers across thirteen markets
Adtraction was founded in Stockholm in 2007 and runs affiliate programs with local teams across thirteen European markets. One platform, one feed structure; what changes is the currency and language the feed starts with.
Plain URLs, their tracking
The productUrl stays the plain product page: Adtraction's API returns it side by side with the trackingUrl it builds itself. No UTM parameters, no affiliate glue in your feed, nothing to maintain when campaigns change.
A material, not a bid
Your costs are the commissions agreed in the partner program, not per-product bids in the feed. The feed describes the products; the program describes the commercial terms.
The feed
- Elements named exactly after Adtraction's own product model, the only published vocabulary the platform has
- productUrl stays plain and variant-pinned. Adtraction wraps it in its own trackingUrl, so the feed never carries affiliate parameters
- Prices as bare dot-decimal numbers with the ISO currency in its own element, the form Adtraction's API documents
- oldPrice mapped from the compare-at price and left out when the product is not on sale, because an always-filled old price invents a permanent discount
- inStock as a true/false flag derived from real availability, not a constant: stale stock is the classic affiliate complaint
- sku defaulting to the Shopify variant id: stable and never empty, the only merchant-side identity the platform keeps
- Variant options (colour, size) rendered as extraInfo key/value blocks, Adtraction's only repeatable element
- Fetch tracking shows when Adtraction last pulled the feed and alerts you if the fetches stop
Deep dive
An XML file Adtraction fetches itself
- All product feeds via Adtraction are delivered in
XML, fetched by the platform, typically once a day - The feed
URLbecomes copyable once your program is approved - Every feed carries a visible "Last updated" timestamp, the platform's one documented diagnostic
- Feedflock hosts the file on a stable
URLand regenerates it as often as every hour
Technical details
Adtraction's help centre is explicit about the transport: product feeds are fetched via Adtraction, they are typically updated once per day, and all product feeds provided via Adtraction are delivered in XML format. The URL-paste step on the advertiser's side is documented by two independent feed integrators: you paste the link into the Product Feeds section of the Adtraction platform.
The URL becomes copyable once the brand relation is approved; from then on publishers pick the products up per channel. The per-feed "Last updated" timestamp is the only diagnostic the platform documents, and a stale one means the fetch, not the file. Feedflock's hourly regeneration means every fetch reads current prices and stock either way.
The field model is Adtraction's own API
- Adtraction publishes no advertiser-side import spec; the template's element names are the fields of its
APIv3 product model - The required eight (sku, productName, productDescription, productUrl, imageUrl, productPrice, currency, inStock) are our call: the set a publisher cannot render a listing without
- Have the account manager confirm the first import, the one verification no public page can give
- No published limits, enums or patterns, so nothing is enforced at render time
Technical details
Stated honestly: Adtraction publishes the product record that flows through the platform (productName, productPrice, productUrl, trackingUrl, currency, ean, sku, extraInfo, imageUrl, inStock, manufacturer, manufacturerArticleNumber, market, oldPrice, productCategory, productDescription, shipping) but no import-side specification. The element names in the template are therefore exactly those API field names: the only vocabulary that exists.
The required/optional split follows from that: Adtraction declares none, so the required marks in the template are ours (identity, name, description, URL, image, price, currency, stock), the set a publisher cannot render a listing without. The definitive list comes from your Adtraction contact; the first import is exactly the moment to confirm it.
Prices, old prices and the boolean stock flag
- productPrice is a bare number with a dot decimal ("129.5"), the currency in its own element ("
EUR") - oldPrice carries the pre-discount price and stays out when there is no sale
- inStock is true/false from real availability; sold-out rows stay in the feed
- Prices go out as Shopify holds them; Swedish consumer prices are quoted incl.
VAT
Technical details
In Adtraction's model the price is a bare dot-decimal number and the currency rides in its own element as an ISO code. When a product is discounted, productPrice carries the discounted price and oldPrice the pre-discount one; without a sale oldPrice stays out, because an always-filled old price invents a permanent discount every publisher repeats.
Availability is the model's only boolean: inStock, true or false, derived from real availability rather than pinned to a constant. Stale stock data is the classic affiliate complaint: a publisher advertising a sold-out product. Sold-out rows stay in the feed on purpose: the stock flag is exactly what the publisher needs.
Thirteen markets, one structure
- Adtraction's own homepage shows thirteen flags: SE, NO, DK, FI, DE, NL, AT, CH, PL, GB, FR, IT, ES
- The feed structure is the same everywhere; the currency and language the feed starts with change
- The market field ships empty: the program's market is set in the platform, a guessed value would contradict it
- Commissions, tracking and program approval all run outside the feed
Technical details
Adtraction was founded in Stockholm in 2007 and today operates with local teams in thirteen European markets. The product model carries a market field, but it ships empty by default: the program's market is set in the platform, and a hard-coded guess would contradict it. Set it statically only if your account manager asks.
Everything commercial stays outside the feed: the advertiser application via the local teams, the program approval (which unlocks the feed URL), conversion tracking and commissions. The feed alone lists nothing; it is the product material the network's publishers consume.
The takeaway
One URL that Adtraction fetches itself, typically once a day, and an XML whose elements carry the platform's own field names: plain product URLs ready for Adtraction's tracking, prices as bare numbers with the currency alongside, a stock flag from real availability. Your Shopify catalog stays the single source of truth for publishers across all thirteen markets.
Claude · ChatGPT
Or set up your Adtraction feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to Adtraction's own tree and tells you what is still missing. You approve every change.
Create a Adtraction 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.