Skip to content
Tolinku
Tolinku
Sign In Start Free
Analytics & Attribution · · 6 min read

UTM Parameter Strategy for Mobile Deep Links

By Tolinku Staff
|
Tolinku analytics measurement dashboard screenshot for analytics blog posts

UTM parameters are the standard way to track where your traffic comes from. They work well on the web, but mobile deep links introduce complications: links pass through app stores, redirect chains, and cross-device flows. Without a deliberate strategy, your UTM data ends up messy and unreliable.

This guide covers how to build a UTM strategy that works specifically for mobile deep link campaigns.

Tolinku analytics dashboard showing click metrics and conversion funnel The analytics dashboard with date range selector, filters, charts, and breakdowns.

UTM Basics (Quick Refresher)

UTM parameters are query string tags appended to URLs. There are five standard parameters defined by Google's campaign URL builder:

Parameter Required Purpose Example
utm_source Yes Where the traffic comes from email, facebook, partner_blog
utm_medium Yes The marketing medium cpc, social, email, referral
utm_campaign Yes The specific campaign summer_sale_2026, onboarding_v2
utm_term No Paid search keywords running_shoes, budget_app
utm_content No Differentiates ad variations hero_image, sidebar_cta, blue_button

A fully tagged deep link looks like:

https://go.yourapp.com/summer-sale?utm_source=email&utm_medium=newsletter&utm_campaign=summer_sale_2026&utm_content=hero_cta

For the basics of adding UTM parameters to short links, see UTM Parameters and Short Links.

Why Mobile Needs a Different Strategy

On the web, UTM parameters flow cleanly: user clicks a link, lands on a page, and your analytics tool reads the URL parameters. Done.

On mobile, the flow is more complex:

  1. User clicks a link with UTM parameters
  2. The deep linking platform processes the click and records the parameters
  3. If the app is installed: the app opens, but the URL the app receives may or may not include the original UTM parameters (depends on the OS and link type)
  4. If the app is not installed: the user is redirected to the app store, installs the app, and opens it. The original UTM parameters are only available through deferred deep linking

This means you can't just append UTM parameters and hope they make it through. You need to ensure your deep linking platform captures and preserves them through every possible routing path.

Building Your Naming Convention

Inconsistent naming is the number one UTM problem. "Email" and "email" and "EMAIL" are three different sources in your analytics. "facebook" and "Facebook" and "fb" and "meta" are four.

Rules

  1. Lowercase everything: email, not Email or EMAIL
  2. Use underscores for spaces: summer_sale, not summer sale or summer-sale
  3. Be specific but concise: partner_techcrunch, not partner or techcrunch_sponsored_article_july_2026
  4. Use consistent vocabulary: If email is email, always call it email, not newsletter or mail
  5. Document everything: Maintain a shared reference document with approved values

Source Values

Standardize source names:

Source utm_source
Email campaigns email
Facebook (organic) facebook
Facebook (paid) facebook_ads
Instagram (organic) instagram
Instagram (paid) instagram_ads
Twitter/X twitter
TikTok tiktok
Google Ads google_ads
Apple Search Ads apple_search
SMS sms
Push notifications push
QR codes qr
Partner sites partner_{name}
Influencers influencer_{name}
Internal (cross-promo) internal

Medium Values

Use the standard medium taxonomy:

Medium utm_medium
Paid ads cpc
Organic social social
Email email
Referral links referral
Push notifications push
SMS/messaging sms
QR codes qr
Display ads display
Affiliate affiliate
In-app banners in_app

Campaign Naming

Campaign names should be descriptive and follow a pattern:

{type}_{name}_{date}

Examples:

  • promo_summer_sale_202604
  • launch_new_feature_202605
  • reengagement_lapsed_q2_2026
  • referral_double_reward_202604

Including the date (year + month) prevents confusion when similar campaigns run in different periods.

Content Values

Use content to distinguish variations within the same campaign:

  • hero_banner vs sidebar_cta vs footer_link (email placement)
  • video_15s vs video_30s vs static_image (ad format)
  • variant_a vs variant_b (A/B test versions)

Adding UTM Parameters to Routes

When creating deep links in your routes, you can append UTM parameters directly to the link URL. The deep linking platform captures these parameters on click and makes them available for analytics.

