SwitchMMP

Plan your MMP switch, gate by gate

Pick where you are leaving and where you are going. Get a week-by-week plan with a parallel run, what to re-map and a checklist you can copy or print.

Short answer

Switching MMP is a sequence, not a single swap: check the contract and export your history first, add the new SDK and map events, connect each ad network, rebuild SKAN and deep links, run both tools in parallel for 2 to 4 weeks, then cut over on one date and retire the old setup. The planner below turns your answers into a gate-by-gate plan with a checklist.

Build your migration plan

Platforms
Ad networks you use
Do you use SKAN on iOS?
Do you use deep links?
Do you export to a data warehouse?

Runs in your browser. Nothing you choose is stored, and there are no text boxes.

Sample plan: AppsFlyer to a destination not decided yet. Change the answers to build yours.

Timeline

DeparturesTotal: about 7 to 12 weeks
GateWhenStepRemarks
01Week 1Check the contract and data termsBefore anything else
02Week 1Inventory what you measure todaySame week
03Weeks 2 to 3Export your historyBefore access ends
04Weeks 2 to 3Add the new SDK and map eventsIn parallel
05Weeks 3 to 4Connect ad networks and partnersCheck each one
06Weeks 3 to 4Rebuild the SKAN schemaiOS only
07Weeks 3 to 5Move deep linksBefore cutover
08Weeks 4 to 9Release and run both SDKsParallel run
09Weeks 6 to 10Cut overOne date for all
10Weeks 7 to 12Retire the old setupLast call
11Before gate 04Pick the destinationFinal call

Week ranges are this site's planning assumptions, not vendor statistics. See the methodology.

Gate by gate

  1. Gate01

    Check the contract and data terms Week 1

    • AppsFlyer's Terms of Use renew subscriptions automatically unless either side gives written notice 45 days before the term ends (unless your order form says otherwise).
    • AppsFlyer's Terms of Use publish no deletion timeline for paid accounts, and on termination you must remove its code from your apps and pages.
    • Write down the last day you can log in to AppsFlyer and work every date in this plan back from it.
  2. Gate02

    Inventory what you measure today Week 1

    • List every in-app event name and revenue event you send to AppsFlyer, with the parameters each one carries.
    • List every postback: which network gets which event, with or without revenue.
    • List every live link: ads, QR codes, emails, push campaigns, influencer and affiliate links.
    • Copy the current SKAN conversion value schema value by value.
    • List audiences and cohorts synced from AppsFlyer to ad networks; they need rebuilding in the new tool.
  3. Gate03

    Export your history Weeks 2 to 3

    • AppsFlyer raw reports through the Pull API have a 90-day lookback, aggregated reports are kept for 25 months, and Data Locker does not support historical data. Pull raw data in 90-day slices while you still have access.
    • Keep aggregated reports by day, network, campaign and platform for year-on-year comparisons; raw rows are only needed where you will re-use them.
  4. Gate04

    Add the new SDK and map events Weeks 2 to 3

    • Map each event name from AppsFlyer to the name the new SDK will send, in one sheet that engineering and marketing both sign off.
    • Add the new SDK in a test build and check installs, events and revenue arrive in your new MMP before any release.
  5. Gate05

    Connect ad networks and partners Weeks 3 to 4

    • Meta: connect your new MMP through partner integrations in Events Manager, and send each event through one channel only (MMP, Meta SDK or Conversions API), as Meta advises for value optimisation.
    • Google Ads: create a new link ID for each app under Tools > Data manager > Third-party app analytics. App conversion actions from a new partner arrive as secondary by default, so you choose when they become primary.
    • Tell agencies and affiliates the cutover date and the new tracking links they must use from that day.
  6. Gate06

    Rebuild the SKAN schema Weeks 3 to 4

    • Only one SDK should manage SKAN conversion values in an app: AppsFlyer, Branch, Kochava and Singular all say so. Pick the date SKAN control moves to your new MMP.
    • AppsFlyer holds the schema in SKAN Conversion Studio and gives Meta a connection URL for Import from Partner App.
    • Rebuild the conversion value schema in the new MMP's SKAN settings.
    • Meta: replace the Import from partner app URL in Events Manager with the new MMP's, and avoid decreasing values or using lock windows, as Meta advises.
    • Google Ads: set the schema in one place only (Google Analytics, an App Attribution Partner or the Google Ads API), as Google advises.
    • SKAN postbacks only go to one MMP, so postbacks for installs before the switch keep arriving at the old setup: the third window ends 35 days after first launch, plus up to 144 hours of random delay.
  7. Gate07

    Move deep links Weeks 3 to 5

    • AppsFlyer branded domains point at OneLink by CNAME, and only branded domains not yet mapped can be deleted from the dashboard.
    • Decide: keep your link domain or start a new one. A domain serves one apple-app-site-association file, so it can point at only one provider at a time.
    • Android: assetlinks.json changes can take up to 7 days to reach Android 15+ devices, and on Android 14 and lower they are picked up on app install or update. Ship the new domain in the app well before cutover.
    • iOS: add the new domain to Associated Domains in the app build that carries the new SDK.
    • Swap links in this order: always-on ads and QR codes first, then emails and push, then influencer and affiliate links.
  8. Gate08

    Release and run both SDKs Weeks 4 to 9

    • Release the app version with the new SDK. AppsFlyer's Adjust migration guide recommends removing the old SDK in the same release; keeping both for a while risks double attribution and double charges, so keep each network's postbacks on one MMP only.
    • AppsFlyer publishes a multiple-MMP guide: only one SDK can trigger SKAN postbacks, TikTok supports postbacks for one MMP only, and X Ads does not support multiple MMPs.
    • Compare daily installs by network and platform in both tools; read gaps against each tool's attribution windows before calling one wrong.
    • Run long enough to cover a full Google Smart Bidding learning phase (Google says 7 to 14 days).
    • Android: the Play Install Referrer stays readable for 90 days after install, so the new SDK can attribute users who installed shortly before they updated.
    • Watch app update adoption: the new SDK only measures users on the new version.
  9. Gate09

    Cut over Weeks 6 to 10

    • Turn off each network in AppsFlyer under Collaborate > Partner Integrations on the cutover date.
    • Airbridge's migration guide warns events may be counted twice if the previous MMP's postbacks and SAN setting stay on; switch them off on this date.
    • Google Ads: make the new app conversion actions primary and the old ones secondary on the same day. Google says changing conversion goals resets the 7 to 14 day Smart Bidding learning window.
    • Meta: changing an ad set's optimisation event is a significant edit that may restart learning; ad sets usually exit learning after about 50 results in a week.
    • Move SKAN control to your new MMP on the date you chose, and turn off SKAN handling in the other SDK.
  10. Gate10

    Retire the old setup Weeks 7 to 12

    • Take a final export from AppsFlyer before the end date.
    • Send the non-renewal notice in time: AppsFlyer's Terms of Use renew subscriptions automatically unless either side gives written notice 45 days before the term ends (unless your order form says otherwise).
    • Remove the AppsFlyer SDK in the next app release.
    • Remove the old link domain's DNS records only after old links are retired.
  11. Gate11

    Final call: pick the destination Before gate 04

    MMPs that fit what you entered, from their published pricing and docs. Decide before you add the new SDK.

    1. LinkrunnerTeams go live within a week; CSV, API and webhook exports with no export fees. Free for 25k one-time installs, then $0.012 to $0.007 per attributed install, postpaid.Published pricesDeep linking includedRaw data exports
    2. AirbridgeBest for small apps in East Asian markets. Free tier: 30-day trial; from $40 a month. Raw data: Growth plan only.Published pricesDeep linking on entry plan
    3. SingularFree tier: 15k paid conversions. Price: $0.05 per conversion (Growth). Raw data: Partly (ETL is paid).Published pricesDeep linking on entry plan
    4. TenjinBest for indie and hybrid-casual game studios. Free tier: 2k conversions a month; from $200 a month. Raw data: Yes.Published pricesDeep linking on entry plan

