All posts
UTM Parameters for Ecommerce: Fix Broken Attribution
analyticsmarketingecommerce

UTM Parameters for Ecommerce: Fix Broken Attribution

If GA4 shows 30%+ direct traffic, your attribution is broken. Learn how UTM parameters fix this for Shopify and ecommerce stores. Start with 3 key leaks.

·5 min read

Quick answer: UTM parameters are short codes added to links. They tell GA4 which campaign, channel, and platform drove each visit and sale.

You open Google Analytics and see "Direct / (none)" taking up 40% of your traffic. That is not people typing your URL. That is your email campaigns, Instagram posts, and QR codes showing up with no label.

UTM parameters fix this. They attach tracking data to every link you share outside your store.

What Are UTM Parameters?

A UTM parameter is text added to the end of a URL. It tells your analytics tool where a visitor came from.

Link without UTM parameters:

https://yourstore.com/products/summer-tee

Same link with UTM parameters:

https://yourstore.com/products/summer-tee?utm_source=email_provider&utm_medium=email&utm_campaign=summer_sale

When a customer clicks the tagged link and buys, GA4 records the sale under that email campaign. Without the tag, the sale shows as "direct" with no source.

Why You Have So Much "Direct" Traffic

Direct traffic means the referral information was lost. Common causes:

  • Customer opens your email on their phone. No UTM. GA4 sees no referrer. Logged as direct.
  • You post a link in your Instagram bio. No UTM. Shows as direct.
  • QR code on your packaging. Customer scans it. No UTM. Direct.
  • An influencer links to your store. No UTM. Direct.

If your direct traffic is above 20%, your marketing is hiding in that bucket. Above 40% and your attribution has collapsed.

The Three UTM Parameters You Actually Need

utm_source: Where traffic comes from. Examples: email_provider, instagram, google.

utm_medium: The type of channel. Examples: email, paid_social, cpc.

utm_campaign: The specific campaign. Examples: summer_sale, bfcm_2026.

That is it. The other two (utm_content, utm_term) are optional and rarely needed for most stores.

A Real Example

You send a campaign to 10,000 subscribers. No UTM tags on any links.

The email drives 14 purchases. GA4 shows those sales as "direct." Your email channel looks weak. You cut budget on it.

Email was your best channel. You just could not see it.

Tag those links with utm_source=email_provider&utm_medium=email&utm_campaign=june_promo and GA4 shows 14 purchases from your June email campaign. Clear. Actionable.

Three Places to Start Tagging Today

1. Email links

Every newsletter and promo email. Most email platforms have UTM fields built in. Set source as your platform name, medium as email.

2. Social bio and post links

Instagram bio, TikTok bio, Facebook posts. Use utm_medium=organic_social for organic and utm_medium=paid_social for ads. This separates the two in GA4 instead of blending them together.

3. QR codes

Tag the destination URL before generating the code. Use utm_source=packaging or utm_source=flyer so you can see which physical material drove traffic.

One Rule to Avoid Breaking Everything

Never add UTM parameters to links inside your own store.

If a customer arrives from your email and clicks a UTM-tagged internal link, GA4 replaces the original source. Your email attribution disappears. External links only.

Naming Conventions

UTM values are case-sensitive. Email and email are two different sources in GA4.

  • Lowercase everything
  • Use underscores, not spaces (summer_sale not summer sale)
  • Be specific (bfcm_email_2026 not just bfcm)

Fix the three leaks above and check your attribution in 30 days. The picture that comes back is often very different from what you assumed.