Attribution is the most sensitive system affected by a deep linking platform migration. Unlike routes and redirects that either work or do not, attribution can silently degrade. Installs get counted twice, campaigns get misattributed, or conversions disappear from reports entirely. The damage is often invisible until a marketing team notices their numbers do not add up weeks later.
This guide explains exactly what happens to attribution during a migration, what data you will lose, what you can preserve, and how to maintain confidence in your numbers. For analytics data export strategies, see analytics data migration. For the overall migration plan, see migration timeline planning.
How Attribution Works (and Why Migration Breaks It)
Attribution connects an install to the marketing touchpoint that caused it. A user clicks a campaign link, installs the app later, and the attribution system matches the click to the install.
This matching relies on a chain:
- Click recording. The deep linking platform records the click with device signals (IP address, user agent, device model, timestamp).
- Install detection. The SDK in the app reports the first launch to the platform.
- Matching. The platform matches the install to the click using deterministic methods (device ID, Install Referrer on Android) or probabilistic methods (fingerprinting).
- Attribution window. The match must happen within a configured window (typically 7-30 days after the click).
During migration, this chain breaks because:
- Clicks are recorded on the old platform, but installs are reported to the new platform.
- The new platform has no record of the click, so it cannot match the install.
- The old platform has the click but never receives the install event.
The Attribution Gap
The attribution gap is the period where neither platform can fully attribute installs. Its duration depends on your attribution window:
Attribution window: 7 days
Day 0: Migration switch (new SDK active)
Day 1-7: Installs from pre-migration clicks cannot be attributed
Day 8+: All clicks and installs are on the new platform
With a 7-day window, you have a 7-day gap. With a 30-day window, the gap is 30 days.
What Gets Lost in the Gap
- Installs attributed to "organic" that were actually from campaigns. The new platform sees the install but has no matching click, so it reports it as organic.
- Click-to-install conversion rates drop artificially because pre-migration clicks never get matched to installs.
- Campaign ROI calculations are wrong for campaigns that were active before and during migration.
What Is Preserved
- Post-install events (purchases, sign-ups) continue to be tracked correctly on the new platform, even during the gap. The events are attributed to whatever source the install was attributed to.
- New campaign performance is accurate from the moment campaigns use the new platform's links.
Dual-SDK Attribution Strategy
The most effective way to minimize the attribution gap is to run both SDKs simultaneously during the transition.
How It Works
// iOS: both SDKs initialized
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// New platform: full attribution and event tracking
TolinkuSDK.initialize(config: tolinkuConfig)
// Old platform: attribution resolution only (no new event tracking)
OldPlatformSDK.initialize(config: oldConfig)
OldPlatformSDK.setAttributionOnly(true)
return true
}
The old SDK resolves pending attributions from pre-migration clicks. The new SDK handles all new clicks and installs. This reduces the gap to zero for deterministic matching (where the old SDK can still resolve its own click IDs).
Limitations
Dual-SDK does not fix everything:
- Probabilistic matches may conflict. Both SDKs may try to claim the same install using fingerprinting.
- Install referrer (Android) can only be read once. Whichever SDK reads it first gets the attribution.
- SDK conflicts can cause crashes or unexpected behavior if both SDKs try to handle the same system callbacks.
See migration risk mitigation for strategies to manage SDK conflicts.
Attribution Models and Migration
Different attribution models are affected differently by migration.
Last-Click Attribution
Most deep linking platforms use last-click attribution: the last click before the install gets credit. During migration:
- If the last click was on the old platform and the install is reported to the new platform, the install is unattributed (or attributed to organic).
- If the user clicks a new-platform link after clicking an old-platform link, the new platform correctly attributes the install.
View-Through Attribution
View-through attribution (crediting an impression, not a click) is typically the first to break during migration because:
- Impression data is harder to transfer between platforms.
- View-through windows are shorter (1-24 hours), so the data expires quickly.
- Most teams disable view-through attribution during migration to avoid confusion.
Multi-Touch Attribution
If you use multi-touch attribution (crediting multiple touchpoints), migration creates a gap in the touchpoint chain. Touches before migration are on the old platform; touches after are on the new platform. No single platform has the complete picture.
Solution: Use a third-party analytics platform (Google Analytics, Amplitude, Mixpanel) as the source of truth for multi-touch attribution. Both deep linking platforms feed events into the analytics platform, which maintains the complete touchpoint chain.
Measuring the Migration Impact
Baseline Metrics
Before migration, record these baselines from the old platform:
| Metric | Last 7 Days | Last 30 Days |
|---|---|---|
| Total installs (attributed) | ||
| Organic installs | ||
| Paid installs | ||
| Click-to-install rate | ||
| Deferred deep link match rate | ||
| Revenue attributed to campaigns |
Expected Variances
During the migration gap:
- Organic installs increase 10-30%. Installs that should be attributed to campaigns appear as organic.
- Paid install counts drop 10-30%. The inverse of the organic increase.
- Click-to-install rate drops. Clicks on the old platform never get matched.
- Revenue attribution drops. Purchases are tracked but attributed to "organic" instead of the correct campaign.
After the gap closes (attribution window + 1 week):
- Numbers should normalize. If they do not, investigate SDK configuration or route setup.
- 5-10% variance is normal between platforms. Different matching algorithms, different attribution models, and different data processing pipelines produce slightly different numbers.
- 20%+ variance indicates a problem. Common causes: missing routes, broken verification files, SDK initialization errors.
Protecting Campaign Spend During Migration
Marketing teams need to know whether their campaigns are still working during migration. Attribution gaps can make it look like campaigns stopped converting, leading to panic budget cuts.
Communication Plan
Before migration, brief the marketing team:
- Attribution will show a temporary dip. This is expected and does not mean campaigns stopped working.
- Use third-party analytics as the source of truth during the gap.
- Do not pause campaigns based on the deep linking platform's attribution numbers during migration.
- New campaigns should use new-platform links from the start of migration.
Proxy Metrics
During the gap, use proxy metrics that are not affected by the attribution platform switch:
- App Store and Google Play install counts. These are independent of attribution platforms.
- In-app conversion rates. If your in-app conversion rate is stable, installs are still coming from the same sources.
- Direct tracking parameters. UTM parameters in your campaign URLs are captured by your own analytics, independent of the deep linking platform.
Post-Migration Validation
After the attribution window closes and all installs should be attributed by the new platform, validate:
Attribution Accuracy Test
- Create a test campaign link on the new platform.
- Click the link on a test device.
- Install (or reinstall) the app.
- Verify the install is attributed to the test campaign within minutes.
- Trigger a conversion event. Verify it appears in the new platform's dashboard with the correct attribution.
Organic vs. Paid Ratio
Compare the organic-to-paid install ratio from before and after migration:
Before migration: 60% organic, 40% paid
During migration: 75% organic, 25% paid (gap effect)
After migration: 62% organic, 38% paid (should normalize)
If the ratio does not normalize within 2 weeks after the gap closes, investigate.
Revenue Attribution
Verify that revenue attributed to campaigns matches your payment processor's data. The total revenue should match; only the attribution source may differ slightly.
Tolinku Attribution
Tolinku's attribution system uses deterministic matching (Install Referrer, Universal Links, App Links) as the primary method, with probabilistic matching as a fallback. This approach prioritizes accuracy over coverage, which is especially valuable during migration when data quality matters most.
For attribution concepts, see mobile attribution guide. For analytics data export, see analytics data migration. For the migration timeline, see migrating to Tolinku.
Get deep linking tips in your inbox
One email per week. No spam.