Criteo OneTag technical notes

The Criteo OneTag includes a set of safety and quality mechanisms to ensure that there will not be a negative impact on your visitors’ browsing behavior and that the visitor’s privacy is protected.

User experience and performance

The Criteo OneTag doesn't alter your site visually and is completely invisible to your customers. What's more, the Criteo OneTag is asynchronous, so it won't affect your site loading time.

Device / bandwidth detection

The Criteo OneTag considers the current device of the user and the latency and bandwidth of the user's connection. Depending on that, the thresholds and the potential number of requests will be more strict.

Loading time thresholds

Time limitations are put in place to make sure the entire loading time does not exceed a certain threshold. All requests triggered by Criteo will immediately stop once the threshold has been reached.

Cached resources

The Criteo loader is a JavaScript library that will be cached by the user's browsers. This happens automatically as soon as the user interacts with the Criteo retargeting services on any website globally.
 

Compressed calls via HTTP-GZIP

All calls made to Criteo are HTTP-GZIP compressed to ensure a quick interaction between the user and Criteo’s data centers.
 

OnLoad-Event

The initial tracking request will be made as soon as the Criteo request has been fulfilled. All possible further requests triggered by the OneTag will only be made after the browser has successfully downloaded all primary resources including images, script files, CSS files, etc. from your website.

Example Criteo Calls: Inventory selection and Publisher calls are made after LOAD (red line)


Encapsulated calls

All potential publisher calls are triggered as an image request within an iFrame. This ensures that 3rd parties cannot place or read data on your website.

 

Smart inventory selection

We identify the most relevant publisher networks for the current users and also keep records of which publishers have already been informed of the current user. This way we make sure there are no redundant requests.

A user who interacted with Criteo in the past will see much fewer publisher tagging calls.

New users will see the maximum number of calls. Most monitoring and performance systems fall into the ‘new user’ category and because of that don’t reflect a realistic user browsing experience.

 

Publisher service monitoring

All publisher services are tested periodically and monitored 24/7 by Criteo around the globe. Loading times, response types, certificates, etc. are being monitored and checked constantly. Publishers are automatically removed from the inventory selection if tests are not passed completely.

 

What calls are triggered by OneTag?

Loader 

The initial call downloads our main JavaScript library, which functions as a framework and prepares all of the following requests. 

This request (down) loads a file hosted in our data centers. There is no processing time between the request and the response. We have five data centers worldwide with exceptional availability (uptime). The user’s browser caches this asset for 3 hours, so a user is only expected to pay for this connection time every 3 hours. 

Event  

The second call is the actual tracking event. This event sends the user-browsing information to our servers, such as which products are currently being looked at.  

What we refer to as the event collection is represented by a call to our Widget service (the tracking event endpoint call). This request will be processed by our servers before they respond, but the request is asynchronous. This means that the content of your website will continue to load as the browser waits for the response. Regardless, our average response time is only 25 milliseconds and our infrastructure team monitors latency 24/7 so that incidents are resolved within minutes. 

 

Syncframe call 

Another call initiated by our script is a call to gum.criteo.com/syncframe, which is used for online identification and approximately loads in about 1-2ms. 

  

Google Privacy Sandbox endpoint calls 

In your network screen you can also notice a couple of calls related to the Google PSB solution (such as Fledge and MeasurementAPI calls). They all have short download times – a couple of miliseconds. 

 

Parner pixels 

Our Widget call (the tracking call) also initiates dropping of a series of our partner’s pixels. This is when publishers are informed that we would like to show ads to the current user whenever they browse the publisher’s network. These requests are made as image requests and are therefore called 3rd-party pixels. We also refer to these as DIS calls (stands for Dynamic Inventory Selection).   

These pixels download asynchronously and in parallel, meaning that once the DISing call is done, the pixels are downloaded without any "waterfall effect". Most importantly, we only begin to tag users for publishers once the onLoad event has been reached and the page is fully usable for your visitors. This means that our tags will not affect the perceived load time of pages on your site. The pixel download times are rarely longer than a few miliseconds. You can find a full list of our partners here:  https://www.criteo.com/privacy/our-partners/. 

  

Can certain publisher calls be removed?


It is not possible to remove specific publisher calls, except if there are technical issues. This case will result in a global deactivation as explained above. In case of issues related to that please get in touch with your Criteo contact. 

Criteo OneTag HTTP/HTTPS calls explained 

The Criteo OneTag allows us to know who to retarget and what to recommend to them across our network of publishers. A smart algorithm evaluates where the user can be approached in the most efficient way. As a result, 3rd-party HTTP calls may be made. No personal or advertiser-related information is shared with other vendors.