Overview
Criteo serves personalized ads to mobile app users who have a high probability of clicking through and engaging with the app. In order to make an accurate prediction on the user’s intent and likelihood of conversion, Criteo captures app events and collects relevant data associated with each event from the mobile device. This document provides detailed specifications of the mobile app events, required parameters, and implementation guidelines for mobile data partners, so they can forward the relevant data in the correct format to Criteo. The table below describes what classifies as a product for various business verticals. Ultimately, the product ID sent to Criteo should match the product ID in the product catalog feed of the advertiser imported in our platform:Implementation
Mobile event data needs to be transmitted to Criteo endpoints as URL encoded JSON objects. The data should preferably be sent to the Criteo endpoint as an HTTP POST request with the body as a JSON data structure. HTTP GET requests are also supported. In this case, the JSON data should be sent as the value of the single query parameter?data= (in URL-encoded format — see cURL examples below).
Criteo Endpoints
All events should be sent to this endpoint:
Depending on the region of the data center, it might respond with an HTTP
307 redirect.
If you are not able to follow redirections, you need to determine the user’s location and select the corresponding regional endpoint:
For the list of countries associated with each region in the table above, see Appendix B. Criteo Country to Geographic Region Mapping.
Event Parameters
Following is the list of parameters required for each Criteo event.For a more detailed description of each event parameter, see Appendix A. Criteo App Events Parameters Summary.
Sample event data structure:
HTTP Call Examples & Response Body
Sample raw event call using the HTTP POST method (recommended):Event Specifications
The following lists standard Criteo app events and required parameters associated with each event.View Home
This event captures app launch or the default home page view of the mobile app:App Deeplink
This event captures app launches that were invoked through Native Deeplinks or Universal Link / Android App Links:View Listing
This event captures the user’s action of viewing a list of product items and should be fired, ideally, when the user accesses category or search screens:View Product
This event captures the user’s action of viewing a specific product:View Basket
This event captures the user’s action of visiting the basket/cart and reviewing the items before checkout:Track Transaction
This event should be fired when the user has completed the purchase:Additional Data for the Travel Vertical
Criteo recommends advertisers in the Travel vertical (Flights/Hotels/Car/Restaurant Booking sites) send check-in and check-out dates related to the booking search to help improve our optimization learnings. Those dates can be sent to Criteo as an additional event called"vs" in the events array, as in the View Product event example below:
Date values must be sent to Criteo in the format
YYYY-MM-DD.Hashed Email for Cross-Device Targeting
Mobile advertisers should send Criteo the email address of the app user whenever available, either in SHA-256 hashed format (recommended) or plain-text, to enable our cross-device targeting capabilities and allow for better cross-environment measurement. The hashed email can be added to any of the event types above. Following are the steps to generate a valid hashed email address:- Convert all characters to lower case
- Remove any blank spaces
- Ensure to use UTF-8 encoding
- Hash using the SHA-256 algorithm
- Using the
alternate_idsstructure, or - Using the dedicated
setEmailevent type
SHA-256 is the industry standard hash algorithm and is currently the only hash method supported by Criteo.
Sending Email as alternate_ids
Following are examples of sending an email address as one of the alternate IDs, in the JSON root:
SHA-256 hashed format:
Sending Email as Event setEmail
Following are examples of sending an email address in the dedicated setEmail event, as part of the events structure:
SHA-256 hashed format:
Extra Data
The Criteo Endpoint accepts generic extra data through the"events" structure in the format of key-value pairs. This extra data can be applied to different advanced purposes, like audience segmentation and special tracking needs, among others, and can be added to the events structure as below:
New Event Taxonomy Specifications
The event types above were designed primarily considering clients from the Retail, Travel, and Classified business verticals. For other verticals, it may be useful to collect additional event types to enrich our reporting capabilities.Recommended Events per Vertical
The recommendation is to send all events that describe the “user-flow” in the app. The table below shows the recommended events per vertical:Complete Registration
Event informing when user registers in the app:Expand
Expand
Login
Event informing when user logs in:Expand
Expand
Add Payment Info
Event informing when user adds payment info:Expand
Expand
Select Product
Event informing when user selects a specific product variant within the app:Expand
Expand
Begin Checkout
Event informing when user starts the checkout:Expand
Expand
Add to Cart
Event informing when user adds an item/product to the cart:Expand
Expand
Add to Wishlist
Event informing that user adds an item/product to the wishlist:Expand
Expand
Cancel Transaction
Event informing that the user cancels a transaction:Expand
Expand
Start Trial
Event informing that user starts a service trial:Expand
Expand
Subscribe
Event informing that user subscribes to a service:Expand
Expand
Play Media
Event informing when user achieves a new level within the game:Expand
Expand
Begin Tutorial
Event informing when user has completed the tutorial within the game:Expand
Expand
Complete Tutorial
Event informing when user has completed the tutorial within the game:Expand
Expand
Level-Up
Event informing when user achieves a new level within the game:Expand
Expand
Earn Virtual Currency
Event informing when user earns virtual currency within the game:Expand
Expand
Unlock Achievement
Event informing when user has reached a key milestone within the game:Expand
Expand