What if UA teams could optimize their mobile game campaigns for ROI by focusing on the actual revenue users generate through ad views, not just installs?

Meta has introduced an ROI-driven approach to mobile gaming user acquisition with Ad ROAS (Return on Ad Spend). This method enables advertisers to optimize for both installs and in-app ad revenue. By leveraging the AdImpression event in Meta’s SDK, each ad view reports its precise revenue impact, allowing Meta’s algorithm to bid on users who drive the highest ad earnings, maximizing ROI and scaling efficiently.

For mobile game UA managers, this is a strategic upgrade. Previously, ad revenue was tracked as a proxy via engagement metrics. Now, Ad ROAS allows direct optimization for actual ad revenue, aligning campaigns with ROI, efficient CAC, and scale targets.

It has been available for Android campaigns since late 2024 (Android support launched Q4 2024), with iOS support pending due to ATT limitations. Android app marketers can now precisely target high-value users based on their ad revenue contributions.

Here’s how UA teams can translate Meta’s AdImpression model into higher ROI and scale.

What is Meta Ad ROAS and Why Does it Matter?

Meta’s Ad ROAS campaign optimization uses in-app ad revenue as its key signal, allowing advertisers to focus on the true value each user is predicted to generate. This is a significant leap forward for app marketers, especially those in mobile gaming, where monetization heavily relies on ads.

Traditional methods like installs or event-based goals couldn’t tell apart a user earning $0.10 from one generating $10. Ad ROAS enables value-based bidding, aligning campaigns with predicted user-level revenue (in dollars or local currency).

In the past, advertisers relied on workarounds: proxies like engagement, custom events, or passing ad revenue as fake purchases, methods that muddied analytics and blended revenue types. Meta's default treatment of all revenue as “purchase” made these tactics ineffective.

With the AdImpression event, Meta optimizes directly for ad revenue signals it receives. However, note that it does not display per-user revenue; instead, it uses these signals to predict high-value users. By sending the value of each ad view, the algorithm identifies and targets users predicted to generate the highest lifetime value. This empowers marketers to invest in users who deliver real returns, unlocking performance that was previously out of reach with purchase-based strategies.

Here’s how UA teams can apply Meta’s AdImpression model to increase ROI, reduce CAC, and scale efficient targeting.

How Meta Ad ROAS Works?

Meta’s Ad ROAS leverages its machine-learning algorithm to bid dynamically on users most likely to generate high in-app ad revenue. It uses your reported AdImpression values and rich user signals to maximize return on ad spend. Let’s get into some details:

1. The AdImpression Event

Meta’s AdImpression event is the foundation for tracking in-app ad revenue, capturing each ad view and its earnings. Below are its key aspects:

What is it?

AdImpression is a predefined SDK event that captures each ad view (rewarded video, interstitial, banner) and its associated revenue. This event’s payload includes ad type, placement, and the exact revenue from that impression.

How does it work?

Whenever a user watches or interacts with an ad inside your app, you trigger and send an AdImpression event to Meta. This event payload includes metadata like ad type, placement, and the precise revenue amount from that single impression. Meta then records this as an event signal, which it uses to predict user LTV rather than attribute exact revenue at the individual level.

Why does it matter?

By reporting actual ad revenue per impression, advertisers gain transparency into user value beyond installs or purchases. This granular data allows you to measure and optimize campaigns based on real ad earnings rather than indirect proxies.

2. Predictive Value Optimization

Meta uses aggregated AdImpression values to train models predicting users' or cohorts' lifetime ad revenue. During auctions, it increases bids for audiences with higher forecasted value and decreases bids where predicted returns are lower. Here’s how this mechanism drives efficiency:

Monetary signal

Meta’s ML algorithm ingests these values via the _valueToSum parameter, modeling user-level lifetime ad revenue and dynamically increasing bids on high-value audiences. 

Algorithm behavior

Meta aggregates these values across individual users or cohorts, building models to predict lifetime ad revenue. During auctions, it increases bids for audiences likely to generate high cumulative ad value and decreases bids for lower-value segments.

Business alignment

This process mirrors purchase-value bidding in e-commerce, but the “purchases” here are ad impressions. The result is campaigns that directly target high-LTV users, improving overall ROAS by focusing spend on those who deliver the most significant ad revenue.

3. Distinction from Facebook Campaign Impressions

It’s crucial to separate in-app revenue tracking from Facebook campaign delivery metrics to maintain optimization accuracy:

Inside-app vs. campaign metrics

