Overview
This document provides detailed information on the following implementation steps related to the source code of the app (if required):- Recommended events and parameters
- Deep link implementation
- Testing requirements
In-App Events Implementation
View Home
The viewHome event is automatically sent once Criteo has been activated on the app. It is triggered for each new user session.App Deeplink
The AppDeeplink event should be triggered every time the app is opened with a deeplink. For each activity that accepts deep links, find theonCreate method and add the following call:
View Listing
The viewListing event should be triggered on screens displaying product lists, like category or search results screens. To allow our platform to identify the type of products the user is interested in, you must include the IDs of the top three products displayed in the list, which should match those provided in the catalog feed.View Product
The viewProduct event should be triggered on all product-details screens. You must include the ID of the product detailed on the screen, which must be the same one provided in the catalog feed.View Basket
The viewBasket event should be triggered on the basket-details screens. You must include the IDs, unit prices, and quantities of the products available in the basket.Track Transaction
The trackTransaction event should be triggered on order confirmation screens after checkout. You must include a unique transaction ID as well as the IDs, unit prices, and quantities of the products contained in the transaction.Dates for Travel
It’s possible to attach check-in and check-out dates to every Criteo event with the parameter keysdin & dout. The format of the dates is "yyyy-mm-dd" and it has to be set every time a user enters new search dates. For example:
din & dout to null.
For one-way flight, you can skip the check-out parameter.
Hashed Email for Cross-Device Targeting
Clients have the option of sending Criteo the email address of app users when available. This will enable the cross-device Criteo targeting feature. For instance, if the email is “j.doe@gmail.com”, it can be sent in the format of SHA-256 (preferred) or MD5 hashed strings in the events as below: SHA-256:- Convert all characters to lower case
- Remove any blank spaces
- Convert to UTF-8
- Hash using SHA-256 or MD5 algorithm
- Email addresses need to be hashed before setting them in the event parameter. You can use existing libraries in Java/Kotlin or create your own function for it.
Customer ID
A Customer ID can be provided in all events. If the user is logged in to the advertiser’s app, the user ID should be passed.User ID is an optional parameter and should be left as an empty string if the user is logged out or the User ID is unavailable.
Enabling Reattribution via Deeplink
Adjust SDK v4.11.4+
Adjust enables you to run re-engagement campaigns with usage of deep links. If you are using the Adjust SDK v4.11.4 and above, this feature is enabled within the SDK. Once you have received deep link content information in your app, add a call to theappWillOpenUrl method. By making this call, the Adjust SDK will try to find if there is any new attribution info inside of the deep link and if any, it will be sent to the Adjust backend.
The function appWillOpenUrl should be implemented as follows to support deep linking reattributions in all Android versions: