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.

What are the benefits of integrating MetaRouter with Criteo?

  • Enhanced privacy and security: Direct server integration reduces the exposure of user data to third-party platforms, enhancing privacy and security compliance.
  • Reduced site latency: Decreases the reliance on third-party tags, resulting in faster loading times for websites and improved user experience.

Getting Started - From Your Criteo Account

  • Grab your Partner ID
    1. Log into your Criteo Commerce Growth account.
    2. On the left-hand navigation, under Events, click on Events Tracking.
    3. Under the “Select a data set” drop-down, you will find your Partner ID in parentheses next to your account name.

Getting Started - From Your MetaRouter Account

Adding 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. Ex, for http://www.yourdomain.com/, it could be “http://yourdomain.com/” or “http://www.yourdomain.com/”.
FIRST_PARTY_NAMEAdvertiser name. Ex, “metarouter”
PARTNER_IDThe partner ID of the account you are sending the data to.

Adding a Criteo Sync

To gather and send the anonymousID value as a cookie to Criteo’s identity endpoint, you must add a Criteo sync.

  1. From the Pipelines page, find the pipeline associated with the web property you’d like to add a sync to. Hover over the three-dot dropdown and select “Build AJS File.”
  2. In the Identity Syncs section, select the Criteo sync.
  3. Fill out the following fields:
    1. Partner ID - The partner ID of the account you are sending the data to.
    2. First Party Name - Advertiser name. Ex. “metarouter”
    3. First Party Domain - The domain of the partner. Ex, for www.fnac.com, it could be “fnac.com” or “www.fnac.com”.
    4. Cookie Lifetime (in days) - 30 days recommended
    5. Fire on re-sync - Default set to off
  4. Scroll down and click the Save and Build File button.
  5. Deploy your AJS file to propagate changes to your web property.

Event Mappings

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.

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 Key

Description

Expected Input

account Required

Type: String The partner ID of the account you are sending the data to.

partner_id

site_type

Type: String The device type of the user. This accepts 'd' (desktop), 't' (tablet) or 'm' (mobile).

Direct value: d

retailer_visitor_id Required

Type: String A unique Id that is consistent across multiple sessions for an unauthenticated user.

anonymousId

ip Required

Type: String The IP address of the user.

context.ip

full_url Required

Type: String The full URL where the event is triggered.

context.page.url

page_title

Type: String Title of page.

context.page.title

user_agent Required

Type: String The user agent string from the user's browser.

context.userAgent

events.timestamp

Type: String The timestamp the event happened for the user.

Valid formats: UNIX timestamp yyyy'-'MM'-'dd'T'HH':'mm':'ssZ yyyy'-'MM'-'dd'T'HH':'mm':'ssz yyyy'-'MM'-'dd'T'HH':'mm':'sszzz

timestamp

alternate_ids

Type: String Normalizes the email (trimmed and lowercased) and returns multiple identifier variants: sha256, md5, sha256_md5, and none (raw normalized email).

N/A - Expression


Event Specific

product_list_viewed

Output Key

Description

Expected Input

events

Type: viewList An array of the top 3 products on the listing page a user visited.

N/A - Expression

cart_viewed

Output Key

Description

Expected Input

events

Type: viewBasket Item ID, price, category, and quantity.

N/A - Expression

order_completed

Output Key

Description

Expected Input

events.currency

Type: String The ISO code of the currency being passed to the tags.

properties.currency

events.order_id

Type: String The order ID used to identify a given order.

properties.order_id

events

Type: trackTransaction Timestamp, currency, order ID, Item ID, price, and quantity.

N/A - Expression

product_added

Output Key

Description

Expected Input

events

Type: addToCart Item ID, price, and quantity.

N/A - Expression

product_viewed

Output Key

Description

Expected Input

events.event

Type: String Event triggered.

viewItem

events.item

Type: String The product ID of the product the user looked at.

properties.product_id

events.timestamp

Type: String The timestamp the event happened for the user.

timestamp

products_searched

Output Key

Description

Expected Input

events

Type: viewList Item ID, price, and quantity.

N/A - Expression

payment_info_entered

Output Key

Description

Expected Input

events.event

Type: String Event triggered.

addPaymentInfo

checkout_started

Output Key

Description

Expected Input

events.currency

Type: String The ISO code of the currency being passed to the tags.

properties.currency

events.id

Type: String The order ID used to identify a given order.

properties.order_id

events

Type: beginCheckout Item ID, price, and quantity.

N/A - Expression

identify

Output Key

Description

Expected Input

events.event

Type: String Login event triggered.

N/A - Expression

page

Output Key

Description

Expected Input

events.event

Type: String View Page Event triggered.

N/A - Expression


Required 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?
anonymousID130161d0-8fee-4167-aa4d-d151eed27c6bYes - Sync is required to send anonymousID to their identity endpoint
ip127.0.0.1No
user_agentMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0No
full_urlhttps://www.example.com/product/12345No

Recommended Identifiers

These identifiers should be mapped to Criteo whenever possible to ensure the highest user match rates possible. If using these identifiers, they must be added as Global or Event Specific mappings.

AttributeDescriptionExample
id.email.rawThe users raw email address, whitespace trimmed and lowercase.[email protected]
id.email.sha256_md5The users email, whitespace trimmed, lowercase, MD5 hashed then SHA256 hashed.7328fddefd53de471baeb6e2b764f78a
id.email.md5The users email, whitespace trimmed, lowercase and MD5 hashed.97817c0c49994eb500ad0a5e7e2d8aed51977b26424d508f66e4e8887746a152
id.email.sha256The users email, whitespace trimmed, lowercase and SHA256 hashed.9561c3516f02f51fa0ac38e9c81df0157ebab90d59ebde6fcf0f128f06a66423

Additional Criteo Documentation

Criteo OneTag Events and Parameters