AdImpression events track the performance of monetization ads shown within your app (e.g., third-party networks like AdMob or ironSource). This is separate from the impressions and reach metrics of the Facebook ad creative itself, which measure how often your ad was shown on Facebook’s platforms.

Why the distinction matters

Focusing on in-app AdImpression data ensures your value optimization reflects actual user-generated revenue signals, not just ad delivery stats. Remember, Meta’s Ad ROAS model predicts high-value users based on those signals; it does not directly show granular per-user revenue.

With that working process in mind, let’s walk through how to put it into practice.

Step-by-Step Setup: Launching a Meta Ad ROAS Campaign

Optimizing for Ad ROAS on Meta Ads Manager involves precise technical integration and careful campaign configuration to ensure the algorithm can bid based on real ad revenue data.

1. Prerequisites

To feed Meta’s algorithm the right signals, you must first instrument your app so that every ad impression reports the exact revenue it generated, and that those events carry the user/device identifiers needed for attribution.

  • SDK or MMP integration: Install the Meta App Events SDK or a supported Mobile Measurement Partner (AppsFlyer, Adjust, Singular) that forwards AdImpression events (with user-level ad-revenue tracking) to Meta.

  • Per-event revenue logging: Configure your app to send each AdImpression event with the precise monetary value earned (not cumulative or estimated totals), in a currency Meta can interpret (ideally your default).

  • Attribution identifiers: Ensure each event includes the advertising ID (e.g., GAID on Android) so Meta can tie impressions back to the originating click or view.

Additionally, to unlock “In-app ad impression” as a value-optimization option, you must record at least 15 attributed AdImpression events, featuring two distinct revenue values, within the last 28 days, originating from users acquired via active campaigns. Until you meet this threshold, the option will remain unavailable in Ads Manager.

2. Campaign Configuration

Once your app reports valid ad-revenue events and you’ve met the data minimums, set up your campaign in Meta Ads Manager by choosing Maximize Value Conversions as the objective for your Mobile App Install or App Event campaign. In the optimization settings, select In-app ad impression from the conversion-event dropdown; this tells Meta to bid on and target users to maximize the total AdImpression revenue per dollar spent. Before launching, head to Events Manager to verify that AdImpression events arrive with the correct value parameters. Use the Event Debugging tool on a test device to watch real-time events. If the “In-app ad impression” option is visible but greyed out, revisit your data thresholds.

3. Platform Support

Ad ROAS optimization availability differs between Android and iOS, driven by each platform’s SDK capabilities and privacy frameworks:

  • Android: Full support exists, Meta rolled out direct ad-revenue optimization for Android app campaigns in late 2024. MMPs like AppsFlyer, Adjust, and Singular map your ad-revenue events to Meta’s standard AdImpression event, enabling real-time, value-based bidding.

  • iOS: Due to Apple’s ATT framework and Aggregated Event Measurement (AEM), you cannot yet select AdImpression directly; instead, ad-revenue events get mapped to the fb_mobile_purchase event and contribute to aggregated purchase-ROAS reporting. Proper AdImpression optimization on iOS remains on Meta’s roadmap.

Now that your campaign is running, let’s break down the tech behind how your ad revenue data powers Meta’s optimization.

Technical Implementation and Data Flow

Getting Ad ROAS optimization to work for your campaigns requires technical setup and understanding of data flow. Ad ROAS optimization's core is the feedback loop of ad revenue events from your app back to Meta.

1. Collecting Ad Revenue Data

Each time a user views an ad (e.g., interstitial, banner, or rewarded video) from networks like AdMob, ironSource, or Unity Ads, it generates revenue. This revenue can be either an exact value (especially when using networks with eCPM reporting) or an estimated value. Most networks offer SDK callbacks or APIs that provide impression-level revenue data, which is critical for optimization.

2. Logging AdImpression Events

Once the revenue from an ad impression is obtained, your app must log a predefined AdImpression event to Meta, including the revenue amount. This is done using the _valueToSum parameter, which tells Meta how much value each impression generated.

You can log these events in three ways:

Meta SDK Integration

Use Meta’s App Events SDK to log the "AdImpression" event. 

  • For Android: AppEventsLogger.logEvent("AdImpression", revenueValue, params)

  • For iOS: 

    • Objective-C: FBSDKAppEvents.logEvent:@"AdImpression" valueToSum:revenue parameters:params

    • Swift: AppEvents.shared.logEvent(AppEvents.Name("AdImpression"), valueToSum: revenueValue, parameters: params)

