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). 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) Enable debug mode during testing
Turn debug = true while testing so you can see detailed SDK logs. Where to enable it:- React Native: in
linkrunner.init(...)(see React Native Usage) - iOS: in
LinkrunnerSDK.shared.initialize(..., debug: true)(see iOS Usage) - Android: in
LinkRunner.getInstance().init(..., debug = true)(see Android Usage) - Expo: in
app.jsonplugin config (see Expo Installation)
Test flow (click → install → signup)
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).
- 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.
- 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
- The campaign install count should increase in the Linkrunner dashboard.
-
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.
- The campaign signup count should increase in the Linkrunner dashboard.
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.
- 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.
- 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.
- Confirm debug mode is enabled and you can see SDK init logs (see your SDK usage guide).
Signup count not increasing
- Confirm your app calls
signuponly after the user completes onboarding/login. - Confirm you are passing the required user identifier fields per your SDK usage guide.







