Appearance
SDK Integration Testing
Validate your Linkrunner setup end-to-end: click → install → signup
Overview
This guide helps you verify your Linkrunner integration end-to-end using a real test campaign link. This testing process applies to all Linkrunner SDKs (React Native, Flutter, iOS, Android, Expo, and Web).
For mobile SDKs, Open SDK Console in the dashboard. It lets you register a test device and verify SDK initialization, attribution data, signup, custom events, and revenue events from one place.
The SDK Console is currently in beta.
You'll confirm that:
- A click is tracked when you open the campaign link on a device
- An install is tracked when you install and open the app after clicking
- A signup is tracked when you call the SDK signup method (recommended)
Event tracking for attributed users only: Linkrunner only stores and processes events for attributed users. To attribute a user, complete the testing flow described in this guide (click → install → open app).
Video walkthrough
The testing flow walkthrough starts at **5:16** in the video.
Prerequisites
1) Domain setup (required)
Before you start testing, make sure your Linkrunner domain setup is completed in the dashboard:
If you are setting up Universal Links (iOS) or App Links (Android), also complete deep link verification:
2) SDK integrated in your app
Complete integration for any supported SDK:
- React Native Installation and React Native Usage
- Flutter Installation and Flutter Usage
- iOS Installation and iOS Usage
- Android Installation and Android Usage
- Expo Installation
3) Register a test device in SDK Console
Open SDK Console in the dashboard and register your testing device.
You can register the device by opening your app while SDK Console listens, or by entering the device identifier manually.
For normal testing, you do not need debug = true. Registering the device in SDK Console is enough.
Set debug = true in SDK init only when SDK Console cannot use the normal device identifier: GAID (Android device identifier) collection is disabled, or the iOS ATT prompt is disabled so IDFA (iOS device identifier) is unavailable. Remove debug = true before production.
Test with SDK Console (beta)
Use this flow for most mobile SDK tests:
- Open SDK Console.
- Register your test device.
- Go to SDK Initialization and open the generated test link on that device.
- Install and open your app on the same device.
- Continue through Sign-up Tracking, Attribution Data Testing, Custom Events Tracking, and Revenue Event Tracking as needed.
If your app cannot collect GAID on Android or IDFA on iOS, set debug = true in SDK init before you use SDK Console.
Test flow (click → install → signup)
Use this manual flow when you want to verify campaign counts directly in the dashboard.
Step 1) Get a test device
Use a physical device or emulator/simulator.
Important setup:
- Make sure the app is uninstalled before starting the test.
- If you are retesting, uninstall again before each run to keep results clean.
Step 2) Create a test campaign in Linkrunner
Create a campaign from the dashboard:
Tip: If you prefer creating campaigns via API, see Campaign APIs.
Step 3) Test the click
- Copy the campaign link from the dashboard.
- Open the campaign link on the testing device (browser or in-app browser).
Expected result:
- The campaign click count should increase in the Linkrunner dashboard.
Step 4) Test the install
- After clicking the link, install the app locally from your computer (the build that contains the Linkrunner SDK).
- Open the app on the device.
Important timing rule:
- Open the app within 3 minutes of clicking the link.
Alternative flow for slow builds: If building and installing the app locally takes more than 3 minutes, use this approach instead: 1. First install the app on your device 2. Then open the campaign link in a browser (Chrome/Safari) on the same device 3. Immediately open the app after clicking the link
Expected result:
- The campaign install count should increase in the Linkrunner dashboard.
Optional but recommended:
Fetch attribution inside the app after first open using
getAttributionData()(supported in all SDKs). See your SDK usage guide:
Step 5) Test the signup event (recommended)
If you have implemented the SDK signup method:
- Complete onboarding or login in your app.
- Call the SDK
signupmethod once the user is registered.
Expected result:
- The campaign signup count should increase in the Linkrunner dashboard.
Implementation references:
Testing Remarketing
After verifying basic attribution (click → install → signup), you can test remarketing to confirm reengagement and install reattribution are working.
Prerequisites
- Complete the basic test flow above first (click → install → signup).
- Deep linking is configured in your app.
- The
handleDeepLinkfunction from the Linkrunner SDK is implemented. Refer to your SDK guide (React Native, Flutter, Android, iOS) for details. - Android backup configuration is set up for reinstall detection on Android. Refer to your SDK guide (React Native, Flutter, Android) for details.
Test 1: Reengagement (Deep Link Open)
This test verifies that a returning user opening the app via a deep link is attributed to a reengagement campaign.
Create a campaign and install the app: Follow the basic test flow above to create a campaign, click the link, and install the app.
Create a reengagement campaign: Create a new campaign in the dashboard. This will be your reengagement campaign.
Click the reengagement campaign link: Open the reengagement campaign link on the same device. The app should open via the deep link.
Expected result:
- In the Retargeting view on the dashboard, the reengagement campaign should show Reengagement: 1.
Test 2: Install Reattribution
This test verifies that a user who uninstalls and reinstalls the app is attributed as a reattribution.
Create a campaign and install the app: Follow the basic test flow above to create a campaign, click the link, and install the app.
Create a reengagement campaign: Create a new campaign in the dashboard.
Uninstall the app: Remove the app from the test device.
Click the reengagement campaign link: Open the reengagement campaign link on the same device.
Reinstall the app: Install and open the app again on the device.
Expected result:
- In the Retargeting view on the dashboard, the reengagement campaign should show the Reattribution count incremented by 1.
Troubleshooting
Click count not increasing
Confirm you opened the campaign link on the same device you plan to install on.
Confirm domain setup is complete: Domain settings
If using Universal Links/App Links, verify deep link verification:
Install count not increasing
- Confirm the app was uninstalled before the test.
- Confirm you opened the app within 3 minutes of clicking the link.
- If you are using SDK Console, confirm the device is registered as a test device.
- If GAID collection is disabled on Android or the ATT prompt is disabled on iOS, set
debug = truein SDK init and reopen the app.
Signup count not increasing
- Confirm your app calls
signupas soon as the user is identified (signup or login), and not before. - Confirm you are passing the required user identifier fields per your SDK usage guide.
Test device not showing in SDK Console
- Confirm the app with the Linkrunner SDK was opened on the test device.
- If GAID collection is disabled on Android, set
debug = truein SDK init and reopen the app. - If the ATT prompt is disabled on iOS, set
debug = truein SDK init and reopen the app.