Ensure the event name is case-sensitive and includes a value; otherwise, Meta cannot optimize. You may also include optional parameters like fb_ad_network, fb_ad_placement, or fb_ad_type.

Mobile Measurement Partner (MMP)

MMPs like AppsFlyer, Adjust, or Singular can collect ad revenue and forward it to Meta. Map the MMP’s ad revenue event to Meta’s "AdImpression" (Android) or fb_mobile_purchase (iOS, due to platform constraints). Ensure revenue values are included, and configure event mapping correctly in the MMP dashboard. Some MMPs provide checkboxes or options to enable this mapping.

Server-to-Server via Conversions API

If revenue data is collected server-side (e.g., via mediation platform webhooks), you can send AdImpression events to Meta’s Graph API. This requires user identifiers (e.g., GAID), the Facebook App ID, and event revenue. Though more complex, this method works if SDK-based integration isn’t feasible.

In all cases, ensure Meta receives an event named "AdImpression" (for Android) with revenue data tied to a user ID. Meta SDKs and MMPs typically handle attribution and device matching.

3. Attribution and Aggregation

Meta attributes incoming AdImpression events to the campaign that brought in the user, provided it falls within the attribution window, and tracking consent is granted. These events appear in Ads Manager as part of your campaign results.

Unlike traditional handling, where ad revenue was treated as fb_mobile_purchase, Meta now supports AdImpression specifically for Android. This enables optimization using the "In-app ad impression" goal.

In a Value Optimization campaign, Meta’s algorithm uses AdImpression events to maximize total ad revenue per cost. It identifies high-value users or cohorts and bids more aggressively for similar profiles, adjusting dynamically in the auction.

As data accumulates, Meta improves delivery by targeting users likely to generate higher ROAS. Advertisers can track metrics like In-App Ad Impression Value and ROAS in Ads Manager.

The closed-loop system, where the app provides data and Meta's ad delivery uses it, continually moves campaigns towards better ROAS by focusing on actual dollars earned from users.

This is where the payoff begins when smart data flow meets smarter bidding. Now let’s discover how this approach transforms outcomes for ad-monetized apps.

Benefits of Ad ROAS Optimization
undefined

Meta's Ad ROAS optimization, which utilizes in-app ad revenue as the primary signal, offers several significant advantages for app marketers, particularly those monetizing apps through advertising. This feature, rolled out for Android app campaigns in late 2024, represents an essential shift in user acquisition for ad-monetized apps.

1. Direct Revenue Optimization

Ad ROAS optimization lets you align your campaign goals with real business outcomes: actual ad revenue per user.

  • It replaces proxy metrics like retention or engagement with direct, dollar-based optimization using the value of AdImpression events.

  • Meta’s algorithm uses these values to find users who generate higher long-term revenue through ads, enabling true Lifetime Value (LTV) optimization, even in ad-driven apps.

2. Higher ROAS and LTV

Early case studies show significant gains in profitability and user value:

  • One mobile game reported 378% higher Day 1 LTV and better retention (+15% Day 1, +12.8% Day 3) for users acquired via Ad ROAS campaigns.

  • Ad ROAS campaigns outperformed install-based ones on Day 7 and Day 30 ROAS, especially in hybrid monetization models.

  • Although CPI may rise slightly when targeting high-value users, the increase in revenue offsets acquisition costs, improving overall ROAS and reducing effective CAC.

3. Improved Targeting Efficiency

Meta’s algorithm leverages granular revenue signals to identify better and reach valuable users.

  • Ad revenue data helps the algorithm distinguish between low- and high-value users, optimizing spend allocation accordingly.

  • It prioritizes audiences likely to generate more ad revenue, improving efficiency, lowering CAC, and boosting ROAS over time.

  • The model continuously learns and refines targeting based on revenue behavior.

4. Comparable to Purchase-Optimized Campaigns

Ad ROAS optimization brings parity between ad-based and purchase-based monetization models.

  • It gives ad-monetized apps, similar to e-commerce or IAP-driven apps, the ability to scale user acquisition with confidence in their ROI.

  • By optimizing for actual ad revenue, campaigns can scale more sustainably and justify larger budgets with predictable returns.

5. Enhanced User Experience

Campaigns optimized for ad revenue may also acquire more engaged, higher-retention users.

  • These users often engage deeply with the app and willingly view ads (e.g., rewarded videos), increasing monetization opportunities.

  • Optimizing for revenue may also improve user quality and retention, creating a positive cycle of engagement and revenue generation.

