App Promotion Objective
By the AdFlint research team · Last reviewed July 2026
Drives mobile app installs or in-app events on Meta, requiring an SDK or measurement partner to report those events back for optimization.
You connect the app, choose installs or an in-app event such as purchase or registration, and Meta optimizes across its placements, with Advantage+ app campaigns automating audience and creative. Mobile-first products use it as their main acquisition channel. The mistake is launching before events are wired up, leaving Meta optimizing on installs alone, which reliably buys users who never open the app again.
Key takeaways
- Confirm the SDK or measurement partner is connected and the event priority list in Events Manager is set correctly before turning on optimization toward an in-app event.
- Do not blend iOS and Android numbers into one cost figure; iOS reports through SKAdNetwork as aggregated, modeled, and delayed data, while Android reports closer to real user-level events.
- Start optimizing toward a shallow event like install or registration and move to a deeper event such as purchase or subscription only once weekly volume can support it, or delivery will stay unstable.
- Use manual App Promotion to isolate a platform or run re-engagement against existing app users, and use Advantage+ app campaigns once you have volume and want scale.
In practice.
Before anything optimizes, the app has to be connected through the Meta SDK or a mobile measurement partner such as AppsFlyer, Adjust, Branch, or Singular, and the events you want to bid toward, install, registration, purchase, subscription start, and so on, need to be flowing back and ranked in Events Manager's app event priority list. That priority list matters because on iOS, Apple's SKAdNetwork framework only returns a limited number of postbacks per install, so Meta has to pick which single event, among everything you track, gets attributed when a user does several things in a row; the priority order you set determines that choice.
iOS and Android report very differently as a direct result of Apple's App Tracking Transparency framework. Android generally reports user-level events close to real time. iOS, for anyone who has not granted tracking permission, which is most users, routes through SKAdNetwork instead: aggregated, modeled, and delayed by a conversion-value timer window rather than reported instantly per user. Ads Manager labels iOS results as SKAdNetwork-reported versus directly attributed, and the two figures are not meant to reconcile with each other or with Android's.
You can run App Promotion manually, choosing a single optimization event and audience yourself, or through Advantage+ app campaigns, which automate creative combination testing and delivery the same way Advantage+ Shopping Campaigns do for ecommerce. Manual App Promotion earns its place when you need to isolate a platform, since iOS and Android reporting diverge enough that blending spend across both muddies the read on either, test one optimization event against another, or run a distinct re-engagement campaign aimed at a custom audience of existing app users rather than net-new installers.
Value optimization, bidding toward predicted purchase or subscription value rather than raw event count, is available here too, but it needs real volume behind it to work; pointed at a deep, rare event with thin weekly data, it behaves like any Meta bid strategy starved of signal, unstable and unpredictable cost per result. That is the mechanical reason the standard advice is to start optimizing toward install or a shallow early event and only move to a deeper event once volume supports it, not because deep-event optimization is broken, but because the algorithm needs enough weekly examples of the event to find a pattern.
Ads under this objective also support deep linking and deferred deep linking: someone who already has the app gets sent straight to a specific product or screen instead of the app's home page, and someone who does not have it yet gets routed through the install flow before landing on that same screen post-install. Getting this wired correctly through the SDK matters disproportionately for re-engagement campaigns aimed at a custom audience of existing users, where the entire point is pulling a lapsed user back to a specific piece of content rather than just reopening the app to its default screen.
In reporting, expect the iOS and Android splits to look nothing alike even from the same ad set, and do not average them into one blended cost-per-install as though they are measuring the same thing. Read Android's cost per install or cost per event against your own account history since it is the more complete number, and treat iOS's SKAdNetwork figures directionally, as a floor shaped by attribution loss and reporting delay, rather than as a true count of what happened.
Comparing iOS and Android results on the same event
Suppose a subscription app runs separate App Promotion ad sets by platform at $350 per day each, spending $2,450 per platform over a week, both optimizing toward a Start Trial event. The Android ad set reports 90 trials, a cost per trial of about $27.22 ($2,450 divided by 90). The iOS ad set, reporting through SKAdNetwork, shows only 20 modeled trials over the same spend, implying an apparent cost per trial of $122.50.
That gap does not mean iOS is four and a half times less efficient. Some real iOS conversions never get attributed back at all once a user has opted out of tracking, so the true number sits somewhere above the 20 SKAdNetwork reported, just not visible to Ads Manager. Treating the Android figure as the more trustworthy read and the iOS figure as a directional floor, rather than averaging the two into one blended $44.55 cost per trial ($4,900 combined spend divided by 110 combined trials), keeps the platform comparison honest.
App Promotion Objective compared with
The settings this gets confused with, and how to tell them apart.
Common questions.
Why does my iOS install and event count look so much lower than Android?
iOS traffic routes through Apple's SKAdNetwork framework once a user declines App Tracking Transparency, which reports aggregated, modeled, and delayed data instead of per-user events the way Android does, so iOS numbers will structurally undercount compared to Android even when real performance is similar.
Do I need the Meta SDK or can I use a mobile measurement partner instead?
Either works; the native SDK is enough for a Meta-only setup, but a measurement partner like AppsFlyer or Adjust is worth it once you're running on multiple ad networks and need one attribution source across all of them.
What happens if I optimize toward an in-app event with very low volume?
The ad set typically struggles to exit the learning phase, and cost per result swings widely week to week because the algorithm does not have enough weekly examples of the event to find a stable pattern; step down to a shallower event until volume improves.
Should I run Advantage+ app campaigns or manual App Promotion?
Use manual when you need to isolate a platform, an event, or a re-engagement audience for a clean test, and move to Advantage+ app campaigns once you trust the setup and want Meta automating creative combinations and delivery at scale.
You should not need to know this to advertise.
AdFlint handles the settings for you, inside the Google and Meta accounts you already own.
Try AdFlint free