Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

The UTM Audit Spreadsheet That Finds Broken Attribution

Дата публикации: 04-08-2026 04:34:00

When a fully tagged campaign shows up as 'direct' in GA4, the UTM died somewhere in the chain. This audit spreadsheet turns that mystery into a row-by-row checklist that tells you exactly where, from in-app browsers to shorteners to a single capital letter.
The post The UTM Audit Spreadsheet That Finds Broken Attribution first appeared on VentureLab.

Основное содержимое страницы с новостью.

A campaign you tagged perfectly still shows up as “direct” in your analytics. The UTM did not vanish. It died at a specific point in the chain, and the only way to find that point is to test each link and write down where it broke.

Broken attribution is maddening because the report looks fine until you notice the numbers do not add up: paid social landing in “direct,” email traffic sitting in “unassigned,” a whole campaign missing. The fix is not more theory, it is a UTM audit spreadsheet that walks every campaign link through the exact places a UTM gets stripped, from an app’s in-app browser to a link shortener to a single capital letter in your source name. Build the sheet once, and finding a broken link becomes a ten-minute check instead of a guessing game.

The Short Version

When a tagged campaign shows up as direct or unassigned, a UTM parameter got dropped somewhere between the click and your site. The most common culprits are in-app browsers that strip parameters, link shorteners and redirects that lose the query string, inconsistent casing that GA4 treats as separate sources, and a missing or mislabeled medium. Build a spreadsheet with a row for each campaign link, columns for the expected and actual URL, and a break-cause checklist, then click each link through its real channel and log where the UTM survives or dies. The sheet turns a vague mystery into a specific, fixable line item.

Why Your Campaigns Show Up as “Direct”

Direct traffic is what analytics records when it cannot tell where a visit came from. Some of it is legitimate, like someone typing your URL. But a spike of direct traffic from a campaign you tagged means the UTM parameters got lost on the way, so the session arrived with no source information attached.

The loss happens at a specific handoff, and there are only a handful of usual suspects. An in-app browser opens your link without passing the parameters or the referrer. A shortener or redirect drops everything after the question mark. A capital letter splits one source into two. Once you know the list, you stop guessing and start checking. That is what the spreadsheet is for.

The Audit Spreadsheet: Columns That Expose the Culprit

The sheet works because it forces you to compare what you intended with what actually loaded. Give it these columns, one row per campaign link.

A top-down view of analytics data sheets used to audit marketing attribution

  • Link or campaign name, so you can find it again.
  • Channel and placement, the exact spot it is posted, like an Instagram bio, an email, or a TikTok ad.
  • Expected UTMs, the source, medium, and campaign you intended.
  • Final landing URL after the click, pasted from what actually loads, not what you typed.
  • UTMs survived, a simple yes or no.
  • Source and medium seen in GA4, from Realtime or DebugView.
  • Break cause, chosen from the checklist below.
  • Fix and status, so nothing falls through.

The magic column is the fourth one. The moment you paste the URL that truly loaded, next to the one you intended, most breaks become obvious.

The Break-Cause Checklist

These are the causes to check against each row. Nearly every broken UTM is one of them.

Break causeWhat it does
In-app browser handoffInstagram, TikTok, and Facebook in-app browsers can strip parameters or drop the referrer, so traffic lands as direct
Link shortenerSome shorteners drop everything after the question mark on redirect
Redirect not preserving the query stringA 301, 302, or JavaScript redirect that forgets to carry the parameters forward
Checkout or payment handoffMoving to a Stripe or Shopify domain can lose UTMs across the domain boundary
Inconsistent casingGA4 reads Facebook and facebook as different sources, splitting one channel into several
Missing or typo’d mediumWithout a valid utm_medium, GA4 sends the traffic to unassigned
Non-standard medium valueUsing newsletter instead of email, or paid instead of cpc, sends traffic to the wrong channel
UTMs after the hashAnything placed after the # is never recorded

One nuance worth getting right, because it trips up even experienced marketers. GA4’s channel-grouping rules are not case-sensitive, but the source and medium values you see in your reports are. So Facebook and facebook still map to the same channel, yet they show up as two separate lines in your reports, which quietly fragments your data. Keep everything lowercase and the problem disappears.

