A guide to implement Criteo solutions in Tealium.


This tutorial will explain how implement Criteo OneTAg within Tealium using the Criteo built-in extension.




  1. Go to Tags > Add Tag 1 2

  2. Locate the Criteo OneTag extension under the Display Ad section and give the tag a name from the below list:

  3. Create the Tag Configuration by clicking on the Tag Name below to view the Tag Configuration. Note that the Account field needs to be filled with your Partner ID. Your Criteo Partner ID is {{accountid}} Also, please pay attention to the Event Name for each Tag Configuration.

    Criteo Homepage Tag


    Criteo Listing Tag


    Criteo Product Tag


    Criteo Basket Tag


    Criteo Transaction Tag


  4. Give the Tag a Load Rule based on where the tag should fire. Choose from an existing Load Rule, or create a new Load Rule. 8

    • Criteo Homepage Tag: Load on the home page of the website
    • Criteo Listing Tag: Load on any page that shows multiple products
    • Criteo Product Tag: Load on every detailed product page
    • Criteo Basket Tag: Load on the page that gives an overview of the basket
    • Criteo Transaction Tag: Load on the page that a customer sees after completing the sale
  5. Click Finish to save each tag.

Data Mappings

Within the built-in extension, there are pre-defined data sources we use for each Event Name. If you are using the E-Commerce Extension and have mapped the List of Products (_cprod), List of Quanitites (_cquan), and List of Prices (_cprice) variables, those data sources are then mapped automatically to their appropriate destinations. If you're not using the E-Commerce Extension, then you must map all the data sources manually. As a best practice, we recommend that you use the E-Commerce Extension in conjunction with Criteo OneTag. To set up the E-Commerce Extension, see our E-Commerce Extension article.


  1. Check to see that you have the E-Commerce Extension. If you are not sure whether you have the E-Commerce Extension, you can go to Extensions > Add Extension, and search for E-commerce: 9

  2. Check the variables on-site. If you have the E-Commerce Extension, then you can check that the pre-defined data sources have the correct information using your browser's Developer Tools console. Navigate to your product page. In your console, use the following script utag_data._cprod
    and you should see code similar to the following: 10 where _cprod is the variable the Criteo Extension looks for by default for the Product ID, "24441" in this example. Please repeat this process for your listing page, basket page, and transaction page, checking for the following values: 11 If all of these values for these pages exist and return the appropriate value, then you will not need to make any changes to your Data Mappings. If you have different values for the Product ID, Product Price, Product Quantity, or Order ID, then you will need to create a new Data Mapping for that Tag. Run the script utag_data to view all your available utag_data variables.

  3. Check if value for Listing Tag is not available. In many cases, you may find that the E-Commerce Extension does not have the appropriate utag data for your Category & Browse pages. This means that utag_data._cprod will be a null value. If the product SKUs are available outside of the utag_data, you can use the Set Data Values extension in Tealium iQ. Create a variable called criteo_viewList_product_skus and use JS Code to take an array of the top 3 products from your page. Below is an example of doing so. Please note that the JS Code will be unique to your site: 12 Then map this variable to the product_id variable for the viewList Tag. The next section explains how to create a new Data Mapping.

  4. Create the Data Mapping. If you are using the E-Commerce Extension and need to create a new Data Mapping, you can map a different utag_data variable for the tag. Start by navigating to the tag you are editing the Mapping for, locating the MAPPED DATA SOURCES section and selecting Edit: 13 Choose the utag_data variable name from the Data Sources drop-down menu: 14 And assign that variable to one of the Criteo OneTag Destinations: 15 If you are not using the E-Commerce Extension, or need to map a variable outside of the E-Commerce Extension, then you can choose the Define & Map New Data Source option and create the variable to map to: 16

Cross Device

Our Cross-Device technology requires that you pass us the email information for a user who is logged in. For more information on our Cross-Device technology, please refer to the following document here.


  1. If you are using the E-Commerce Extension, you can use utag_data in your browser's Developer Tools console to search for any variables that contain the email address of the logged-in user. In the below example, you can see the email value is stored in the va.properties.5149 variable: 17

  2. Map this value to the Criteo Email variable within Tealium, by navigating to the tag you will be creating the mapping for, edit the MAPPED DATA SOURCES: 18 And add the new Data Source under Define & Map New Data Source: 19 If you are not using the E-Commerce Extension, or you are using a variable that is not part of the utag_data, then you can create a new Data Source with that variable: 20 Assign the destination as Email if you are passing a plain-text email, use Hashed Email as the destination if you are passing an md5 hashed email: 21

  3. Click Apply to make the changes. 22


Tealium has it's own model of attribution that differs from Criteo's. In effort to align to Tealium's attribution, you can add our Deduplication parameter.


  1. Navigate to Extensions > Add Extension under the Advanced tab to add the Channels Extension 23

  2. Add the Criteo Channel in the Extension: 24 Here you can chose the type of attribution (influencer, originator, closer): 25 26

  3. Create a new variable. Using the Set Data Values Extension, set a variable that will populate with 1 if the sale is attributed to Criteo, and 0 if otherwise. In the below example, if channel_closer is defined, then we set assign a value to the crteio_dd variable with the following JS Code: b.channel_closer === "Criteo" ? 1 : 0; 27

  4. Now you can map this new variable to the Criteo Deduplication Destination: 28



  1. Save/Publish 29

OneTag 2.0