Documentation

Support

Unity Ads User Acquisition

Introduction to ROAS campaigns

Learn about Return on Ad Spend (ROAS) campaigns, optimization options, and eligibility with Unity Ads User Acquisition.
Read time 4 minutesLast updated 2 days ago

Return on Ad Spend (ROAS) is a campaign goal that allows you to target users predicted to generate revenue through in-app purchases, ad revenue, or both. ROAS represents the ratio of revenue generated to acquisition cost, as shown in the following equation: ROAS = Revenue generated by a user (ARPU) ÷ cost to acquire that user (CPI) ROAS campaigns are an ideal campaign goal for advertisers looking to acquire high-quality users. Refer to the following sections for details about how ROAS campaigns work, the different optimization options, and how ROAS campaigns accrue post-install event data.

ROAS goals

With a ROAS campaign, you set a ROAS goal (also known as Target ROAS or tROAS) that determines how the system bids for users. When you set a ROAS goal, Unity uses machine learning to predict each user's revenue potential and bid dynamically. Although Unity can't guarantee that your campaigns achieve your ROAS goal, the system prioritizes your target and aims to achieve the goal with dynamic bidding. If you set a low ROAS goal, the system can place higher cost-per-install (CPI) bids. This increases the number of installs, but can result in fewer high-value users. Conversely, if you set a high ROAS goal, the system places lower CPI bids, which can decrease the number of installs but targets a higher return.

Optimization types

When you create a ROAS campaign, you select an optimization type based on how users generate revenue in your app. The following table illustrates what kind of user each optimization type prioritizes:

Optimization type

Acquired users

In-app Purchase (IAP)Users likely to make in-app purchases
Ad RevenueUsers likely to engage with in-app ads
HybridUsers likely to generate revenue through both in-app purchases and ad engagement

Optimization windows

After you select your optimization type, you set an optimization window for your campaign. This window determines the timeframe of revenue prediction for a user. For example, if you select a day-seven (D7) window for your Ad Revenue campaign, the system predicts how much ad revenue a user will generate in the seven days after installing your app. Refer to the following table for which optimization windows are available for each optimization type:

Optimization type

Optimization windows

In-app Purchase (IAP)
  • D7
  • D28
Ad Revenue
  • D0
  • D7
Hybrid
  • D7
Campaigns with shorter optimization windows (D0, D7) optimize based on early cohort window user behavior and allow for faster campaign adjustments. Campaigns with longer optimization windows (D28) optimize for higher lifetime value by considering revenue over an extended period. Campaigns with different optimization windows can complement each other. For example, when you run a D7 IAP campaign concurrently with a D28 IAP campaign, each campaign targets different audience segments. While D7 focuses on users most likely to make purchases in the first week after installation, D28 focuses on users who deliver high value over several weeks. When you run both campaigns at the same time, you can reach new user segments that represent both short-term and long-term value.

Post-install event data

To run a ROAS campaign, Unity needs data about how users engage with your app after installation. This Post-install event data allows Unity's machine learning models to predict user revenue and optimize your campaign based on your chosen optimization type. You can share this data with Unity through two methods: The recommended best practice is an MMP integration. Custom integrations are prone to errors, and Unity can provide only limited support. If you use an MMP, follow the Integration best practices to avoid performance and optimization issues. Refer to the Partner integration guides for detailed instructions.

MMP integration validation

When you integrate your preferred MMP, the Unity Dashboard validates your integration to prevent critical errors that can disrupt optimization, attribution, and campaign performance. If the validation detects errors, the dashboard displays a warning message detailing the issue and how to resolve it. You can't launch paused or new campaigns until you resolve all required integration issues.

Data cohorts and maturity

The group of users that Unity's models learn from is often referred to as a cohort. Unity's ROAS optimization options optimize toward multiple cohort windows (D0, D7, and D28). The Learning phase thresholds for each optimization type require different mature cohort windows. Refer to the following table for examples of the earliest maturation date for each cohort window:

Cohort window

Date of data passed

Earliest cohort maturity

D0January 1D0 cohort mature on January 3
D7January 1D7 cohort mature on January 10
D28January 1D28 cohort mature on January 31

Learning phase

When you launch a new ROAS campaign, it enters a Learning phase in which Unity's models collect the relevant post-install event data for your optimization type. This allows you to launch ROAS campaigns immediately without first running an Install campaign to gather data. During the Learning phase, your campaign might experience performance fluctuations as the machine learning models train. Campaign performance typically stabilizes once the Learning phase completes and the campaign has collected enough data. Your campaign might not achieve its ROAS goal during this phase, but performance typically improves once the campaign reaches Live status.

Learning phase thresholds

The Learning phase lasts until your campaign meets the necessary learning thresholds for your optimization type. Refer to the following table for the data thresholds required for each Optimization type:

Optimization type

Optimization window

Requirement to exit Learning phase

IAPD775 unique, D7 matured purchasers
IAPD2875 unique, D7 matured purchasers
Ad RevenueD0
  • 1000 attributed installs
  • Greater than $0 D0 matured Ad revenue
Ad RevenueD7
  • 1000 attributed installs
  • Greater than $0 D7 matured ad revenue
HybridD7
  • 1000 attributed installs
  • Greater than $0 D7 matured ad revenue
  • 35 unique D7 matured purchasers
Targeted countries, app type, and budgets can affect how long it takes to meet these thresholds.

Monitoring the Learning phase

To monitor your campaign's progress toward learning thresholds, use the Reporting Dashboard with the following settings:
  • Apply the Advertiser Game ID filter.
  • Set the reporting window to Last 90 days.
  • Select metrics based on your optimization type. Refer to the following table for details.
When you select Ad Revenue and In-app Purchase metrics, ensure you choose the optimization window that matches your campaign. For example, for a D7 Ad Revenue campaign, select the Ad Revenue ($) metric and then select D7 as the window.

Optimization type

Metrics

Learning completion

D7 IAP
  • Unique Purchasers - D7
  • At least 75 Unique Purchasers
D28 IAP
  • Unique Purchasers – D7
  • At least 75 Unique Purchasers
D0 Ad Revenue
  • Installs
  • Ad Revenue ($) – D0
  • At least 1,000 installs
  • D0 Ad Revenue greater than $0
D7 Ad Revenue
  • Installs
  • Ad Revenue ($) – D7
  • At least 1,000 installs
  • D7 Ad Revenue greater than $0
D7 Hybrid
  • Installs
  • Ad Revenue ($) – D7
  • Unique Purchasers – D7
  • At least 1,000 installs
  • D7 Ad Revenue greater than $0
  • At least 35 Unique Purchasers
You can quickly check your campaign's current phase on the Campaigns page for your app. Active campaigns display either a Learning or Live status.