How to Test Each Link

The test is quick, but it has to happen in the real environment, not on your desktop where everything looks fine.

  • Click the link through the actual channel, including opening it inside the app’s in-app browser, since that is where many breaks happen.
  • Watch the final landing URL, and confirm the UTMs are still there, sitting before any # and unmangled.
  • Check GA4 Realtime or DebugView for that session’s source and medium to see what actually got recorded.
  • Log the result in the sheet, and treat any rise in unassigned, not set, or direct as your signal that a row needs attention.

If a specific cause keeps showing up, our deeper guides can help: one on UTMs lost after a link shortener and another on the broader problem of UTM attribution not working.

Fixes That Keep UTMs From Breaking

Auditing finds the breaks. These habits stop most of them from happening again.

  • Kill free-text tagging. Use a shared sheet with dropdowns for source, medium, and campaign, all lowercase, and let a formula assemble the final URL. This ends the casing and typo problems at the source.
  • Stick to standard medium values like cpc, email, social, affiliate, and referral, so GA4’s default channels resolve correctly.
  • Do not shorten links that already carry UTMs, or if you must, test the redirect to confirm the parameters survive.
  • Keep UTMs before the #, and avoid chains of redirects that each risk dropping them.
  • Watch unassigned and not set as a monthly metric, so a new break shows up as a trend rather than a surprise at quarter end.
Frequently Asked Questions Why does my tagged campaign show up as direct traffic?

Because the UTM parameters were lost before the visit reached your site. An in-app browser, a link shortener, a redirect, or a payment handoff can strip them, leaving analytics with no source to record, so it defaults the session to direct.

Is GA4 case-sensitive for UTMs?

The source and medium values you see in reports are case-sensitive, so Facebook and facebook appear as separate lines and fragment your data. GA4’s channel-grouping rules themselves are not case-sensitive, so both still map to the same channel. Keeping everything lowercase avoids the fragmentation.

Why does my email traffic land in “unassigned”?

Usually because the utm_medium is missing or is not a value GA4 recognizes. GA4’s default channel grouping expects medium values like email, so using something like newsletter, or leaving the medium blank, sends the traffic to unassigned instead of the email channel.

How do I test whether a link keeps its UTMs?

Click the link through its real channel, including inside an app’s in-app browser, and look at the final URL that loads to confirm the UTMs are present and before the #. Then check GA4 Realtime or DebugView to see the source and medium the session actually recorded.

Do link shorteners break UTM tracking?

They can. Some shorteners and redirects drop everything after the question mark, which erases your UTMs. Avoid shortening links that already have UTMs, or test the shortened link first to confirm the parameters still arrive at your site.

What To Do Next

Open a blank sheet, list your active campaign links, and give each one a row with the columns above. Then click through them the way a real visitor would, on a phone, inside the app, and write down where each UTM lives or dies. You will usually find that a handful of links account for most of your missing attribution, and once they are fixed, your reports start telling the truth again. The audit is boring, and that is exactly why it works.

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Before You Hire a GA4 + Consent Mode Migration Specialist: Questions That Prevent Data Gaps and Broken Tags08.6127-07-2026
2Hiring a Performance Marketer: Questions Before You Commit07.3111-08-2026
3Meta Business Suite Won’t Connect Your Instagram Account: A 2026 Checklist for Page Roles, Two-Factor, and Account Center010.7627-07-2026
4Gmail Sender Logo Missing? BIMI and Inbox Trust in 202608.6205-08-2026
5AI Overview Wrong Citations? Fixes for AI Search Visibility06.5712-08-2026
6Agency Asks for Your Customer List? Safer Alternatives07.0514-08-2026
7Email Open Rates Collapsed? How to Diagnose It09.2506-08-2026
8Refurbished Phone ‘Unlocked’ but eSIM Activation Fails? 2026 Checklist011.4926-07-2026
9Introducing the AI Visibility Audit06.8701-06-2026

Классификация: Пресс-релизы. Схожих патентов: 0. Схожих новостей: 9. Тональность: 0. Информативность: 10.16. Источник: venture-lab.org.