A little of what we know.

Criteo and AdSense – Better Together?

Opening up your inventory to multiple sources makes sense: More advertisers, different technologies and more chance of a high paying match.  High on many publishers call list are Criteo, the retargeting company specialising in tempting would be shoppers back to online stores they have recently visited.

Criteo are a great partner to work with. They’re well established, reliable, deliver good quality adverts and can indeed deliver on performance. As Criteo pay on a CPC basis they can also feel quite familiar to AdSense publishers, but that familiarity can lead to some expensive mistakes with publishers actively decreasing their earnings through poor set-up.

AdSense and Criteo – the same, but different

On the surface AdSense and Criteo can seem very similar. Both require that you add a JavaScript tag to your site and in return show ads that pay you when a user click on them. There are differences though and the key ones centre on the fact that AdSense fills close to 100% of ad requests where as Criteo fills a much smaller proportion.

That isn’t a criticism of Criteo. That is exactly how it is supposed to work. Criteo aim to offer publishers a higher effective CPM on a smaller proportion of ad requests.  They do this by targeting users that have visited their advertiser’s websites before. The principal is that such users will be high value and also that Criteo can show highly targeted adverts likely to generate a high Click Through Rate. High CTR plus High CPC should equal good earnings for publishers.

The down-side is that such users are harder to find. Some publishers might find that Criteo’s fill rate never breaks single figures. These low fill rates introduce the potential to fall into some common traps.

Another key difference, and one that appeals a lot to publishers, is that Criteo allows you to set your own CPM floor; the minimum you want to be paid for any impression.  That sounds like the holy grail of advertising display, but also introduces some interesting ways to get things wrong.

Mistake 1 – No passback

If you run ads for any source that doesn’t have less than 100% fill rate then it is essential that you have another demand source in place to pick up unfilled impressions.  If you don’t then you are seriously undermining your ability to monetise your traffic.

Example: Network 1 fills 100% of impressions at $1.00 RPM.  Network 2 earns $3.00 RPM but only fills 25% of impressions.  If all impressions went to network 2 and no-where else your earnings would drop by 40% despite the apparently higher RPM.

The most common way to monetise unfilled impressions is using passback tags.  A passback tag is the code that you want Criteo to use when they are not able to show an advert that meets the minimum CPM you have set. The logic is as follows:


Whether Criteo can beat the CPM floor or not depends on whether an advertiser has set a re-targeting cookie on that user and how much the advertiser believes that user to be worth to them. As the CPM floor in increased less visits are likely to meet that criteria, the fill rate will drop and the passback tag will be called more frequently.

It’s possible (and indeed often advisable) to set-up chains of demand sources like this, with each link in the chain passing back unwanted impressions to the next in the line. Today though we’ll consider just two links in the chain.

Setting up an AdSense tag in Criteo is simple.  Simply copy ad code from the AdSense interface, edit your Criteo ad unit and paste the code into the “Your current advertising code” box.

criteo 2

Mistake 2 – not able to measure passback – differences

Ad tags called as passback will generally not perform as well as the same tags placed directly on a page or in your ad server.  This occurs thanks to a combination of targeting data being lost as it passes through each system, and the highest value impressions being cherry-picked by the sources higher up the chain.

Understanding the value of your passback units is essential to measure the performance of your tag as a whole. Always pass back to identifiable inventory.  When passing back to AdSense the easiest way to do this is to have dedicated ad units for your Criteo passback rather than re-using units that you also use further up the demand chain.

Mistake 3 – not understanding the true value of each ad request

The Criteo interface gives you clear data on the performance of each ad unit, including an RPM figure for each ad unit. That is useful information, but alone it is not enough to make an informed decision about what impressions to send their way.

The CPM reported in Criteo is based only on the impressions that Criteo choose to serve ads to, not on the total ad requests.  Due to the way Criteo works in targeting just the high value impressions this can be significantly different to the value you are getting from that tag.

