How AppsFlyer setup keeps Apple Ads honest
AppsFlyer is the most widely used partner for Apple Ads measurement. This guide covers cost integration, framework toggles, value mapping and checks.
By Katie Delaney · 2026-09-04 · 4 min read
Connect Apple Ads to AppsFlyer through the official cost integration, enable SKAdNetwork and AdAttributionKit together, map conversion values once and verify with sandbox cohorts before trusting dashboards.
Link cost before anything else#
Authorise the Apple Ads cost integration first so spend joins to postbacks from day one. Without cost, dashboards show installs without economics, and every ROAS conversation stalls on spreadsheet joins.
Follow the AppsFlyer Apple Ads integration guide for the login, account and permission sequence, granting exactly the access documented and nothing broader. Confirm the link inside the Apple Ads hub measurement map so the team sees where cost fits.
Reconfirm the link after every Apple Ads account change: password rotations, permission edits and account migrations all break cost pulls silently.
Enable both frameworks together#
Switch on SKAdNetwork and AdAttributionKit ingest together so dual running starts clean across the whole OS base. New devices report through the forward path while older ones keep the legacy stream alive.
Ship the AppsFlyer SDK version that supports both frameworks before toggling anything server side; toggles without SDK support create gaps that look like performance drops. Cross check framework behaviour in our AdAttributionKit guide and our SKAdNetwork guide so expectations stay realistic.
Annotate the dual running start date in all dashboards. Future analysts will thank present engineers.
Map conversion values once, carefully#
Map your single conversion value schema inside AppsFlyer exactly as documented in app code, then lock it. One mapping, owned by one person, reviewed quarterly: drift here corrupts every downstream read.
Build the schema with our conversion values guide and mirror revenue bands or funnel milestones into the AppsFlyer value setup screen. The AppsFlyer SKAdNetwork setup reference shows where each toggle lives.
Version every mapping change and never edit mid quarter without annotating dashboards. Silent edits are the leading cause of haunted trend lines.
Prove it with sandbox cohorts#
Run scripted sandbox cohorts through tap, install, value update and delayed postback before launch. Confirm each test device appears in raw postback views with the exact value fired, then confirm the dashboard row matches.
Test the awkward cases deliberately: expired Attribution API tokens, out of window installs and backgrounded apps that delay updates. Timebox the work with our postback windows guide so delays are expected rather than alarming.
Gate production on a full week of agreeing rows. Pressure to launch early is how teams inherit mysteries.
Reconcile weekly against the console#
Reconcile AppsFlyer installs against Apple Ads console installs weekly, with null shares annotated, using the standard table. Small steady gaps are plumbing noise; sudden steps are SDK, mapping or window errors demanding attention.
Work the method in our reconciliation guide and read suppression through our null rates guide so null is never mistaken for zero. Keep partner integration notes beside the table for context.
When gaps persist past two cycles, raise a support ticket with raw postback evidence attached. Evidence gets fixes; vibes get queue positions.
Keep the integration healthy#
Protect the integration with boring routines: SDK currency checks, cost link audits and mapping reviews every quarter. Measurement rots quietly, and quarterly care costs far less than forensic rebuilds.
Assign one owner, log every change and re-verify after each app release. If ownership keeps slipping, talk to folkfox and we will run the measurement maintenance alongside campaign management.
Healthy plumbing makes confident budgets possible. Treat it as infrastructure, not admin.
Frequently asked questions#
How long does AppsFlyer Apple Ads setup take?
A focused team completes cost linking, SDK updates, value mapping and sandbox verification inside two weeks. The waiting comes from postback delays during verification, so start sandbox tests early.
Does AppsFlyer support AdAttributionKit?
Current AppsFlyer versions support dual ingest of SKAdNetwork and AdAttributionKit. Keep the SDK current and enable both frameworks together rather than sequencing them months apart.
Why is AppsFlyer missing installs the console shows?
Privacy delays, thresholds, null suppression and window boundaries explain most gaps. Reconcile weekly with null annotations before suspecting the integration.
Can AppsFlyer show raw postbacks?
Yes, raw postback views expose what devices actually reported, which is the fastest way to separate instrumentation faults from dashboard misunderstandings during debugging.
Should mapping differ between frameworks?
No. Keep one conversion value schema across SKAdNetwork and AdAttributionKit during dual running so cohorts stay comparable and trend lines stay readable.
When should I call support?
After two reconciliation cycles of unexplained divergence, with raw postback evidence, SDK versions and mapping exports attached. Structured tickets resolve in days; vague ones linger.
Read more on this topic#
The Apple Ads Hub
Free tools, format guides and live news for every Apple Ads placement.
Open the hubAdjust Setup Guide: Apple Ads Links and Callbacks
Connection, callbacks and care: Adjust for Apple Ads.
Read the entryNull Rates Guide: Why Null Is Not Zero in Apple Ads
Null means suppressed, not failed: thresholds, reads and language.
Read the entryReconciliation Guide: Apple Ads Reports That Agree
Three streams, one table: weekly Apple Ads reconciliation that holds.
Read the entryWant Apple Ads managed properly?
folkfox runs Apple Ads campaigns that respect the auction: brand defence, exact harvests and honest reporting. Talk to us before your next test.