ads-criteo
Skill1 starsChanged 5 days agoMITView on GitHub
Use when integrating Criteo Retail Media or Commerce Growth tracking, choosing OneTag versus Delivery API, wiring trackTransaction, configuring first-party IDs and consent, or verifying attribution setup.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- itsryanarmani/skillsword for word, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 1
- itsryanarmani/skills★ 1100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository325 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accept-x402-paymentsSkill
- ad-auto-optimizerSkill
- ad-conversion-hubSkill
- ad-creative-generationSkill
- ad-creative-templatesSkill
- ad-experimentsSkill
- ad-image-prompt-librarySkill
- adobe-express-addonSkill
- ad-platform-credentialsSkill
- ads-amazonSkill
- ads-apple-searchSkill
- ads-baiduSkill
- ads-bilibiliSkill
- ads-chatgptSkill
- ads-copilotSkill
- ads-discordSkill
- ads-douyinSkill
- ads-googleSkill
- ads-hotstarSkill
- ads-kakaoSkill
- ads-kuaishouSkill
- ads-lgSkill
- ads-lineSkill
- ads-linkedinSkill
- ads-mercadolibreSkill
- ads-meta-aiSkill
- ads-metaSkill
- ads-microsoftSkill
- ads-mojSkill
- ads-naverSkill
- ads-nextdoorSkill
- ads-outbrainSkill
- ads-perplexitySkill
- ads-pinterestSkill
- ads-quoraSkill
- ads-redditSkill
- ads-rokuSkill
- ads-samsungSkill
- ads-sharechatSkill
- ads-shopeeSkill
- ads-snapchatSkill
- ads-spotifySkill
- ads-stackadaptSkill
- ads-stravaSkill
- ads-taboolaSkill
- ads-tencentSkill
- ads-tiktokSkill
- ads-trade-deskSkill
- ads-twitchSkill
- ads-vkSkill
- ads-wazeSkill
- ads-weiboSkill
- ads-xiaohongshuSkill
- ads-xSkill
- ads-yahoo-japanSkill
- ads-yandex-directSkill
- ads-yelpSkill
- agent-avatar-systemSkill
- agent-browser-consolesSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
24 rules. About 0 are common, 19 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 10
Use the documented OneTag or Delivery API route for the agreed Criteo product.
- Distinctive: line 11
Use ad-conversion-hub for the canonical event envelope, consent gate, identity rules, retry policy, and adapter contract.
- Distinctive: line 21
Start with the Criteo account team for the product, partner ID, feed, placements, and QA path.
- Distinctive: line 37
Use these local hub names, which are not vendor fields:
- Very specific: line 75
Use setSiteType only when you need Criteo's documented device values.
- Very specific: line 108
Do not invent /conversions, /events, a JSON conversion body, or an event_id field.
- Distinctive: line 141
Use it only when Criteo has approved the Direct API integration.
- Very specific: line 145
Use retailer-visitor-id for a persistent, unauthenticated first-party identifier.
- Distinctive: line 147
Do not use a session cookie for this identifier.
- Very specific: line 150
Use customer-id for a consistent authenticated user ID.
- Distinctive: line 155
Before hashing, trim spaces, remove commas, semicolons, quotes, and double quotes, then lowercase the address.
- Very specific: line 171
Do not create criteo_click_id, cto_lwid, or another guessed parameter.
- Distinctive: line 175
Use your own UTM or campaign-code fields for site analytics only.
- Distinctive: line 176
Do not treat those fields as Criteo attribution fields.
- Distinctive: line 188
Do not assume that matching those values suppresses duplicate calls across integration methods.
- Distinctive: line 200
Do not replace them with guessed values from another region or account.
- Distinctive: line 205
Ask the Technical Account Manager when the server region is unclear.
- Distinctive: line 219
Run a test purchase on the confirmation page.
- Distinctive: line 231
Do not use the Retail Media management OAuth token as proof of a conversion.
- Distinctive: line 233
Do not send raw email data.
- Distinctive: line 235
Do not fire the loader without the configured partner ID.
- Distinctive: line 237
Do not fire the same beacon twice for one action.
- Distinctive: line 239
Do not put bearer tokens or client secrets in browser code, URLs, logs, screenshots, or commits.
- Distinctive: line 242
Do not fail checkout when Criteo is unavailable.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Criteo Ads
Criteo documents OneTag for Retail Media and a Direct API for ad delivery. The reviewed Criteo documentation does not describe a general public conversion-ingestion endpoint. Use the documented OneTag or Delivery API route for the agreed Criteo product. Use ad-conversion-hub for the canonical event envelope, consent gate, identity rules, retry policy, and adapter contract. Pair it with ad-experiments for one-audience tests, seed sizing, PII-export authorization, and payment-provider truth.
Account and access
Criteo's integration docs use a technical contact or Technical Account Manager. That contact provides the partner ID and configures the account and ad inventory. See API parameters and integration overview.
The official docs reviewed do not provide a public self-serve advertiser signup flow. Start with the Criteo account team for the product, partner ID, feed, placements, and QA path. The Retail Media integration overview describes account setup after feed preparation and technical QA. See integration overview.
For Retail Media management APIs, create an app in the Criteo Partners Portal. Criteo supports client-credentials and authorization-code OAuth methods. Advertisers grant app access to selected accounts through the Criteo consent dashboard. See create an app and authorization requests.
For Delivery API authentication, Criteo documents static tokens and dynamic bearer tokens.
Static tokens come from the Technical Account Manager.
Dynamic tokens use POST https://api.criteo.com/oauth2/token with form fields grant_type, client_id, and client_secret.
The documented response gives a bearer token with expires_in: 900.
See authentication tokens and authentication.
Criteo defines no environment-variable names in these docs. Use these local hub names, which are not vendor fields:
CRITEO_PARTNER_ID Criteo partner ID
CRITEO_API_CLIENT_ID local client ID storage
CRITEO_API_CLIENT_SECRET local client secret storage
CRITEO_DELIVERY_TOKEN server-only Delivery API bearer tokenClient-side OneTag
OneTag is a JavaScript integration that logs user events, builds audiences, and serves ads. Load the dedicated asynchronous loader with the partner ID supplied by Criteo. See OneTag for Retail Media Onsite.
<script
type="text/javascript"
src="https://dynamic.criteo.com/js/ld/ld.js?a=<CRITEO_PARTNER_ID>"
async="true">
</script>
<script>
window.criteo_q = window.criteo_q || [];
window.criteo_q.push(
{ event: "setAccount", account: "<CRITEO_PARTNER_ID>" },
{ event: "setRetailerVisitorId", id: "<RETAILER_VISITOR_ID>" },
{ event: "setCustomerId", id: "<CUSTOMER_ID>" },
{ event: "trackTransaction", id: "<ORDER_ID>", page_id: "<TRANSACTION_PAGE_ID>", item: [
{ id: "<SKU>", price: "49.99", quantity: "1" }
] }
);
</script>The loader must run before OneTag events can fire. The account, visitor, customer, and transaction fields above follow Criteo's documented names. See OneTag event examples and OneTag troubleshooting.
Use setSiteType only when you need Criteo's documented device values.
The values are d for desktop, m for mobile, and t for tablet.
See OneTag universal events.
Rule setup and event mapping
Criteo's documented setup uses event names and page IDs, not a separate conversion-rule object. Your Criteo technical contact supplies page IDs unless the documentation gives a standard value. See OneTag page events and API call parameters.
| Hub event | Criteo event | Implementation rule |
page_view | viewHome, viewCategory, or viewSearchResult | Use the event matching the page type. |
view_content | viewItem | Send product ID, price, and availability on product pages. |
lead | No documented matching event | Keep the hub event in first-party analytics. |
signup | No documented matching event | Keep the hub event in first-party analytics. |
begin_checkout | viewBasket when the page is a basket | Do not rename a generic checkout event without product context. |
purchase | trackTransaction | Send the completed order and its products. |
subscription_start | No documented matching event | Keep the hub event in first-party analytics. |
refund | No documented matching event | Reconcile refunds with payment-provider truth. |
The documented purchase event requires page_id, id, and item.
Each item contains a product ID, unit price, and quantity.
Product IDs must match the product feed IDs.
See OneTag order confirmation.
Fire trackTransaction on the post-purchase confirmation page after the order succeeds.
Criteo's offsite example calls this page the “Thank You” page and requires unit prices.
See OneTag for Retail Media Offsite.
Server-side conversions API
Criteo does not document a general public Ads Conversions API in the official pages reviewed.
Do not invent /conversions, /events, a JSON conversion body, or an event_id field.
The documented server-capable route is the Retail Media Direct API, which requests ads and carries page events.
See Direct API process.
The Delivery API uses a regional host and the /delivery/retailmedia path.
Criteo documents d.eu.criteo.com, d.us.criteo.com, and d.as.criteo.com.
Choose the endpoint from the server's origin, not the user's location.
See Ad Server API Calls.
For a Direct API integration, the documented transaction request uses these fields:
GET https://d.<region>.criteo.com/delivery/retailmedia
Authorization: Bearer <CRITEO_DELIVERY_TOKEN>
?criteo-partner-id=<CRITEO_PARTNER_ID>
&retailer-visitor-id=<RETAILER_VISITOR_ID>
&customer-id=<CUSTOMER_ID>
&page-id=<TRANSACTION_PAGE_ID>
&event-type=trackTransaction
&transaction-id=<ORDER_ID>
&item=<SKU_1>|<SKU_2>
&price=<UNIT_PRICE_1>|<UNIT_PRICE_2>
&quantity=<QTY_1>|<QTY_2>The item, price, and quantity arrays must align.
The API checklist marks page-id, event-type, transaction-id, item, price, and quantity as required for the transaction call.
See API call checklist.
URL-encode each dynamic value before interpolating it into the query string. Preserve the literal | array separators; do not encode those.
This Delivery API call is an ad request with transaction context. It is not a generic server conversion endpoint or a substitute for the hub's payment event. Use it only when Criteo has approved the Direct API integration.
Identity and consent
Use retailer-visitor-id for a persistent, unauthenticated first-party identifier.
Criteo documents a maximum cookie lifetime of 13 months and a minimum lifetime of 30 days.
Do not use a session cookie for this identifier.
See API parameters.
Use customer-id for a consistent authenticated user ID.
Continue sending retailer-visitor-id when you send customer-id.
See API parameters.
Send email only as a SHA-256 hash when the Criteo team enables it.
Before hashing, trim spaces, remove commas, semicolons, quotes, and double quotes, then lowercase the address.
See Criteo email parameter rules.
The hub owns normalization and consent decisions.
For TCFv2 API calls, Criteo documents gdpr and gdpr_consent.
For non-TCF opt-out handling, Criteo documents block=1.
See European API parameters.
OneTag supports IAB TCF through a compliant consent-management platform. Alternatively, manually trigger OneTag only after the user consents to work with Criteo. See Criteo Transparency and Consent Framework.
Click ID and first-party cookie
The Criteo documentation reviewed here does not define a Criteo-owned landing-page click parameter.
It defines retailer-visitor-id, customer identity, and Criteo-returned tracking beacons instead.
Do not create criteo_click_id, cto_lwid, or another guessed parameter.
See API parameters and Beacon types.
Persist the approved retailer-visitor-id in first-party storage when consent allows it.
Use your own UTM or campaign-code fields for site analytics only.
Do not treat those fields as Criteo attribution fields.
The Criteo docs describe the visitor ID as the retailer's first-party ID for cross-session activity on the same device.
See retailer visitor ID.
Criteo returns load, view, click, and basket-change beacon URLs through its ad delivery response. Attach each returned beacon to the matching rendered placement or product. See Beacon types and BeaconSDK.
Deduplication
Criteo does not document browser-to-server deduplication with a shared event ID.
The documented purchase identifiers are OneTag's trackTransaction.id and Direct API's transaction-id.
Do not assume that matching those values suppresses duplicate calls across integration methods.
See OneTag order confirmation and API call checklist.
Fire each Criteo beacon once for each user action.
Criteo says duplicate beacon firings can create duplicate billable activity.
The documented exception is OnBasketChangeBeacon, which fires for each basket change.
See Beacon types.
Criteo settings that override code
The partner ID comes from Criteo's technical contact. Page IDs and placement IDs also come from Criteo's configured integration. Do not replace them with guessed values from another region or account. See API parameters.
The Direct API endpoint depends on the server's region. The API docs list separate EMEA, Americas, and APAC hosts. Ask the Technical Account Manager when the server region is unclear. See Ad Server API Calls.
The Criteo account team must configure the account, inventory, product feed, and technical QA. Code cannot activate an unconfigured placement or replace that approval path. See integration overview.
Verification
For OneTag, open the browser Network panel and find the ld.js loader request.
Then find an event request beginning with event?a=.
Criteo's troubleshooting guide uses both requests to verify loader and event execution.
See OneTag troubleshooting.
Run a test purchase on the confirmation page. Confirm that the transaction event contains the configured account, visitor ID, order ID, product IDs, prices, and quantities. Reconcile the order with payment-provider success and the hub dispatch record. The Criteo QA checklist requires a test purchase for transaction tracking. See Sponsored Products checklist.
Compare Criteo hit counts with your own analytics page-view counts. Criteo says the counts should match or remain similar across homepage, search, product, basket, and sales-confirmation pages. See OneTag troubleshooting.
Common pitfalls and security
- Do not use the Retail Media management OAuth token as proof of a conversion. It grants API access, not attribution. See Retail Media authentication.
- Do not send raw email data. Criteo's documented email field expects a SHA-256 value. See API parameters.
- Do not fire the loader without the configured partner ID. Criteo says the loader cannot trigger OneTag without its account setup. See OneTag troubleshooting.
- Do not fire the same beacon twice for one action. Duplicate firing can create duplicate billable activity. See Beacon types.
- Do not put bearer tokens or client secrets in browser code, URLs, logs, screenshots, or commits. Store them in the server secret store and use HTTPS for requests.
- Load client code only from the vendor's official HTTPS origin. Never mirror the loader through your own CDN.
- Do not fail checkout when Criteo is unavailable. Return the hub's adapter result and preserve payment-provider truth.
Official sources checked (2026-08-29)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