For campaigns where you create many links with different UTM values (e.g., different email placements), generate the links programmatically:

https://go.yourapp.com/summer-sale?utm_source=email&utm_medium=email&utm_campaign=summer_sale_202604&utm_content=hero_banner

https://go.yourapp.com/summer-sale?utm_source=email&utm_medium=email&utm_campaign=summer_sale_202604&utm_content=footer_link

Same destination route, different utm_content for tracking which placement drives more clicks.

Preserving UTMs Through Install

For new users who don't have the app installed, the UTM parameters need to survive the app store redirect. This is handled by your deep linking platform's deferred deep linking capability.

The flow:

  1. User clicks link with UTM parameters
  2. Platform records the click and all parameters
  3. User redirected to app store, installs, opens app
  4. Platform's SDK retrieves the original link data, including UTM parameters
  5. Your app logs the UTM parameters with the install event

Verify this works by testing the full flow: click a UTM-tagged link on a device without the app installed, install from the store, open the app, and confirm the UTM values appear in your analytics.

Connecting to App Analytics

Once UTM parameters are captured (either from direct deep link handling or deferred link resolution), pass them to your analytics stack:

  • Set them as user properties for the session or attribution window
  • Attach them to all subsequent events from that user
  • Use them as dimensions in your analytics reports and funnels

This lets you answer questions like:

  • "Which email campaign drove the most purchases?"
  • "Do users from social media retain better than users from paid search?"
  • "Which ad creative variation has the highest LTV?"

Common UTM Mistakes

Tagging internal links: UTM parameters are for external traffic sources. If you tag links within your own app or website, you overwrite the original source. Internal navigation should use a separate tracking mechanism (like internal campaign IDs), not UTM.

Inconsistent casing: "Facebook" and "facebook" are different sources. Use lowercase everywhere.

Missing parameters: Always include at minimum source, medium, and campaign. Partial tagging creates gaps in your reports.

Overcomplicating content values: Keep utm_content simple and descriptive. A 50-character content value that encodes every possible metadata point is hard to analyze.

Not testing deferred links: UTM parameters that work perfectly for existing app users may get lost for new installs. Always test the full deferred deep linking flow.

Forgetting to update: Old campaigns with outdated UTM parameters pollute your data. When launching new campaigns, use fresh UTM values.

UTM Tracking Template

Create a shared spreadsheet for your team:

Campaign Source Medium Campaign Name Content Full Link
Summer Sale Email (Hero) email email promo_summer_sale_202604 hero_banner go.yourapp.com/summer-sale?utm_source=email&utm_medium=email&utm_campaign=promo_summer_sale_202604&utm_content=hero_banner
Summer Sale Facebook Ad facebook_ads cpc promo_summer_sale_202604 video_15s go.yourapp.com/summer-sale?utm_source=facebook_ads&utm_medium=cpc&utm_campaign=promo_summer_sale_202604&utm_content=video_15s
Summer Sale Push push push promo_summer_sale_202604 main_offer go.yourapp.com/summer-sale?utm_source=push&utm_medium=push&utm_campaign=promo_summer_sale_202604&utm_content=main_offer

This ensures consistency and provides a single reference for all tagged links.

Analyzing UTM Data

Key Reports

Build these reports in your analytics dashboard:

Source/Medium report: Which combinations drive the most installs, engagement, and revenue?

Campaign performance: Compare campaigns on clicks, conversions, and revenue per click.

Content A/B tests: When the same campaign uses multiple content variants, which performs best?

Attribution path: For users who touched multiple UTM-tagged touchpoints, what was the most common path to conversion?

Connecting UTM to Downstream Metrics

The real value of UTM tracking is connecting acquisition source to long-term outcomes:

  • utm_source = facebook_ads → average D7 retention: 18%
  • utm_source = email → average D7 retention: 32%
  • utm_source = referral → average D7 retention: 38%

This data tells you not just which channels drive volume, but which channels drive quality. See Deep Link Analytics: Measuring What Matters for more on connecting click data to business outcomes.

For advanced event tracking that builds on UTM-based attribution, see Custom Event Tracking for Deep Link Campaigns.

Get deep linking tips in your inbox

One email per week. No spam.

Ready to add deep linking to your app?

Set up Universal Links, App Links, deferred deep linking, and analytics in minutes. Free to start.