Criteo Commerce GrowthCriteo builds the banner. Renable builds the catalog it builds it from.

Criteo’s dynamic retargeting composites its own banners out of your product catalog, so on this channel the catalog is the creative. Renable writes that catalog, hosts it at a URL Criteo pulls up to four times a day, and maps Criteo’s own field meanings — starting with its price and retailprice, which run the opposite way to Google’s.

Dynamic retargetingPulled up to four times a dayCriteo’s price fields, mapped right
Channel
Ready to publish1,208 in · 1,208 out
Required fieldsall present
Product idsASCII, unique, stable
price / retailpricemapped, not passed through
Images800×800 minimum

Output

feeds.renable.com/pinecraft/criteo.csv

Simplified view of a channel’s pre-publish checks, for illustration.

Early access

The Criteo channel is rolling out now. Start free and we’ll get you set up as it lands — talk to us if you want it sooner.

Start here

Criteo composites its own banners. So what you control is the catalog.

On most channels Renable ships you a designed ad. Not here. Criteo assembles the banner itself, product by product, from the catalog you give it — so a Renable-rendered ad has nowhere to sit. Drop one into a slot Criteo then composites and you get a banner inside a banner.

We’d rather say that plainly than sell you creative that doesn’t ride this channel. What Criteo composites from is entirely yours: the product photography, the titles and descriptions it reads, the identifiers it matches on, and the price fields it prints on the banner. Every one of those is a data problem, and every one of them is what Renable does.

The product photo is the creative

Criteo drops your image straight into its layout, so the photo is the ad. Background removal, image classification and generated lifestyle scenes all still land here — they change what Criteo has to composite with.

Your titles and descriptions get read

Criteo takes up to 500 characters of title and 5,000 of description, plain text with no HTML. Copy written from each product’s own data — and fact-checked against it — is copy Criteo can actually print.

The product id has rules most feeds break

Up to 50 characters, ASCII only, no quotation marks, unique and stable, and different from item_group_id. It also has to be the same id your OneTag events send — that pairing is what makes retargeting work at all.

One of gtin or mpn is required

Not both, but not neither. Renable shows your coverage per field, so you can see how much of the catalog is identified before Criteo tells you. Brand, google_product_category and product_type are recommended on top.

One more honest note: if you’re on Shopify, Criteo’s own app already syncs a feed and deploys the tags. Getting connected isn’t the problem Renable solves here. What’s in the file is.

The one that costs moneyCriteo’s price fields are the reverse of Google’s

In Criteo’s catalog, price is the final price after a discount and retailprice is the standard price before any discount. That is the opposite of Google Merchant, where the regular price lives in price and the discount goes somewhere else.

A tool that passes field names through lands your regular prices in Criteo’s after-discount slot. Nothing errors. The feed parses, the products go live, and the banners quietly advertise the wrong number — sometimes a saving that runs backwards. Renable maps the two fields deliberately, per channel, so your Google feed stays exactly as it is.

Two smaller details live in the same place: price is a number with a period as the decimal separator, and there is no separate currency column to fill — the currency rides in the value itself or in how the feed is configured.

Aspen Armchair · on offer this week

Field names lined up one-to-one
Wrong way round
priceyour standard price249.00
retailpriceyour discounted price199.00

What the banner prints

$249$199

Criteo reads price as the price after the discount — so the banner asks more than the armchair costs, and the saving runs backwards.

Mapped the way Criteo reads them
Correct
pricethe price after the discount199.00
retailpricethe standard price before it249.00

What the banner prints

$199$249

The banner shows the offer you are actually running.

Simplified view of a channel’s price mapping, for illustration.

Under the banner

What Renable feeds Criteo

Everything Criteo puts in a banner comes out of the catalog. One set of products, cleaned once, written for each destination’s own rules.

A clean, mapped feed

Your data mapped to Criteo’s catalog fields, corrected by rules and lookups, and re-imported roughly every hour so prices and stock stay fresh.

Fix the feed IT won’t touch

Copy Criteo can print

AI writes titles and descriptions from each product’s own data and fact-checks every claim against it — in each market’s language, as plain text inside the lengths Criteo accepts.

See how the copy is written

Photography worth compositing

Backgrounds removed, photos classified as product or lifestyle, generated scenes where you have nothing but a pack shot — and every image checked against Criteo’s 800×800 minimum before it goes out.

See how the images are prepared

DeliveryA file Criteo comes and gets