What to re-map

  • PostbacksEvent and revenue postbacks for Meta, Google Ads, moved to the new MMP on one date.
  • Deep link domains and existing linksThe link domain, its AASA and assetlinks.json files, and every live link in ads, QR codes, emails and creator bios.
  • Event namesOne sheet mapping each old event name to the new SDK's name, revenue events included.
  • SKAN conversion schemaEvery conversion value rebuilt in the new MMP, with Meta's import URL and Google's schema source updated.
  • AudiencesAudiences and cohorts synced to ad networks, rebuilt from the new MMP's data.
  • Raw data historyAn export of the history you will need, taken before the old access ends.

Checklist

  • Gate 01: Check the contract and data terms
  • Gate 02: Inventory what you measure today
  • Gate 03: Export your history
  • Gate 04: Add the new SDK and map events
  • Gate 05: Connect ad networks and partners
  • Gate 06: Rebuild the SKAN schema
  • Gate 07: Move deep links
  • Gate 08: Release and run both SDKs
  • Gate 09: Cut over
  • Gate 10: Retire the old setup

What does switching MMP involve?

MMP migration: moving an app's attribution from one mobile measurement partner to another, including its SDK, ad network postbacks, SKAN conversion schema, deep link domains and historical data.

  • Two systems at once: AppsFlyer and Singular both publish dual-MMP guides, and both say SKAN postbacks go to one MMP only.
  • Fixed dates: renewal notice is 45 days at AppsFlyer and Adjust and 30 days at Branch and Singular, in their published terms.
  • Data clocks: Adjust deletes customer data within 60 days of termination; Branch has no obligation to keep it beyond 90 days.
  • Ad network resets: Google says Smart Bidding needs a 7 to 14 day learning phase after conversion goal changes.

How long does an MMP switch take?

Most of a switch is waiting on fixed clocks: notice periods, app update adoption and ad network learning phases. This planner pencils in about 7 to 12 weeks end to end, and the guide to switch timing explains each range.

Guides for each part of the switch

Questions

What is an MMP migration plan?

It is a dated list of everything that has to move when you change mobile measurement partner: contract notice, data exports, the new SDK and event names, ad network connections, SKAN schema, deep links, a parallel run, cutover and retiring the old setup.

How long does it take to switch MMP?

This site's planner pencils in about 7 to 12 weeks from contract check to retiring the old setup, most of it a 2 to 4 week parallel run. No vendor publishes a standard length; your release cycle, renewal notice and ad-network learning phases set the real pace.

What is the riskiest part of an MMP switch?

Losing data you cannot get back. Export windows and post-termination deletion dates are fixed by each vendor's docs and terms, for example a 90-day raw report lookback at AppsFlyer and deletion within 60 days at Adjust, so the export step comes first.

Can I run two MMP SDKs at the same time?

Yes, for a while. AppsFlyer and Singular both publish guides for measuring with two MMPs, but SKAN postbacks go to only one MMP, TikTok supports one MMP at a time and X Ads does not support two.

Will I lose my historical attribution data?

Only if you do not export it in time. Export windows differ: AppsFlyer raw reports have a 90-day lookback, and Adjust's terms say customer data is deleted within 60 days of termination.

Do I need to tell my ad networks when I switch MMP?

Yes. Each network needs the new MMP connected (Meta partner integrations, a new Google Ads link ID per app, TikTok's own MMP setup), and the old postbacks switched off on the same date so conversions are not counted twice.