Open your app from an email link
An email link opens your app when the address the reader taps belongs to you and your app is set up to claim it. Put your WarpLink link in the email on your own domain, and ask your email provider to leave it unwrapped or to track clicks on a domain you control.
How it works
Put the link on your own domain
Add a subdomain such as go.example.com in the dashboard and add the DNS records it lists. Links on it are served with the association files for your app, so iOS and Android can verify the domain.
Declare the domain in the app
Add the domain to the Associated Domains entry on iOS and to the App Links intent filter on Android. Declare it to the SDK with the linkDomains option so the first launch already knows it.
Create the link with the campaign fields
Create the link on that domain with a slug, the destination screen and UTM fields for the campaign. WarpLink adds the UTM fields to the destination URL on redirect.
Check what your email provider does to links
Most providers rewrite links to a click-tracking domain, and the reader then taps that domain instead of yours. Turn the rewrite off for this link, or run click tracking on a branded domain that serves your association files.
Send a test and tap it on a phone
Send the email to yourself and tap the link in the mail app on a real device. Then tap it on a phone without the app to confirm the store page opens.
Compare campaigns
Each link shows clicks, unique clicks and installs. Give each send its own link or its own utm_campaign value, and the Analytics page lines them up.
Create an email link on your domain
// An email link on your own domain, with UTM fields for the campaign.
const response = await fetch("https://api.warplink.app/v1/links", {
method: "POST",
headers: {
// API key from Keys > API
Authorization: "Bearer wl_live_YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
app_id: "3f9a1c2e-6b7d-4e1a-9c2f-8a5b1d0e7c44",
domain: "go.example.com",
slug: "october-digest",
destination_url: "https://app.example/digest",
utm_source: "email",
utm_medium: "newsletter",
utm_campaign: "october-digest",
}),
});
const link = (await response.json()) as { short_url: string };WarpLink.configure(
apiKey: "wl_live_yoursdkkeyhere000000000000000000",
options: WarpLinkOptions(linkDomains: ["yourapp.aplnk.to", "links.yourapp.com"])
)WarpLink.configure(
context = this,
apiKey = "wl_live_yoursdkkeyhere000000000000000000",
options = WarpLinkOptions(linkDomains = listOf("yourapp.aplnk.to", "links.yourapp.com"))
)What you get
- Linking
- A link on your own domain that opens the app through Universal Links and App Links, with the association files served for you, or the store page when the app is missing.
- Attribution
- Installs that follow a tap on a WarpLink link, in any channel, include installs that began in an email, matched back to the link that was tapped.
- Analytics
- Clicks, unique clicks and installs for each send, and a breakdown by device, country and referrer, from the same link.
Common questions
Why does my email link open the browser and not my app?
The reader usually taps a tracking address that your email provider put in place of your link. That address has no association file for your app, so the phone opens the browser. Use your own domain or turn the rewrite off.
Can I keep click tracking from my email provider?
Yes, if the provider can track clicks on a branded domain and serve your association files from it. Otherwise point the email at a link domain that does the redirect.
Do I need a custom domain for email links?
It helps. Your app's WarpLink address works too, and a custom domain keeps your brand in the link a reader sees. The guide to custom domains shows both.
What happens to a reader who does not have the app?
They land on the store page you set as the fallback. With the SDK in your app, the first launch after install opens the screen the email linked to.
How do I test the link before I send?
Paste the domain into the deep link checker to read both association files, then tap the link from the mail app on a real phone.