Criteo reads CSV, XML or JSON from a URL you host, and pulls it up to four times a day on a schedule you set in UTC. Renable writes that file and hosts it at a stable address, so setup is one paste and then nothing.

Underneath, Renable re-imports your own data roughly every hour. Criteo’s pull window and your store’s changes never have to line up — whenever Criteo comes for the file, the file is current.

Catalog setup itself is self-serve in Criteo’s Management Center. No Technical Account Manager is involved in getting a feed ingested.

How the file gets there

Renable

refreshed hourly

Hosted URL

always current

Criteo

pulls up to 4×/day

Criteo’s parser is configured, not fixed
You declare how your file is shaped — the product node name and whether the id is a node or an attribute for XML, the delimiter and id field for CSV, the array name and id field for JSON — plus encoding and price format.
A preview confirms it parses before you save
Criteo’s Structure Preview reads your file back to you, and a Field mapping step handles any column name that doesn’t match. Compression is supported too — .zip or .gz behind a toggle.

Simplified view of feed delivery, for illustration.

No rip-and-replace

Keep the catalog you have. Prove the new one first.

Criteo documents no supplementary or side-feed concept, so there is no override layer to bolt on — and we won’t pretend otherwise. What a Criteo catalog does allow is more than one complete feed. So the honest path is a parallel run.

Connect the feed you already publish as a source, reshape it in Renable, and stand the Renable file up beside it. Compare the two until the output agrees, then cut over and retire the old one on your own timeline.

Channel
FeedProductsStatus
The feed you publish today1,208Live
The Renable feed, in parallel1,208Ready to compare

Same products, same ids. The only thing that changes on cut-over day is which file Criteo pulls.

Simplified view of a parallel run, for illustration.

Diagnostics

“Why aren’t my Criteo ads delivering?”

Start with the tag, not the feed — and then read the two together, because on Criteo they are one system. Renable checks the catalog side before it goes out, names the exact products, and tells you what to change. Here’s what it usually is:

OneTag isn’t on the store
Criteo says it directly: without its tag on your site it cannot deliver personalized ads. A catalog on its own runs nothing. This one is a job for your site, not your feed — and it is always the first thing to check.
Your tag’s ids don’t match your feed’s ids
Criteo scores how often the product id in a OneTag event is found in your catalog. It asks you to keep that above 80% and says below 60% it impacts campaign performance — so a mismatch degrades delivery progressively rather than switching it off.
match rate
An id Criteo won’t accept
Up to 50 characters, ASCII only, no quotation marks, unique, stable, and different from item_group_id. A non-ASCII character in a SKU is enough to break the pairing your retargeting depends on.
14 products
An image Criteo won’t take
At least 800×800, under 16 MB, and the URL has to answer with image/png, image/gif or image/jpeg. Renable flags the ones that fall short before the file goes out.
37 products
The discount is on the wrong field
Ads that deliver but convert badly are often this: price and retailprice the wrong way round, so the banner prints a price nobody is being offered.
96 products
Neither gtin nor mpn is present
Criteo wants one of the two on every product. Renable shows the coverage per field, so you fix the gap in the source instead of guessing which products are thin.
Channel
ActivityPreviewFieldsRulesSettings
Traced Aspen Armchair1,208 in · 1,208 out

What the trace found

In the channel’s product setapplied

scope: included

Exclude rulesapplied

no match — kept

Destination check · price fieldsdidn’t apply

price: 249.00 → standard price

Criteo reads price as the price after a discount. Renable can swap the two fields on this channel only, leaving your Google feed untouched.

flagged by destination check

Simplified view of a channel trace, for illustration.

Aimée

Why is the Aspen Armchair showing the wrong price on Criteo?

Your feed sends 249.00 in price and 199.00 in retailprice. Criteo reads price as the price after the discount, so the banner has them swapped. 96 products are mapped the same way.

Traced Aspen Armchair · found the gap

Draft fix ready — swap price and retailprice on the Criteo channel only. Nothing goes live until you publish.
Scope · includedRules · keptPrice fields · inverted
Publish fixNot yet

Or just ask Aimée

Skip the digging. Ask why a product looks wrong and Aimée reads the same checks and logs, names the step that did it, and drafts the fix — for you to publish.

SetupFrom a store URL to a Criteo-ready file, in one conversation

Give Aimée your store URL and she imports the catalog, maps it to Criteo’s fields, checks every id and image against Criteo’s rules, and tells you which products needed changing. Every structural change is a draft until you publish it.

