Three Ways You Can Measure User-Level Ad Revenue with MAX

by Yuki Manno on Jan 6, 2022

In order to give developers transparent, flexible access to impression-level and user revenue data MAX provides multiple options for accurately measuring impression-level ad revenue generated for each individual user — from any ad unit, across all demand partners — based on how you run your business. 

No matter what kind of monetization model you are using, granular and accurate impression-level data is vital to understanding the cost to acquire new users and the revenue generated by each user. For MoPub developers moving to MAX, the MAX SDK provides robust analytics features that provide this data and more. (Questions about migration? Please contact us!)

In addition, user-level ad revenue gives publishers the flexibility to either process the data themselves or send it to partners or your preferred BI tool for deeper analysis and reporting. The MAX SDK enables publishers and third-party analytics and attribution providers to more easily ingest the data through an existing integration instead of having to create a new API. 

What is user-level ad revenue?

MAX enables you to accurately measure ad-revenue at the user level and link the data to the marketing channel that brought that user in. 

Increasingly, app publishers generate revenue through in-app advertising and get revenue from the impressions, clicks, and installs resulting from users that view, click, and engage with ads.

Marketers want to find more users who interact with advertising in order to increase revenue, but networks hold different data regarding user habits. This data is typically presented as an average aggregate of total revenue.  

User-level ad revenue helps you accurately identify where to find users who interact with ads, which users generate the most revenue, and which of your campaigns generate more revenue than was spent. 

This gives app publishers a method to tie back monetization revenue to the source and enables you to make lifetime value (LTV) calculations much more accurately by tracking the cost of acquiring users, the revenue a user contributes through in-app activity, and the amount of revenue they generate for the publisher by converting on advertisements. This data also helps clarify LTV and ARPU (average revenue per user).

Why is user-level ad revenue important?

Simply dividing the total revenue generated for an ad placement by the number of users that engaged with that ad results in all users being assigned the same average value. As a result,  averages can lead to an inaccurate representation of a user’s ad revenue value and thus aren’t a solid foundation for LTV calculations. 

3 ways you can get user-level ad revenue data in MAX

There are three ways you can get user-level revenue data with MAX: User Revenue API, Client Side, or Server-to-Server.

User Revenue API — You can use this API to retrieve user-level revenue data on a daily basis. You can retrieve this data aggregated for a particular user or with one row per impression. Data is available 8 hours after UTC day end, and you can pull up to 90 days of historic data. User-level revenue data may provide better estimates for bidders that don’t provide precise bid level data. Read more about the User Revenue API in the MAX Integration Guide.

Client-Side — This feature allows you to access impression-level user revenue data on the client side in real-time and then use this data to compare different sources and campaigns. This feature also supports SKAN (SKAdNetwork attribution), Apple’s framework for attributing an app install to a specific ad campaign without IDFA while maintaining user privacy.

However, client-side implementation can be the most challenging of these methods to implement because it must be implemented correctly in the client-side code. You can find complete integration instructions in the Advanced Settings section of the MAX Integration Guide for iOS, Android, and Unity.

Server-to-Server — If you want to access real-time revenue data on the server side, you can provide an impression postback to track impression-level user ad revenue data. AppLovin can send (HTTP or HTTPS) GET requests from its servers to an external endpoint that you define, when a MAX impression is recorded. AppLovin makes these postbacks soon after the impression, but they may be delayed by up to a few minutes. You will need a server to accept the data. 

You can share user-level and impression-level ad revenue data with your mobile measurement partner of choice, such as Adjust, AppsFlyer, GameAnalytics or Singular, for all supported networks.

Please contact your account team or the support team to enable this feature. 

Tip: You can use an impression timestamp macro to reconcile any delay between the impression and the postback times. Learn more about Server-to-Server Impression Revenue API.

Start your migration to MAX now, and visit our features chart which demonstrates the unparalleled power of this unified MoPub + MAX  platform. AppLovin and MoPub teams are standing to make this as seamless a transition as possible. 

Yuki Manno is a Product Lead at AppLovin.
Resources Company