What is an AppsFlyer to Linkrunner migration?
An AppsFlyer to Linkrunner migration is the move of your app's attribution SDK, tracking links, ad network postbacks and reporting from AppsFlyer to Linkrunner, with a short period where both run side by side so you can check the numbers before you switch.
Most teams make the move for cost. AppsFlyer Growth lists $0.07 per conversion, while Linkrunner lists $0.012 per attributed install up to 10k a month, falling to $0.007 above 500k. At 100k installs a month that is about $900 at Linkrunner against about $7,000 at AppsFlyer, at list price. The Linkrunner vs AppsFlyer scorecard has the round-by-round detail.
Conversion: the unit AppsFlyer bills on. AppsFlyer does not count organic installs as conversions, so compare its numbers with Linkrunner's paid installs, not with total installs.
Step 1: List everything AppsFlyer touches
Write the inventory before you change any code. It becomes your cutover checklist later.
- Events: every in-app event name your app sends, and which ones carry revenue.
- Links: OneLink templates, short links, QR codes, influencer and affiliate links, email and push links.
- Domains: the branded link domain your links run on, if you use one.
- Postbacks: each ad network that receives install and event postbacks, and the event each campaign optimises on.
- Data: dashboards, scheduled reports and analytics tools that read AppsFlyer data.
- People: who needs dashboard access on day one.
Step 2: Save the history you need
Download the aggregated reports you rely on before anything changes. If you are on AppsFlyer's Zero plan, AppsFlyer removed raw data exports from Zero on 15 September 2026, and on new accounts the Raw Data API is a 30-day trial. Plan any year-on-year comparison around the reports you can still download.
Step 3: Add the Linkrunner SDK alongside AppsFlyer
Ship one release with both SDKs. Teams typically go live on Linkrunner within a week. SDKs cover React Native, Flutter, iOS, Android, Expo, Unity, Capacitor, Cordova and web.
- Keep event names identical to your AppsFlyer events, so the two reports line up during the parallel run.
- Send revenue with your purchase events. Linkrunner's postbacks pass revenue signals, not just installs, to Meta, Google and TikTok.
Step 4: Rebuild links on your own domain
Recreate each live link in Linkrunner. Every Linkrunner link is dynamic and deferred by default on every plan, with Universal Links, App Links, QR codes and branded short links on custom domains.
- Check your branded domain first. On 15 September 2026, AppsFlyer revoked branded domains on the reduced Zero plan and warned that this may leave links inactive.
- Use a domain you control, so a future vendor change never takes your URLs with it.
- Swap links in one planned pass: ads, bios, emails, push templates and printed QR codes.
Linkrunner's OneLink alternative page describes how its links replace AppsFlyer's OneLink.
Step 5: Reconnect ad network postbacks
Connect each network in Linkrunner. Meta, Google, TikTok, Apple Search Ads, Snapchat, LinkedIn, Reddit and Jio Ads are all integrated. Map the same events each campaign optimises on today.
- Keep one postback source per network while both SDKs run, so no network receives the same conversion twice.
- Leave optimisation events unchanged during the move. Changing them at the same time muddies the comparison.
How long should both MMPs run in parallel?
Run both for a few weeks, covering at least two full weekly cycles, so weekday and weekend patterns show up in both tools. Going live takes about a week; the parallel run is what takes most of the calendar time.
Step 6: Compare before you cut over
Use the same date range, time zone and platform split in both dashboards. Then check each row.
| Check | What to look for |
|---|---|
| Installs by platform | The same trend on iOS and Android |
| Paid installs per network | A small, steady gap, not a growing one |
| Organic installs | Counted by Linkrunner; excluded from AppsFlyer conversions |
| Key in-app events | Matching counts once event names match |
| Revenue | Same currency and the same revenue events |
| Deep link opens | New and existing users land on the right screen |
Attribution windows explain most gaps, so align them before you judge. AttributionDebugger's guide to attribution windows explains how mismatched windows produce different install counts.
Step 7: Cut over
- Switch each network's postbacks to Linkrunner.
- Replace any remaining AppsFlyer links.
- Remove the AppsFlyer SDK in your next release.
- Close or downgrade the AppsFlyer account once the last link has moved.
Before you sign, run the eight checks before switching MMPs and price your own volume on the cost calculator. Linkrunner's AppsFlyer comparison page sets out the same switch from Linkrunner's side, and the first 25k attributed installs are free, so the parallel run starts on the free allowance.