Where do my app's UTMs show up? (Quick reference)

Last updated: June 22, 2026

When you run an ad, send an email, or share a link that points to your app, you naturally want to know: which campaign brought in that sale? This page explains — in plain language — where to find that information, and why it sometimes looks like it's missing (it isn't).

Good news first. Your app is a fully-tracked sales channel. Every app order is saved in Shopify, and the campaign behind it is recorded in GA4. If you've seen app orders marked "Direct" in Shopify, that's normal and expected — nothing is broken or lost. The campaign data simply lives in GA4, not in Shopify's reports.

Quick definitions

  • UTM — a small tag added to a link (for example utm_source=instagram) that records where a visitor came from. It's how analytics tools know an ad, email, or post sent someone.

  • GA4 (Google Analytics 4 / Firebase) — the analytics tool where your app's data lives. This is where you check which campaigns drove app visits and sales.

  • Shopify's traffic-source report — Shopify's built-in "where did orders come from" report. It only tracks your website, so app orders always appear there as "Direct."

  • Appbrew OneLink — a smart link you create in Appbrew that opens your app to a specific page (or sends people to the app store if they don't have the app yet).

    Appbrew OneLink reliably opens and routes within the app and feeds GA4, but doesn't attribute brand-new installs.

  • MMP (Mobile Measurement Partner) — a specialist tool (AppsFlyer, Adjust, or Branch) that tracks app installs. You only need one if you run paid ads to get new people to download the app.

What decides where your data shows up

Just two things:

  1. Did the person already have your app when they clicked the link?

  2. What kind of link did they click — a plain web link, an Appbrew OneLink, or an MMP link?

The table below covers every combination. (A quick note on the link types: a plain URL is any normal link with UTMs that you build yourself; an Appbrew OneLink is made in the Appbrew dashboard; an MMP link is made in AppsFlyer, Adjust, or Branch.)

Plain URL with UTMs

Appbrew OneLink

MMP link

App already installed

Opens the app only if deep links fire (otherwise opens your website); UTM → GA4 when it does

Opens the app and lands on the right page; UTM → GA4

Opens the app and lands on the right page; UTM → GA4 + re-engagement in MMP

New install — Android

Stays on your website (web order); no app capture

Opens to the home screen; basic install source → GA4

Routes to the right page after install; install attributed in MMP + GA4

New install — iOS (iPhone)

Stays on your website (web order); no app capture

Nothing captured → shows as Direct

Routes after install; install attributed within Apple's privacy (ATT) limits

Where to see it

GA4 (web GA4 if it stays on the website)

GA4 (Firebase) -

Appbrew OneLink reliably opens and routes within the app and feeds GA4, but doesn't attribute brand-new installs.

GA4 + your MMP dashboard

Best for

Web campaigns

Organic shares, email / SMS, deep-linking existing users into the app

Paid acquisition and attributing new installs

In plain English

  • Someone who already has your app — tapping your Appbrew OneLink (or an MMP link) opens the app to the right page, and the campaign is recorded in GA4 automatically. Nothing for you to do.

  • Someone who doesn't have the app yet (a new install) — this is the tricky case. On Android, an Appbrew OneLink can still record a basic "where they came from." On iPhone (iOS), Apple's privacy rules mean the campaign can't be recovered after the install — unless you use an MMP. So if attributing new installs matters to you (especially from paid ads), use an MMP link.

  • A plain web link (a normal link with UTMs, not built with any tool) — this usually opens your website, not your app, so it's tracked as a regular web visit rather than an app one.

What should you do?

  • To see which campaign drove app sales → open GA4, not Shopify.

  • Running paid ads to get new installs → use an MMP (AppsFlyer / Adjust / Branch), especially for iPhone users.

  • Using Appbrew OneLinks → always set your own UTMs on each link (see the tip below).

  • Seeing app orders show as "Direct" in Shopify → that's expected; no action needed.

Tip: Set your own UTMs on each Appbrew OneLink in the dashboard. By default it uses utm_source=appbrew and utm_medium=onelink, so without your own values every link looks the same in GA4 and you can't tell your campaigns apart.