Product
Live Attribution Debugger
Use the debugger to confirm attribution before a creator posts a live link. Start a session in Sandbox, scan a QR (or redeem a code) on a development build, and watch each step reach success in real time. Test clicks stay on a confirmation page. The App Store and Play stay closed.
Open it from a sandbox workspace: Debugger in the sidebar, or Open Debugger on Overview. It is available in Sandbox only. Live creator payouts stay on production. How the two environments split: Sandbox and production.
What you will see
A live timeline on the right. The dashboard polls about once a second. Each step stays pending until the SDK or a webhook reports it, then shows success or error with a short message.
Link click to install
Use this for the primary path: tap a creator link, open the app, match the install, then attach billing.
- Switch the workspace to Sandbox. Use the sandbox SDK key in your development build (
environment: "sandbox"). - Create a sandbox creator and a sandbox tracking link if none exists yet. Host:
sandbox.go.tapapplink.com. - Debugger, then Link click → install. Pick the link, then Start link session.
- Scan the QR on your phone, or open the session URL. Sandbox records the click and stays on a confirmation page. The session id is already on that URL, so the match uses that session. It is deterministic.
- Open the development build.
trackInstall()should match immediately. ThensetAppUserId()with your billing customer id. - Optional: fire a sandbox purchase in RevenueCat, Superwall, Adapty, or Qonversion so Purchase received succeeds.
| Step | What happened |
|---|---|
| Session initialized | You started a session in the dashboard. |
| Link clicked | Someone opened the session URL on sandbox.go.tapapplink.com. |
| App opened / Install matched | The SDK called trackInstall() and matched that click. |
| RevenueCat customer linked | setAppUserId() bridged the billing customer. Superwall, Adapty, and Qonversion use this same step. |
| Purchase received | A sandbox billing webhook attributed revenue to that customer. |
Promo code
Use this when the viewer skips the link and types SARAH10 at checkout. That is the second attribution path.
- Attach a discount code to a sandbox creator (Pro), or use Fill demo data for sample codes.
- Debugger, then Promo code, then Start code watch.
- Reset the development build so
trackInstall()can fire again, or skip the link and go straight to the code. - Call
applyCode("SARAH10")with a code from the list. The debugger attaches the next promo attribution to this session automatically. setAppUserId(), then a sandbox purchase if you want revenue on the same timeline.
Timeline: session initialized, code redeemed, billing customer linked, purchase received. Details: Discount codes.
Retrying a test
trackInstall() records once per install. To run the debugger again on the same device, call resetForTesting() in a debug-only block, or delete the app, then start a new session. An old session QR after you stop the session leaves the timeline unchanged.