Shopify gives you powerful analytics out of the box. But to get the full picture of which marketing campaigns are driving your sales, you need one more thing: UTM parameters.
UTM parameters are small tags you add to your links. They tell Shopify and GA4 exactly where a visitor came from — which campaign, which platform, which ad. Without them, your traffic reports show "Direct" or "Referral" with no detail. With them, you see "that Instagram carousel from Thursday brought 14 orders."
TL;DR: Add UTM parameters to every link you share. Connect GA4 to your Shopify store for deeper attribution. Use consistent lowercase naming. Tag QR codes and email links too. Clean data lets you cut what does not work and double down on what does.
What Is a UTM Parameter?
A UTM (Urchin Tracking Module) parameter is a short tag at the end of a URL. When someone clicks the link, Shopify and GA4 read it and record the source.
A tagged URL looks like this:
https://yourstore.com/products/blue-hoodie
?utm_source=instagram
&utm_medium=social
&utm_campaign=spring_sale_2026
&utm_content=carousel_ad_v2
There are five standard parameters:
| Parameter | What it tracks | Example |
|---|---|---|
utm_source | Where traffic came from | instagram, google, newsletter |
utm_medium | The channel type | social, email, cpc |
utm_campaign | The specific campaign | spring_sale_2026 |
utm_content | Which ad or link variation | carousel_ad_v2, header_link |
utm_term | Paid search keyword | blue+hoodie+mens |
You do not need all five every time. Source, medium, and campaign are enough to get started.
Step 1: Connect GA4 to Shopify
Shopify's built-in Marketing reports show UTM data at a session level. GA4 goes further — it tracks across sessions and gives you conversion data tied to specific campaigns.
To connect GA4:
- In your Shopify admin, go to Online Store > Preferences
- Paste your GA4 Measurement ID (starts with
G-) into the Google Analytics field - In GA4, go to Admin > Data Streams and enable Enhanced Measurement
- Install the Google & YouTube channel app from the Shopify App Store to sync order data
Once connected, GA4 will pick up your UTM tags automatically on every visit.
Step 2: Build Tagged URLs
Use Google's Campaign URL Builder — search for it, paste your store URL, fill in the fields, and it generates the tagged link for you.
Follow these rules every time:
- Lowercase everything. GA4 is case-sensitive.
Instagramandinstagrambecome two separate sources in your reports. - No spaces. Use underscores:
spring_sale_2026, notspring sale 2026. - Be consistent. If your newsletter is
klaviyothis month andemailnext month, you cannot compare them. Pick one name and stick to it.
Step 3: Tag Every Campaign Link
Any link you share outside your store should have UTM tags:
- Email campaigns (
utm_medium=email) - Paid social ads (
utm_medium=cpc) - Organic social posts (
utm_medium=social) - Influencer links (give each creator a unique
utm_contentvalue) - QR codes on packaging, in-store displays, or print materials
The only links you should NOT tag are links inside your own store. Tagging internal links resets the session source and breaks your attribution.
Already using QR codes in your store? Tag every one of them with UTMs. See 5 ways to use QR codes in your Shopify store that actually work for placement ideas.
How to Check UTM Data in Shopify and GA4
In Shopify: Go to Analytics > Reports > Sessions by referrer. You will see traffic broken down by source and medium.
In GA4: Go to Reports > Acquisition > Traffic acquisition. Filter by session source/medium to see which campaigns drove purchases. For a full multi-touch view, use Advertising > Attribution with data-driven attribution.
Use both together. Where they show different numbers for the same channel, GA4 usually captures more — especially for campaigns where buyers visit more than once before purchasing.
Tracking Shopify Email Performance
Email is the easiest channel to get right with UTMs. The common mistake is using the same campaign tag for every send — after a few months, all your email data blends into one unreadable block.
Use a unique campaign name for every send:
utm_source=klaviyo
utm_medium=email
utm_campaign=2026_06_abandoned_cart_v2
utm_content=subject_line_a
This lets you see exactly which send drove revenue, which subject line won, and which automated flow is worth keeping. Tag each step in your flows separately: welcome series, abandoned cart, and post-purchase should each have their own campaign value.
QR Code UTM Tracking
QR codes are one of the best ways to track offline traffic in Shopify. A QR code on your packaging, receipt, or in-store display can bring customers back to your store — but only if the link is tagged.
A QR code pointing to a plain URL tells you nothing. A QR code pointing to:
https://yourstore.com?utm_source=packaging&utm_medium=qr&utm_campaign=order_insert_2026
tells you how many return visits came from that insert, and what those customers bought.
For dynamic QR codes that let you update the destination URL without reprinting, HypeQR includes UTM parameter setup out of the box. Set the tags once, track every scan by campaign, and update the destination anytime without touching the physical code.
Read how QR codes with UTM tracking work in ecommerce for a full breakdown.
Using QR codes for packaging or in-store campaigns? HypeQR attaches UTM parameters to every QR code and tracks scans by campaign in real time. No reprinting needed when your campaigns change.
Keep Your Naming Consistent
Bad UTM naming splits your data just as badly as having no UTMs at all.
Build a simple shared document with approved values. Everyone on your team uses this list when creating links:
utm_source: google, facebook, instagram, tiktok, klaviyo, packaging
utm_medium: cpc, email, social, qr, sms, referral
When a new channel comes up, add it to the list first. One rogue utm_source=FB next to utm_source=facebook splits your Facebook data and makes both segments look underperforming.
Reading the Data
After two to four weeks of tagged campaigns:
In GA4 Traffic Acquisition: Sort by conversion rate by source/medium. High conversion rate and low traffic means a scaling opportunity. High traffic and low conversion means the creative or landing page needs work, not more budget.
In Shopify Marketing Reports: Cross-reference with GA4. Use both reports together to get a full picture of which campaigns are actually working.
Start Today
Tag every link you send out this week. Start with your next email and your most active social channel.
After one week, open GA4 > Traffic Acquisition. You will see which channels sent which visitors — and whether those visitors bought anything.
That is the whole point. Cleaner data. Decisions backed by numbers.
For QR codes and offline campaigns, HypeQR handles UTM tagging and gives you scan-level analytics without a custom setup. For tracking product catalog changes alongside your campaign data, Logx keeps a full history of what changed and when.
