Criteo Tags Implementation and Conversion Tracking

What is Criteo Tags and Tracking Implementation?

Having properly configured tags on a website is very important, especially if the efficency of the system depends on it. With Criteo this is the case. The system is highly dependant on the configuration. Configuring some view product tag will result in people seeing products that they did not visit and improper confiugration of the conversion tag may lead to misleading information about the efficency of the campaigns.

Elements of Criteo tags

Every tag has is slighly different implementation and elements. In the case of Criteo the most important elements are listed below. We recommend first assuring that these variables are available in the dataLayer before implementing the tags.

  • User email or IDs
  • Device – desktop/mobile/tablet
  • Purchase Value
  • Purchase Product IDs
  • Add To Cart Value
  • Add To Cart Product IDs

How to implement Criteo OneTag?

There are five places where you need to implement Criteo’s tag for it to properly function.

  • Homepage
  • Search / category listing pages
  • Product pages
  • Basket or cart page.
  • Sales confirmation page

Criteo Tag Code Example

<script type="text/javascript" src="//" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
         { event: "setAccount", account: YOUR UNIQUE ACCOUNT ID },
         { event: "setSiteType", type: "m FOR MOBILE OR t FOR TABLET OR d FOR DESKTOP" },
         { event: "setEmail", email: "TRIMMED AND LOWERCASE USER EMAIL ADDRESS" },         
         { event: "viewHome"}

In the code above you can see that in the first part we load the JS library from Criteo and in the next part we do a data push.  We see four events being fired.

  1. SetAccount – is a unique identifier of your user. It is difficult to the user ID when they are not logged in, so we only assign this unique value to users with an account. When the user is unidentifies it should be empty.
  2. setSiteType – is important for the dynamic remarketing feature criteo offers. Thanks to gathered data Criteo can provide excellent prospecting to users who are likely to buy. This event should have a value of ‘m’, ‘d’ or ‘t’.
  3. setEmail – is used to identify the user based on their email across the web and not only by your internal UserID.
  4. pageType – Last event is the website type where the user currently is. It can be ‘viewHome’,’viewItem’ or ‘viewList’.

How to test Criteo tag implementation?

We have developed an internal process to help us testing and troubleshooting Criteo tags setup. 

  1. Getting Access to the clients Criteo Panel – First of all we requst the access to the system of our clients. This way we have access to the panel which sometimes directs us to the error and makes it easier to fix.
  2. Making a test transaction – The second step is to make a test transaction. The best way to do this is by enabling Criteo Preview mode on you website, alongside GTM debbuger and the network tab open. All these three tools give us a different view of the tags and possible issues.
  3. Checking logs – After making the transaction we need to check the logs for the tools mentioned above. Has the tag fired, is it firing at the correct moment, is the data being transfered to Criteo, is the data in the correct format, is it hashed correctly, is the info about the device being transfer. All the sthings need to be correctly implemented to assure goog implementation.
  4. Fixing the errors – After identifying the issues we move on to correcting the errors. This is the most time consuming process, in some cases can take hours and some custom coding, variable creation and sending documentation to developers to make changes on the website.
  5. Testing – The next step is to test the setup. If there are still any errors we correct them, if not we let the system collect more data and after at least 24h we finalize the issue.

Need help? Contact us!