Skip to main content

Start Here: From Signup to a Working Deep Link

You've signed up — now what? This page is the map. It explains what ChottuLink actually does, why the SDK matters, and the exact steps to go from an empty dashboard to passing data from a link into your app (the foundation for referrals, promo codes, and sending users to the right screen).

Read Part A to understand the idea. Hand Part B to whoever writes your app code.


Part A — Understand it (no code)

Think about what happens when you share a plain link to your app's content — say a product page — and a user taps it on their phone:

ScenarioA normal link https://yourstore.com/product/42A ChottuLink https://yourstore.chottu.link/product-42
App is installedOften opens the website in a browser, not your app. The user has to find the product again.Opens your app, directly on product 42.
App is NOT installedSends them to the website. The journey to install the app — and find that product again — is on them. Most give up.Sends them to the App Store / Play Store, and after they install and open the app, takes them straight to product 42.
On desktopWorks, but there's no app to fall into.Falls back gracefully to a web page you choose.

A ChottuLink is one smart link that figures out who tapped it, what device they're on, and whether your app is installed — then routes them to the right place every time. (More on the routing internals: Operating System Integration.)

Android App Links and iOS Universal Links already open your app and carry data in a URL — so what's the big deal? Two things they can't do on their own:

  • Store redirect when the app isn't installed — a plain deep link dead-ends (a browser tab, a 404, or nothing); a ChottuLink sends users to the App Store / Play Store, and to the web on desktop.
  • Deferred deep linking — a ChottuLink carries the link's data (referrer ID, coupon, product) through the install and delivers it on first launch, so even brand-new users land on the exact screen you intended.

Together — store redirect + deferred data — that's what unlocks referrals, promos, and personalized landing for people who don't have your app yet. It's the part the SDK delivers (next).

Why the SDK is non-negotiable

The link gets the user to your app. The SDK is what hands the link — and the data riding on it — to your app's code so you can actually do something with it.

Without the SDK, your app opens to its home screen with no idea which link brought the user there. With the SDK, your app receives the link's Destination URL with its data attached — e.g. https://yourstore.com/product/42?ref=USER_123&coupon=WELCOME10 — ready to act on.

The SDK's hardest and most valuable job is deferred deep linking — making the data survive an app install:

 Tap link  →  App not installed  →  Store  →  Install  →  First open

SDK delivers your Destination URL + its params ✓
(e.g. ref=USER_123, coupon=WELCOME10, product=42)

That gap between "tapped a link" and "opened a freshly-installed app" is where normal links lose all context. The ChottuLink SDK carries it across. This is what makes a referral reward, an auto-applied coupon, or a land-on-the-right-product experience possible for brand-new users.


Part B — Build it (hand this to your developer)

Six steps. Steps 1–4 get a link opening your app with your data inside it. Steps 5–6 are optional power-ups.

The flow at a glance

From creating a link to reading your data inside the app:

Step 1 — Configure your dashboard

Claim your subdomain (e.g. yourstore.chottu.link), connect your Android/iOS apps, and set a web fallback URL. This is what makes the smart routing work.

▸ Follow the Onboarding guide, then fill in platform details: Android settings · iOS settings

Two key types

You'll grab API keys from Dashboard → Keys. There are two: a Mobile SDK key (c_app_xxx) for the mobile SDK inside your app, and a REST API key (c_api_xxx) for your server. Don't mix them up.

Step 2 — Install & initialize the SDK

Add the SDK to your app and initialize it by following the steps precisely as laid out in your platform's guide. Pick your platform:

PlatformSetup
iOSiOS setup
AndroidAndroid setup
FlutterFlutter setup
React NativeReact Native setup
ExpoExpo setup
Capacitor / IonicCapacitor setup
UnityUnity setup

Three quick sub-steps. The field labels below match the Dashboard's link wizard.

3.1 — Pick how you'll create it

3.2 — Set the Destination URL (the field everything depends on)

This is the single most important value on a ChottuLink, because it's exactly what your app gets back. On the receive callback (Step 4), the SDK hands your app this Destination URL with every query parameter you attached — even across a deferred install. Whatever you want your app to read and act on, you put it here:

https://yourstore.com/product/42?coupon=WELCOME10&ref=USER_123
  • App installed? The SDK returns this exact URL to your code, so you can route the user to product 42 and read coupon and ref.
  • On desktop/web, or "Open in Browser"? The same URL is the page the user lands on.

Set this per platform:

  • Open in App — not-installed users go to the store, and deferred deep linking delivers the Destination URL after install.
  • Open in Browser — not-installed users just land on the Destination URL in a browser.

When the app is installed, the OS opens it automatically regardless — so this only controls the not-installed path. ▸ How this works

3.4 — (Optional) Add social previews & UTMs

Round out the link with the wizard's remaining steps. Neither changes routing or the data your app reads:

  • Rich Link Previews (social params) — the title, description, and image shown when your link is pasted into WhatsApp, iMessage, Instagram, or Slack. Controls how the link looks when shared.
  • Campaign tracking (UTMs)utm_source, utm_medium, utm_campaign, and friends, for analytics and attribution reporting. ▸ Attribution & Analytics

Wire up the SDK's callback / delegate / listener. When a link opens your app — whether it was already running or just installed (deferred) — the callback hands you the Destination URL with all your query params attached. Parse it and write your own logic to — credit a referrer / apply a promo / open the right product page.

Pick your platform:

PlatformReceive
iOSiOS receive
AndroidAndroid receive
FlutterFlutter receive
React NativeReact Native receive
Capacitor / IonicCapacitor receive
UnityUnity receive

More ways to pass data: beyond the params on your Destination URL, you can attach them at share time with _ch_incp=1, or read the exact tapped link via shortLinkRaw — all working across deferred installs too. ▸ Passing Parameters guide

Step 5 — (Optional) Measure & identify users

Connect installs and in-app actions back to the link that drove them. Identify logged-in users, and track signups and purchases.

Attribution & AnalyticsgetAttributionData(), identify(), trackLead(), trackConversion()

Step 6 — (Optional) Automate server-side

Get an HTTP notification the moment a link is clicked, a lead is created, or an install is attributed — to credit referrers, sync a CRM, or trigger automations.

Webhooks


Next steps

  1. New here? Start with Onboarding (Step 1).
  2. Coming from Firebase Dynamic Links? Use the Migration Guide.
  3. Links open the store instead of the app? That's usually domain verification in progress — see Troubleshooting.

Need help?

Chat with us in the ChottuLink Dashboard or email help@chottulink.com.