Deep Links in Email: Why Click Tracking Breaks Them, and How to Keep Both
Your campaign email links to a screen in your app, and the tap opens your website instead. Click tracking is the reason. What each ESP documents as of October 2026, the three fixes and what each one costs you, and a test plan for Gmail, Apple Mail and Outlook on iPhone and Android.
Keep click tracking on and still open the app
- No ESP SDK, no CDN in front of the click domain
- One tap into the app on Pro
- Phones without the app go to the store
Your email doesn’t link to your app any more
A cart reminder says “Finish your order” and links to shop.example/cart. Someone taps it on an iPhone with your app installed, and Safari opens your website. The deep link isn’t broken. It just never reached the phone: your email service provider (ESP) replaced every link with one on its own click-tracking domain, so it can count the tap before sending the person on.
Your app claims shop.example. It doesn’t claim the ESP’s click domain, so iOS and Android treat the tap as an ordinary web link and open the browser. OneSignal’s and Braze’s documentation both describe it this way. The ESPs that support Universal Links either make the click domain serve your app’s files or leave the link unwrapped.
What happens between the tap and the page
One tap on a tracked link in a mail app, simplified.
The phone
click.esp.example → shop.example
- 01Tap in the mail app
GET https://click.esp.example/c/8f3a2e… (the email showed shop.example/cart)Your app is associated with shop.example, not click.esp.example, so the phone opens the browser.
- 02The ESP counts the click
302 Found Location: https://shop.example/cart?utm_source=emailThis redirect is what click tracking is for.
- 03The browser follows it
GET https://shop.example/cart?utm_source=emailApple says a redirect to a Universal Link should still reach the app through the browser. The ESPs report the page staying in Safari.
- 04Your website answers
200 OK Content-Type: text/htmlThe person reads your cart page in the browser. The app never saw the tap.
Does the redirect ever reach the app?
Apple’s debugging technote for Universal Links, TN3155, says that when a tapped link isn’t a Universal Link but redirects to one, the person is routed “through the web browser to the app”, and calls that allowed but not preferred. The ESPs describe what their customers see instead. Klaviyo says the tracking redirect stops the app from opening directly. OneSignal lists tracked links staying in Safari on iOS and in the browser on Android. Adobe says tracked Marketo links don’t open the app, and Kajabi says they may open in Safari.
Android gets less attention. Kajabi documents the problem on iOS only and says its Android apps need nothing extra; OneSignal lists the same failure on both. Klaviyo, Braze and SendGrid all want an assetlinks.json on the click domain next to the AASA file, so they treat Android like iOS. Where the docs disagree, your own test decides, and there’s a plan for it below.
The shortcut people try next, a myapp:// link, is worse in email. OneSignal says custom schemes aren’t clickable in email clients, and Customer.io says Gmail and others can strip them. The link in the email has to be https.
What each ESP documents
From each ESP’s own help page, read on October 23, 2026. Top: the click domain serves your app’s files. Middle: per-link opt-outs. Bottom: per email only.
Outlook can add a wrapper of its own
If you mail work addresses, there may be a second wrapper. In organisations with Microsoft Defender for Office 365, Safe Links rewrites links in incoming mail to an address on safelinks.protection.outlook.com and checks them when they’re clicked (Microsoft Learn, updated October 14, 2026). Admins can turn rewriting off, and Outlook on iOS and Android then checks the link at the click without rewriting it. They also keep a list of URLs that are never rewritten.
Microsoft doesn’t document how Safe Links treats Universal Links or App Links. Treat it as one more redirect in front of your ESP’s, and put a work Outlook account in your tests. Outlook.com and Microsoft 365 Personal have a separate version of the feature.
Three fixes, ranked by what you give up
From the one that costs you your click data to the one that costs you a tap.
Turn tracking off for app links
Add your ESP’s opt-out attribute to each app link, a few minutes per template. You lose the click in ESP reports, and in Mailchimp campaigns and HubSpot marketing emails you can only switch it off for the whole email. Batch suggests UTM tags and your own analytics to make up for it.
Make the click domain an app domain
The click domain serves an AASA file and assetlinks.json, and your app lists it next to your own domain. Clicks stay in your reports, but it’s engineering work tied to one ESP: Klaviyo requires its SDK, SendGrid needs a CDN or proxy plus app code that requests the wrapped URL, and a new click domain ships with an app release. Braze warns that a broad path rule makes every email link open the app. Customer.io skips the wrapper and has your app post the click back.
Point the tracked link at a link that opens the app
Tracking stays on, and nothing changes in the ESP’s settings or in your app. The ESP redirects to a smart link, which is in the browser by then and handles the app. You give up one hop, and on iPhone with https deep links, one tap on an Open the app button.
The third fix with Appy
Use an Appy link as the destination in your ESP: appy.to/cart instead of shop.example/cart. The ESP wraps it, counts the click and redirects as usual. The Appy link loads in the browser and counts the click again, by country and device and by whether it went to a store or your website, with bots filtered out.
On Pro ($9.99 a month), a deep link on the Appy link gets the person into the app. With a custom scheme, the link tries the app in Safari and Chrome and goes to the store if it doesn’t open. With an https deep link on your own domain, iPhone shows a short page with an Open the app button. That button links to a different domain from the page, and Apple documents a tap on a Universal Link in a different domain as opening the app. If nobody taps, the page moves on to the App Store after a few seconds. Android opens the address as an intent for your app, and goes to Google Play if the app isn’t there.
Your app does have to open from that deep link already; the Universal Link validator checks your AASA file, Apple’s CDN copy of it and assetlinks.json. On Business, parameter forwarding passes the ESP’s UTM tags on to the destination, and a custom domain lets the email show your own domain instead of appy.to. That domain does redirects only: Universal Links on your own domain through Appy are Enterprise.
Where a tracked tap ends up
appy.to/cart
reached through the ESP’s click redirect
- iPhone with the appOpen the app button, one tap (Pro)
- Android with the appThe app opens through an intent (Pro)
- Phone without the appApp Store, Google Play or AppGallery
- ComputerYour website
A test plan before the next big send
Mail apps change how they open links without notice. An afternoon with two phones settles it for your setup, whichever fix you pick.
Rule out your own setup first
Paste the plain deep link into Notes on an iPhone and long-press it, as Apple’s TN3155 suggests. If there’s no option to open it in your app, fix your AASA file before you blame the ESP.
Send for real, not a preview
Klaviyo notes that previews don’t use click tracking, so their links differ from live ones. Send a real campaign to a seed list of your own addresses.
Cover the mail apps
Apple Mail on iPhone; Gmail and Outlook on iPhone and Android. Add a work Outlook address if you mail business customers. Write down the settings: Gmail on Android can open links inside Gmail, and Outlook on iOS and Android may offer to open them in Edge.
Test with and without the app
One phone with the app installed, one without, as Klaviyo and Customer.io both recommend. With the app, the right screen should open; without it, the store, not your homepage.
Record every tap
App, store, website or a blank page, and whether the ESP and your link reports both counted it. Run the sheet again after an app release, a new click domain or a major iOS or Android update.
Read next
- How in-app browsers handle deep linksGmail, Outlook, Instagram and the rest, app by app.
- iOS 26 link tracking protectionWhat Safari does with tracking parameters in your links.
- Universal Links open Safari?AASA, App Links, redirects and headers: when the problem is your setup, not the ESP.
- Parameter forwardingPass UTM tags through a smart link to the store, website or app.
- Universal Link validatorCheck your AASA file, Apple’s CDN copy and assetlinks.json.
Deep links in email: questions
Why do links in my emails open the website instead of the app?
Click tracking rewrites every link to the ESP’s click domain, which your app doesn’t claim. The phone opens the browser, follows the ESP’s redirect and lands on your website.
Does turning off click tracking fix deep links?
Usually, according to the ESPs that document it, but the click disappears from your reports. Most let you do it per link. Mailchimp campaigns and HubSpot marketing emails only do it per email, and Mailchimp says free accounts keep the redirect anyway.
Does Klaviyo support Universal Links in email?
Yes. Its help article, updated October 20, 2026, requires a Klaviyo-hosted click-tracking domain and the Klaviyo SDK: iOS 5.1.0, Android 4.1.0 or React Native 2.1.0 and later. SendGrid-hosted click domains aren’t supported.
Can I put a myapp:// link in an email?
Not reliably. OneSignal says custom schemes aren’t clickable in email clients, and Customer.io says Gmail and others can strip them. Put an https link in the email; an Appy link can still open a custom-scheme deep link once it’s in the browser.
Do Outlook Safe Links break deep links?
Microsoft doesn’t document it either way. In organisations with Defender for Office 365, Safe Links rewrites links to a safelinks.protection.outlook.com address and checks them at the click, which puts another redirect in front of your ESP’s. Test with a work Outlook account.
Do UTM parameters survive the redirects?
The ESP sends the person to the link in your email with whatever tags it appended. If that’s an Appy link, parameter forwarding on Business passes the query parameters on to the destination. For what Safari does with tracking parameters, see our iOS 26 link tracking guide.
Do I need an SDK for the Appy route?
No. Appy deep links (Pro) work with your app as it is, as long as it already opens from its custom scheme or from Universal Links and App Links on your own domain.
Continue exploring
Universal Links on Shopify, Webflow, Wix and Squarespace: Which Builders Can Host the AASA File
When app links open the website instead of the app, iOS and Android usually couldn’t find two small files on your domain. What Shopify, Webflow, Framer, Wix and Squarespace let you host, the subdomain route, and a link that needs no file.
How In-App Browsers Handle Deep Links: Instagram, TikTok, Facebook, Gmail, Telegram and More
Why a link that opens your app from Safari dies inside Instagram: the three kinds of in-app browser, the iOS and Android rules, and what each app documents, from Facebook to Telegram.
Custom Domain Short Links for Apps: A Practical Guide
Why a link on your own domain is worth it, how to choose the hostname, the setup in three steps, and what happens to the links and QR codes you have already shared.
Looking for something else? Browse all topics on the blog.
Send email taps to the app, not the website
Put an Appy link behind your ESP’s tracked link. On Pro it opens your app with one tap, phones without it go to the App Store or Google Play, and computers get your website. Your click tracking stays as it is.