How to estimate the profit from retargeting

Proper estimation and prediction of a Lifetime Value is not an easy task. But when it comes to understanding the returns on retargeting investments, things become even more complicated.

Generally, the solution seems clear: you need to compare those who received retargeting ads with those who didn’t, and then calculate the difference between revenue from those two groups. And you had better not to forget about ad costs because, in the beginning, you’ve invested some money in order to get additional revenue.

But a lot of details will appear when somebody will decide to build the system or model for calculating the additional profit.

How to build the system, that will help to calculate the profit

1. Can I run a test just once?

The most frequent question that appears is: «Can I run a test just once, make sure that retargeting works well and continue buying ads with the same approach?» And before answering yourself, the following point should be taken into consideration:

  • The Incremental Effect from retargeting (additional profit that you would not get without retargeting) is not a constant.

Three things influence on Incremental Effect:

  1. how do users pay in your app (frequency, average check, etc.),
  2. what’s the situation on the auction in the traffic source,
  3. how do users convert from test group into paying users?

Usually, users’ behavior changes slowly and mostly depend on a product (monetization, seasonality, new features) and also it depends on changes in your opponents’ products.

The traffic auction changes quickly and it’s hard to predict.

The conversion into paying users depends on creatives, the offer you make to a customer and some technical nuances such as: what type of links do you use in your ads.

So, what you can do are:

  1. make estimations of how do people return to your app organically and make in-app purchases;
  2. assume those numbers are constant (at least for some period of time till you’ll re-run this test);
  3. after that, you can make estimations of the incrementality based on actual conversion and payments compared with the organic observations.

One detail not to miss here is:

This test will compare

  • those who have not seen retargeting ads during this month
  • with those who have seen the ads during this month.

It means, previously (before the test started) control group may saw retargeting ads. And in order to compare the behavior of the test and control group during the whole lifetime period, you need to exclude the control group from serving ads for the lifetime.

2. I would prefer to build something more sophisticated

Use historical data

You can run AB-test on historical data. It’s the easiest way of building regular incrementality testing. There’s one hidden obstacle — you need to understand correctly, which users have received retargeting ads and which have not. So if you have full data about your retargeting ads’ exposure, then it’s like classic AB-test:

  • You take a group of users, who saw ads — this is your test group.
  • You need to find a similar group of users among those, who haven’t seen retargeting ads — this will be your control group. The aim is to make both groups homogeneous and different only by the fact that one group has seen the ads, another — hasn’t.
  • When you have found users for both groups, then you can analyze the difference between how they paid in your app and compare this with the sum of investments on retargeting.

Analyzing past performance you can adjust your future strategy.

Run ongoing tests

You may not have all the data about — who has seen the ads, who hasn’t. For example, Facebook or Google will not share such data on a user level. In that case, you may build ongoing testing on your end. This doesn’t sound easy, especially if your resources are really limited or you don’t have internal expertise for building such tools.

Another possible way is to use already existing solutions from Data Management Platforms. DMP will split users in real-time, but you will not be able to influence on a splitting mechanism (eg. you may need stratified sampling instead of random sampling in order to neutralize the influence of whales), because it’s already designed by DMP developer. Is it a pitfall? In most cases — no.

We need to go deeper

The main problem with the solutions described above is: if you work with more than one media source, you will not be able to translate the results on a traffic source level. Which makes it hard to optimize your campaigns or compare traffic sources.

If you went so deep in your stirring about incremental profit from retargeting, then there’s a solution here. Some DSPs that work specifically with retargeting have already build incremental testing on their end. Some classic UA DSPs are in the process of building such a feature. In that case, incrementality testing works on a source/campaign level, so you’ll be able to make decisions and maximize your incremental profit. Here again, we have one hidden obstacle — you’ll be probably not able to compare different sources because their in-built incrementality tests will have different designs. But still you can work on a campaign level and it’s good news.


As you might have noticed, all the approaches are not about predicting the future, they are about making decisions according to previous observations. The main difficulty in building a predicting model for retargeting is that you need to define the lifetime. It’s rather simple when we talk about installs:

  • lifetime is all the time since installation
  • or the time during which you expect to return investments
  • or the average time during which a user remains active in your app.

But when it comes to retargeting you need to define the churn. And the user may have several “lives”: he/she becomes inactive -> receives retargeting ads -> becomes active again -> then may not make any purchases -> again become inactive -> then see ads again -> become active and make some purchases. There are a lot of different scenarios that you need to take into consideration in order to make any predictions. This is why at the moment we are only aware of approaches that estimate past values.