Publishing hands you the feed URL. You paste it into Criteo’s Management Center once, point the parser at your file’s shape, and updates flow through on their own.

Getting the Criteo account itself is a separate step, and it depends where you are — see the question below.

Aimée

Build a Criteo catalog feed for pinecrafthome.com.

On it. I’ll map your data to Criteo’s catalog fields — including price and retailprice, which run the opposite way to Google’s. Everything lands as a draft first.

Checked 1,208 products against Criteo’s catalog spec

Built a Criteo channel · 1,208 products

Saved as a draft — nothing reaches Criteo until you publish it.
Feed mappedPrices mapped for CriteoIds checked · ASCIIgtin or mpn on all

Publish, and I’ll hand you the feed URL to paste into Criteo’s Management Center.

Publish channelReview first

Renable builds and validates the catalog. Criteo runs the campaigns.

What Renable controls is that Criteo gets the best possible version of every product — clean data, correct price fields, identifiers that match the tags on your site, and photography worth compositing.

Budgets, bidding, targeting and delivery stay in Criteo. Renable doesn’t manage your campaigns, and it never learns whether a given product was served.

And on this channel the banner isn’t ours either. Criteo composites its own layouts from your catalog, so Renable’s ad templates and rendered ads do not appear in a Criteo banner — putting one in a slot Criteo then composites would be a banner inside a banner. What travels here is the catalog.

Everything above, on the free tier

Channels aren’t a paid add-on. Add Criteo alongside the channels you already run and pay only for the feed items your rules keep.

Free for your first 100 items — no cardNo % of ad spend, everUnlimited seats

Trusted by retailers like Webhallen.

Running your Criteo feed on a feed tool today?

Criteo product catalogs, answered

How do I set up a Criteo product catalog?
Criteo reads CSV, XML or JSON from a URL you host and pulls it up to four times a day on a schedule you set in UTC. In Criteo’s Management Center you add the URL and tell the parser how your file is shaped — the product node name and whether the id is a node or an attribute for XML, the delimiter and id field for CSV, the array name and id field for JSON, plus encoding and price format. A Field mapping step handles column names that don’t match, and a live Structure Preview confirms it parses before you save. Renable writes the file, hosts it at a stable URL, and refreshes it roughly every hour.
Can I reuse my Google or Facebook feed on Criteo?
Criteo says you can, in its own words: already using a Google or Facebook product feed? You can reuse the same file to set up your product catalog, no extra formatting required. Worth knowing before you buy anything. What reuse doesn’t give you is Criteo’s own field meanings — above all price and retailprice, which run the opposite way to Google’s. A file that parses cleanly can still print the wrong price on every banner.
Why aren’t my Criteo ads delivering?
Check OneTag first. Criteo states that without its tag on your store it cannot deliver personalized ads, so a catalog on its own runs nothing. Then check the ids: the product ids your tag sends should match the ids in your feed, and Criteo scores that as a match rate — it asks you to keep it above 80% and says below 60% it impacts campaign performance, so a mismatch degrades delivery progressively. After that, look at ids that break the format rules, images under 800×800 or served as the wrong content type, and whether price and retailprice are the right way round.
Do Renable’s ad templates show in Criteo banners?
No. Criteo composites its own banners from your catalog, so a Renable-rendered ad has nowhere to go here — dropping one into a slot Criteo then composites would put a banner inside a banner. We’d rather tell you that than sell you creative that doesn’t ride this channel. What does carry is everything Criteo composites from: the product photography, the titles and descriptions it reads, the identifiers, and the price fields.
Is Criteo self-serve?
It depends where you are. Criteo GO, the self-serve lane, launched in 2026 and is US and UK only for now, with expansion planned. Everywhere else — including the Nordics — Criteo says an account will be set up by your Criteo team following a contractual agreement, which means a sales conversation first. Once you have an account, the catalog side is self-serve in the Management Center with no Technical Account Manager involved.
Can I keep my existing Criteo feed?
Yes, and the honest mechanism is a parallel run rather than an override layer — Criteo documents no supplementary or side-feed concept. A catalog can be fed by more than one complete feed, so stand a Renable feed up beside the one you publish today, compare them until the output agrees, then point Criteo at the Renable file and retire the old one on your own timeline.
What does it cost?
Free for your first 100 items — no credit card. Paid plans are a flat price per feed item your rules keep, with no percentage of ad spend and unlimited seats, and channels are never a paid add-on. See pricing for the full ladder.

Give Criteo a catalog worth compositing

Start free, and see what Criteo would read differently before you publish.