Blog
SubscribeSubscribe

ironSource sat down with Matt Fisher, Group Product Manager at Liftoff, a one stop shop to programmatic user acquisition and re-engagement, to get his input on making the most of your in-app advertising campaigns. Read on to learn some best practices for optimizing your success with this strategy.

How do most app marketers optimize their user acquisition campaigns? How has it evolved over time?

Many advertisers optimize campaigns according to in-app purchase (IAP) revenue to meet their ROAS goals, but this approach does not holistically value each user.  IAP campaigns miss out on a user’s potential ad revenue contribution because they only optimize for users who have a high propensity to make a purchase. 

To maximize profitability of your UA campaigns, you should optimize for both IAP and in-app advertising (IAA), instead. 

Up until a few years ago, it was impossible to gain semi-real time access to per-impression revenue. Before that, ad revenue was only available at the end of the month or not at all, making that data impossible to use for optimization. Now that networks like Liftoff and ironSource have access to impression level revenue data, it’s exciting to see advertisers reaping the benefits of ROAS campaigns running on a combined IAP and IAA optimization strategy.

How does IAA optimization improve ROAS campaigns?

Optimizing your UA campaigns to drive users who view a lot of ads will maximize your ROAS. In early testing, our team at Liftoff drove a larger cohort of highly engaged users who viewed a lot of ads, increasing overall ad monetization. We also saw that IAA optimization can drive 20-30% cheaper installs while maintaining ROAS.

And because IAA optimization is based on the volume of ads and their subsequent impressions - both stable and predictable metrics - campaigns running IAA optimization saw ROAS stabilize and become less reliant on spiky, whale-driven purchases.

When is IAA optimization most effective?

In general, the more an app relies on IAA monetization, the more valuable and effective it is to directly optimize for those events.

For example, developing countries tend to monetize more heavily from ads versus purchases.  Likewise, Android users tend to make fewer in-app purchases than iOS users.  Both of these scenarios increase the importance, value, and overall effectiveness of IAA optimization.

What, if any, are the drawbacks of IAA optimization on ROAS campaigns?

While including IAA events in ROAS optimization should improve overall ROAS, there is a limit to how much ROAS can increase; there are finite limitations to how many ads users can view and how valuable each impression is. Optimizing for IAP, on the other hand, is limited by nothing other than a user’s bank account.

IAA, like almost all other forms of KPI optimization, is also impacted by SKAN attribution since SKAN changes how we attribute conversion back to the supply source. The best alternative would be to identify events that are highly correlated to ad revenue and use the conversion values to record those events.

That said, there are few risks in experimenting with IAA optimization if your app monetizes on ads. If you do see degraded performance, you can always turn off this postback stream and return to IAP-only optimization. 

What do I need to do to maximize ROAS with IAA optimization? 

It all starts with data - you need to be able to pass IAA revenue data back to your marketing partners so they can include the data in their optimization models. This is now made simple through partners like Appsflyer, Adjust, and ironSource LevelPlay mediation. Please talk to your MMP and meditation partner to learn more about other integrations that may exist.

Otherwise, if you’re unable to pass IAA postbacks to your marketing partners, you’ll need to use a proxy event that is highly correlated with IAA revenue. To do this, we suggest you partner with your BI/DS team to define or identify app events that are most correlated with total ad revenue.

Let's put these tips to good use

Grow your app business with ironSource