Criteo

What Is Criteo?

Criteo is a technology company specializing in digital advertising. Their platform utilizes machine learning algorithms to analyze online user behavior and deliver targeted ads across various devices and channels. By helping advertisers reach potential customers who have shown interest in their products or services, Criteo aims to improve ad performance and drive conversions.


Product Type: Advertising
Integration Type: Starter Kit & ID Sync
Event Source Type: Web
Event Scope: Full-Funnel Events


Capabilities

  • Sends server-side event data directly to Criteo, reducing exposure of user data to third-party platforms.
  • Reduces reliance on third-party tags, resulting in faster site loading times.
  • Supports full-funnel events including page, product, cart, and order lifecycle actions.
  • Sends hashed email identifier variants (SHA-256, MD5, SHA-256 of MD5, and normalized raw) for improved matching.

Considerations

  • The partner ID, first-party name, and first-party domain must be provided by Criteo or configured for your site.
  • The first-party domain is used to avoid ID collisions across different websites.
  • The site type defaults to d (desktop); it accepts d (desktop), t (tablet), or m (mobile).
  • Events are sent one per request; batching is not supported (batch size is 1).

Identity Sync

  • Sync Available: Yes
  • Required for Starter Kit: Yes
  • Prerequisites: Criteo partner ID, first-party name, and first-party domain
  • Documentation: See Additional Criteo Sync Documentation

Sync Details

  • Sends the anonymousId value as a cookie to Criteo's identity endpoint.
  • Required by Criteo to associate events with users.
  • Without this sync, events sent to Criteo will be rejected.

Starter Kit Setup Guide

1. Deploy the Criteo Sync

  • To send the anonymousId to Criteo's identity endpoint, you must implement a Criteo ID sync. Refer to the following documentation to complete the setup: Criteo - ID Sync Guide.

2. Gather Credentials

  • Grab your Partner ID from your Criteo account:
    • Log into your Criteo Commerce Growth account.
    • On the left-hand navigation, under Events, click on Events Tracking.
    • Under the "Select a data set" drop-down, your Partner ID is in parentheses next to your account name.

3. Add a Criteo Integration

  • From the integration library, add a Criteo integration. Then, fill out the Connection Parameters:
Connection ParameterDescription
FIRST_PARTY_DOMAINThe domain of the partner (e.g., for www.yourdomain.com, it could be yourdomain.com or www.yourdomain.com). Used to avoid ID collisions across sites.
FIRST_PARTY_NAMEAdvertiser name (e.g., metarouter).
PARTNER_IDThe partner ID of the account you are sending the data to. Contact your Criteo representative if you do not have this value.

4. Configure Event Mapping

  • MetaRouter provides all of the event mappings that Criteo integrations typically require. You may add custom events, parameters, or mappings in accordance with Criteo's API documentation.

5. Deploy to Pipeline

  • In the Pipelines tab, add your Criteo integration.
  • Select the correct integration revision.
  • Click Add Integration to finalize deployment.

Event Mappings

Global

Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.

Output KeyDescriptionExpected Input
account RequiredString: The partner ID of the account you are sending the data to.$$PARTNER_ID$$
site_typeString: The device type of the user. Accepts d (desktop), t (tablet), or m (mobile).Enrichment – 'd'
retailer_visitor_id RequiredString: A unique ID that is consistent across multiple sessions for an unauthenticated user.anonymousId
ip RequiredString: The IP address of the user.context.ip
full_url RequiredString: The full URL where the event is triggered.context.page.url
page_titleString: Title of the page.context.page.title
user_agent RequiredString: The user agent string from the user's browser.context.userAgent
alternate_idsArray: Normalizes the email (trimmed and lowercased) and returns identifier variants — sha256, md5, sha256_md5, and none (raw normalized email).Expression – builds hashed email variants from traits.email
events.timestampString: The timestamp the event happened for the user.timestamp

Event Specific

Identify

Output KeyDescriptionExpected Input
events.eventString: Login event triggered.Enrichment – 'login'

Page

Output KeyDescriptionExpected Input
events.eventString: Page event triggered — viewHome for the home path, otherwise viewPage.Expression – returns 'viewHome' when path is /, else 'viewPage'

Products Searched

Output KeyDescriptionExpected Input
eventsviewList: Builds the search event with timestamp, category, search keywords, and the product ID.Expression – builds the viewList event from properties

Product List Viewed

Output KeyDescriptionExpected Input
eventsviewList: Builds the list-view event with timestamp, currency, category, and an array of the top 3 product IDs on the listing page.Expression – builds the viewList event from properties

Product Viewed

Output KeyDescriptionExpected Input
events.eventString: Event triggered.Enrichment – 'viewItem'
events.itemString: The product ID of the product the user looked at.properties.product_id
events.timestampString: The timestamp the event happened for the user.timestamp

Product Added

Output KeyDescriptionExpected Input
eventsaddToCart: Builds the add-to-cart event with timestamp, currency, and the item's ID, price, and quantity.Expression – builds the addToCart event from properties

Cart Viewed

Output KeyDescriptionExpected Input
eventsviewBasket: Builds the basket-view event with timestamp, currency, and each item's ID, price, category, and quantity.Expression – builds the viewBasket event from properties.products

Payment Info Entered

Output KeyDescriptionExpected Input
events.eventString: Event triggered.Enrichment – 'addPaymentInfo'

Checkout Started

Output KeyDescriptionExpected Input
events.currencyString: The ISO code of the currency being passed to the tags.properties.currency (uppercased)
events.idString: The order ID used to identify a given order.properties.order_id
eventsbeginCheckout: Builds the checkout event with timestamp, currency, and each item's ID, price, and quantity.Expression – builds the beginCheckout event from properties.products

Order Completed

Output KeyDescriptionExpected Input
events.currencyString: The ISO code of the currency being passed to the tags.properties.currency (uppercased)
events.order_idString: The order ID used to identify a given order.properties.order_id
eventstrackTransaction: Builds the transaction event with timestamp, currency, order ID, and each item's ID, price, and quantity.Expression – builds the trackTransaction event from properties.products

Required & Recommended Identifiers

These identifiers must be mapped to Criteo in order for successful user matching to occur. Without these IDs, any events sent to Criteo will be rejected. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.

AttributeExampleSync Injector Required?
anonymousId Required130161d0-8fee-4167-aa4d-d151eed27c6bYes
ip Required127.0.0.1No
user_agent RequiredMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0No
full_url Requiredhttps://www.example.com/product/12345No
alternate_ids Recommended9561c3516f02f51fa0ac38e9c81df0157ebab90d59ebde6fcf0f128f06a66423No

Integration Validation

Coordinate with your Criteo representative to confirm that events are being received and processed correctly on their backend.


Additional Criteo Documentation