But did you know that powerful results are only as strong as the system that supports them? To sustain performance, it is crucial to get the setup and strategy right from the start.

Also Read: Benchmark ROAS for Mobile Games in Different Countries

Implementation Considerations and Best Practices

Successfully leveraging Meta's Ad ROAS optimization requires careful technical setup, ongoing monitoring, and strategic iteration. Getting the most out of this feature depends on ensuring accurate data flow and understanding how to manage campaigns based on this new optimization signal.

1. Ensuring Accurate Revenue Tracking

Accurate, impression-level ad revenue data is the cornerstone of Ad ROAS optimization.

  • Log Every AdImpression Event: Ensure your app logs an AdImpression event each time an ad is shown, including the revenue from that specific impression.

  • Include Exact Revenue Values: Use actual, per-impression revenue, not estimates or aggregated totals. Provide the revenue via the _valueToSum parameter (Meta SDK) or equivalent (e.g., af_revenue in AppsFlyer). This enables the algorithm to optimize based on total user value.

  • Use Proper User Identifiers: For Meta to attribute the event to the correct campaign, the event must be tied to a device ID (like GAID on Android). Meta SDKs and MMPs typically handle this automatically.

  • Correct Event Mapping with MMPs: When using MMPs, ensure ad revenue events are mapped specifically to Meta’s AdImpression event (not custom or purchase events), especially for Android. Misconfigured mappings will break optimization.

  • Verify Data in Meta and MMP Dashboards: Regularly check that AdImpression events, including count, revenue, and currency, are flowing correctly. Test devices simulate ad impressions and validate event capture.

  • Meet Minimum Event Thresholds: To unlock "In-app ad impression" as an optimization goal in Ads Manager, you typically need at least 15 attributed AdImpression events with distinct values in the past 28 days.

2. Monitoring and Optimization

Once your setup is live, actively monitor performance and iterate to improve results.

  • Campaign Setup: Use Mobile App Install or App Event campaigns with “Maximize Value” as the goal and “In-app ad impression” as the conversion event.

  • Track Key Metrics: In Ads Manager, monitor metrics like In-App Ad Impression (Value), ROAS, total conversion value, CPI, and ARPU. Focus on revenue and ROAS over volume or low CPI.

  • Allow Time for Learning: Value-optimized campaigns may take longer to stabilize, as conversions (ad impressions) occur post-install. Aim for ~50 conversion events per ad set per week. Don’t pause campaigns prematurely; look for trends.

  • Iterate Based on Performance: Adjust budgets, creatives, and audiences as needed. Start with broad targeting, then refine based on performance. If ROAS lags, revisit your data accuracy and campaign structure.

  • Separate Revenue Streams: For apps with both ad revenue and IAP, run separate campaigns—one optimizing for AdImpression and another for fb_mobile_purchase. This ensures Meta can optimize effectively for each value stream.

  • Optimize Ad Experience: Keep ad placements user-friendly. Favor formats like rewarded video that users choose to engage with. Don’t inflate ad frequency to boost short-term ROAS, which may hurt retention.

  • Benchmark with A/B Tests: Compare Ad ROAS campaigns against install- or purchase-optimized campaigns, or run geo-based tests to evaluate performance differences and validate uplift.

3. Platform-Specific Guidance

Ad ROAS optimization support varies by platform.

  • Android: Full support for optimizing using the AdImpression event. Track impression-level revenue, attribute it with GAID, and use “In-app ad impression” as your campaign event.

  • iOS: As of early 2025, Meta does not support optimizing specifically for ad revenue on iOS due to limitations with ATT and AEM.

  • Continue logging ad revenue as fb_mobile_purchase for reporting.

  • These values can be used in aggregated ROAS reporting, but cannot power a dedicated Ad ROAS campaign.

  • Keep Android and iOS campaigns separate to ensure proper optimization.

  • Monitor Meta’s roadmap for future support via SKAdNetwork 4.0 or updated AEM.

With the technical groundwork in place, let’s see how this new approach performs in the real world. The early results speak for themselves, showing substantial gains across various categories.

Also Read: Mobile Game Advertising in 2025: Key Insights and Best Practices

Early Results and Case Studies

Initial adoption of Meta’s Ad ROAS optimization has shown promising results across multiple app categories, especially those reliant on ad monetization.

1. Real-World Performance Gains

