Skip to main content

The Problem

You click a new campaign link and test a signup, but the dashboard attributes it to a different campaign — usually an older test link with a stale date.

Why This Happens

The SDK generates a unique install instance ID on first launch and persists it on the device. All subsequent activity (installs, signups, events) is tied to this ID. When you test again without uninstalling, the SDK reuses the same ID and the backend attributes everything to the original campaign. No uninstall = same ID = attribution stuck on the first campaign.

How to Fix It

1. Uninstall the app before each test

This clears the stored install instance ID so a fresh one is generated on next launch.
Force-stopping the app is not enough — you must fully uninstall it.

2. Enable debug mode

Set debug = true in your SDK init to see logs confirming a fresh install.
await linkrunner.init("TOKEN", "SECRET", "KEY_ID", false, true);

3. Run the test flow

  1. Click your new campaign link on the test device
  2. Install and open the app within 3 minutes of clicking
  3. Signup (if testing signup attribution)
Multiple tests? Uninstall between each run for clean attribution.

Still seeing issues?

  • Confirm you clicked the link on the same device where the app is installed
  • Confirm you opened the app within 3 minutes of clicking
  • See the full Integration Testing guide for a detailed walkthrough
Need help? Reach out at darshil@linkrunner.io.