Once you have the means to measure passback performance you have the means to measure the true value of the ad requests you pass to Criteo.  Earlier we used the example of receiving a $3.00 CPM and 25% fill rate. In this case Criteo would report $3.00 but your ad request performance would actually be $0.75.  In practice you would be passing back the remaining 75% of impressions, so the actual performance of the tag would be:

Criteo Revenue + AdSense Passback revenue / Ad Requests * 1000

Criteo revenue is available for each ad unit in their interface. If you are passing back to dedicated AdSense units then AdSense reporting will provide the passback revenue.  Ideally ad requests should be measured by the publisher, for instance via their ad server in order to eliminate inaccuracies from dropped impressions.  If that isn’t possible then ad unit impressions from Criteo is the next best option (although likely to give an optimistic result).

Mistakes 4 – failing to make comparisons

With those three common pitfalls avoided and more accurate performance data to hand, you have the means to test different set-ups and compare the results.  The obvious first comparison is to compare Criteo+AdSense with AdSense alone.

If you serve ads on your site through an ad server, such as DFP Small Business, it is quite straight forward to make that comparison. Simply traffic one line item running Criteo with AdSense fallback against another running AdSense alone on dynamic allocation.  DFP won’t be aware of the actual performance of your Criteo and passback units, so you’ll still need to do the maths manually, but this will give you a like for like comparison on how each set-up performs.

If you don’t use an ad server and instead place ad tags directly on your page it is a little more difficult.  If you use any split testing mechanism you can put that to work to serve impressions evenly against the two set-ups. If not swapping tags periodically and measuring the impact will give you a good idea of relative performance.

These same methods can be used to test new potential demand sources as well as alternative set-ups.

Whatever method you use the important thing is to make those comparisons and to do so frequently enough that you can make informed decisions about how best to monetise each impression.

Mistake 5 –treating all impressions the same

With a proper means in place to test different demand sources those tests can then be performed on different audience segments.  The most obvious is visitor location. Criteo currently operates in 50 territories. Impressions served to users outside of their service area are likely to perform better through AdSense alone than through Criteo first.

Even within the Criteo service area performance will vary from country to country. Try testing high traffic countries to find the best set-up for each. Creating separate country-specific Criteo and AdSense tag pairs allows you to take the concept a step further and set Criteo CPM floors differently on a country by country basis and fine tune performance in your most important territories.

Segmenting out and measuring the performance of audience subsets doesn’t have to be limited to geography either. Any audience segment that is large enough to make a difference is worth breaking out and testing.

Mistakes avoided – what next?

Some of the above might seem critical of Criteo, but it isn’t. As a publisher your want to sell available impressions for the highest possible price. Understanding what price different providers are offering is the first step to being able to do that.  Everything above can be equally applied to other demand sources working on a first-look basis (more so in the case of ad sources less reputable than Criteo).

Having an accurate understanding of how different demand chains are performing is essential to ensure that you get the most revenue for your impressions.  On a more basic level it can also prevent publishers making poor choices based on bad data.  Failing to understand true performance and how one source can influence the revenue potential of another can lead publishers into a downwards revenue cycle of undermining their best performing sources.

Offering your impressions to multiple sources is most definitely the way to go for any publisher serving a reasonable number of impressions and Criteo should be high on the list of companies to talk to. Get it right and the rewards can be significant, but there are risks in getting it wrong.

Managing and optimising ad inventory well is complex and time consuming. OKO Digital provide expert ad inventory management and optimisation for medium to large publishers who want better performance without the worry. If that sounds like something that your ad inventory could benefit from then we’d love to hear from you. 

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on Reddit
  • Gabriel Peixoto

    Excellent Article!

  • Nico L.

    Thanks a lot. I’m a begginer and you made it simple to understand 🙂

OKO is the uk leading adsense partners, click here to learn how we can help

Latest from the blog