Early case studies highlight significant improvements in revenue, retention, and user quality:

  • LTV and Retention Boost: One ad-monetized mobile game saw a 378% higher Day 1 LTV (Meta’s Ad ROAS 101 guide for UA managers, Substack, 2025). In the same group, Day 1 retention improved by 15% and Day 3 retention by 12.8% (Matej Lancaric, Substack, 2025).

  • ROAS Growth Over Time: In a hyper-casual gaming app, Ad ROAS-optimized campaigns achieved a Day 7 ROAS of 20%, compared to 5–10% for install-optimized campaigns (Meta’s Ad ROAS guide, Substack, 2025). Over 30 days, the Ad ROAS campaign reached 100% ROAS, while the install campaign plateaued at 50% (Matej Lancaric, Medium, 2025).

  • Hybrid Monetization Success: For apps using both IAP and ads, Ad ROAS campaigns performed best in regions where in-app purchases were rare but ad engagement was strong. In such markets, users acquired through Ad ROAS campaigns had 1.3x higher total ARPU (IAP + ad revenue) than those from purchase-optimized campaigns.

  • Improved CAC Payback: Although CPI rose by ~20% in some cases, the increase in user-generated revenue more than offset the cost. One campaign showed a 300% increase in Day 7 revenue per user, highlighting a substantial trade-off: higher upfront cost for significantly higher ROI.

  • Stronger User Engagement: Beyond revenue, Ad ROAS optimization attracts users who engage more deeply with the app, leading to higher retention among rewarded-ad responders and boosting long-term monetization.

Across multiple scenarios, Ad ROAS campaigns delivered measurable uplifts in ROAS, LTV, retention, and ARPU, especially for ad-monetized or hybrid apps.

2. Algorithm Evolution and Future Enhancements

While early results from Ad ROAS optimization have been encouraging, the feature is still evolving. Meta has acknowledged variability in initial outcomes and is actively refining the underlying models to improve consistency, accuracy, and long-term performance. 

  • Ongoing Improvements: Performance results varied after the initial global rollout, prompting Meta to invest in further refinements. New models, including a Day 7 ROAS prediction model, are being developed.

  • Continuous Learning: As more AdImpression events are collected, Meta's algorithm evolves, improving targeting precision and potentially adapting to seasonal or behavioral patterns.

While current support focuses on Android, Meta may expand Ad ROAS capabilities to iOS. Marketers should stay updated on eligibility, modeling, and platform support changes.

Conclusion

Meta’s Ad ROAS optimization redefines how ad-monetized apps approach user acquisition. By allowing campaigns to optimize for actual in-app ad revenue via the AdImpression event, advertisers can finally align spend with real business value—no more relying on proxy metrics or workarounds. Early results show higher LTV, stronger retention, and faster payback, even when CPI rises, making this a high-leverage tool for performance marketers.

To capitalize on it, ensure precise event tracking, meet data thresholds, and separate campaigns by revenue stream if needed. Android is currently the only supported platform, with iOS pending due to tracking limitations. As Meta continues refining the algorithm, now is the time to test, iterate, and scale, especially if your app’s monetization is ad-driven.

FAQ (Frequently Asked Questions)

1. What’s the difference between Ad Impression and purchase events in Meta’s system?

Ad Impression tracks ad revenue per impression, while fb_mobile_purchase tracks IAP revenue. Ad ROAS optimization uses Ad Impression (Android only) to optimize for ad revenue directly, unlike past proxy methods.

2. What does “In-App Ad Impression” mean versus a “Meta Ad Impression Event”?

“In-App Ad Impression” refers to ads served inside your app via ad networks (third-party impressions). In contrast, the Meta AdImpression Event is the specific name of the event you fire in Meta’s SDK to report that revenue.

Note: This has nothing to do with impressions of your Facebook ad. It refers to the ads served inside your app via ad networks.

3. How do you troubleshoot missing or inaccurate Ad Impression data?

Check if events are logged correctly with accurate values, mapped to Ad Impression, and reaching Meta via SDK/MMP. Use Meta Events Manager or MMP tools to verify real-time delivery and eligibility thresholds.

4. What are the best practices for maximizing Ad ROAS campaign performance?

Track per-impression revenue accurately, meet data thresholds, allow time and budget for learning, separate revenue stream campaigns, and continuously monitor ROAS and retention for strategic optimization.

5. How can I ensure accurate tracking of Ad Impression events across different platforms?

Verify correct SDK/MMP integration and proper event mapping on iOS and Android to ensure accurate platform tracking.

6. What should I do if I notice discrepancies between Ad Impression data and actual revenue?

Check event triggers, values, and real-time data in Meta’s Events Manager to identify potential data processing or filtering issues.