findbest.tools
Shopify Guide 2026

Shopify UTM Tracking:
The Complete Setup Guide

Stop guessing which campaigns drive sales in your Shopify store. This guide covers everything — UTM parameters explained, GA4 integration, channel-by-channel templates, and how to fix the Shopify vs. GA4 attribution gap.

~15 min read
Updated May 2026
Beginner to advanced

What is UTM Tracking?

UTM tracking is the practice of adding small text snippets — called UTM parameters — to the end of any URL you share in your marketing campaigns. When a visitor clicks that URL, the parameters are captured by your analytics platform and stored against their session, telling you exactly which campaign, channel, and piece of content brought them to your store.

A UTM-tagged URL looks like this:

https://yourstore.myshopify.com/products/product-name?utm_source=instagram&utm_medium=paid_social&utm_campaign=summer_launch_may2026

The URL before the ? is your normal Shopify product URL. Everything after is UTM tracking data — invisible to the shopper, but invaluable to you.

Build UTM links in seconds

Don't build UTM URLs by hand — typos in parameter names break tracking silently. Use the free UTM builder at findbest.tools to generate error-free tagged URLs for every campaign.

Why UTM Parameters Were Created

The name comes from Urchin Tracking Module — Urchin Software being the analytics company that Google acquired in 2005 to build Google Analytics. The five standard parameters have remained essentially unchanged since then, which is why every major analytics platform (GA4, Mixpanel, Amplitude, Heap, Adobe Analytics) recognizes and processes them automatically.

Why Your Shopify Store Needs UTM Tracking

Shopify merchants run marketing across more channels than almost any other type of business — paid ads on Meta and Google, organic social, email via Klaviyo or Shopify Email, influencer partnerships, SMS, affiliate programs, and more. Without UTM tracking, all of this activity produces the same result in your analytics: mystery.

Here's what happens to your traffic data without UTMs:

Without UTM Tracking

  • Email clicks appear as "direct" traffic
  • Instagram traffic is missing or wrong
  • Can't compare paid vs organic social
  • Influencer ROI is completely invisible
  • Can't tell which ad creative drove sales
  • Budget decisions based on guesswork

With UTM Tracking

  • Every channel attributed correctly
  • Campaign-level revenue visible in Shopify
  • Paid vs organic clearly separated
  • Individual influencer performance tracked
  • A/B test ad creatives by conversion rate
  • Scale spend based on actual data

The Hidden Cost of Missing UTMs

The most damaging effect of missing UTM tags isn't just incomplete data — it's misattribution. When your email campaign drives 400 sessions and 30 purchases but those sessions are labeled "direct," you might conclude your email strategy isn't working and cut it. In reality, it's your highest-ROI channel.

For Shopify merchants spending on paid ads, this problem is especially acute. Every dollar of ad spend that can't be attributed is a dollar that can't be optimized.

The 5 UTM Parameters for Shopify

There are five standard UTM parameters. Three are required for meaningful tracking; two are optional but highly valuable for Shopify stores.

Parameter Required? What It Tracks Shopify Example
utm_source ✅ Yes Where traffic comes from facebook, klaviyo, google
utm_medium ✅ Yes The marketing channel type email, cpc, paid_social
utm_campaign ✅ Yes The specific campaign summer_sale_jun2026
utm_content Optional Which creative or link was clicked hero_image, influencer_handle
utm_term Optional Keyword (paid search only) buy+running+shoes

utm_source — The Platform

This identifies the specific platform or publisher that sent the traffic. For Shopify stores, common sources include facebook, instagram, google, tiktok, klaviyo, newsletter, and the name of any affiliate or influencer partner. Always use the canonical, lowercase platform name.

utm_medium — The Channel Type

This is the type of marketing channel. For GA4 to correctly categorize traffic into its default channel groups, you must use specific medium values. GA4 only recognizes a fixed set of mediums by default — anything outside this list lands in "Unassigned" and disappears from channel reports.

Critical: Use only GA4-recognized medium values

GA4 recognizes: cpc, email, social, referral, organic, affiliate, display. Using paid instead of cpc, or paid-social instead of paid_social, will push traffic into "Unassigned" in GA4 while it appears correctly in Shopify Analytics — causing the infamous Shopify vs GA4 discrepancy.

utm_campaign — The Initiative

All links across all channels for a single campaign should share the same utm_campaign value. This lets you see total campaign performance (sessions, conversions, revenue) across every source in a single report view. Use descriptive, date-stamped names: summer_launch_jun2026 beats launch every time.

utm_content — Essential for Shopify Influencer & Ad Tracking

While optional in other contexts, utm_content is particularly valuable for Shopify merchants who work with influencers or run multiple ad creatives. Assign each influencer a unique utm_content value (utm_content=influencer_johndoe) — this lets you track individual influencer ROI even when all influencer campaigns share the same source and campaign tag.

How Shopify Reads UTM Parameters

Shopify has built-in UTM awareness, but it works differently from Google Analytics — and understanding this distinction prevents a lot of confusion.

What Shopify Stores on Orders

When a customer clicks a UTM-tagged link and completes a purchase in the same session, Shopify stores the UTM parameter values directly on the order record. You can see this in the Shopify Admin under Orders → [Order] → Conversion summary.

The UTM data appears in:

  • Orders → Conversion summary: Shows the UTM source/medium/campaign for that order
  • Analytics → Reports → Marketing: Campaign-level sales data
  • Analytics → Reports → Acquisition: Traffic by source

Shopify Attribution: Last-Click, Same-Session

Shopify uses last-click, same-session attribution. This means:

  • Only the final UTM tag before purchase gets credit
  • If the customer closes the browser and comes back later, Shopify may not attribute the sale to the original campaign
  • Cross-session journeys are credited to the last session source

This is why Shopify and GA4 numbers often disagree — they use different attribution windows and models. We cover how to reconcile this in the Attribution Gap section.

Shopify Plus Checkout Note

On Shopify Plus stores using a custom checkout domain, UTM parameters can be stripped during the checkout handoff. If you're on Shopify Plus, verify that UTM data survives checkout by test-purchasing with a tagged link and checking the resulting order's conversion summary.

Connecting GA4 to Your Shopify Store

For full UTM campaign analysis — multi-session attribution, engagement metrics, conversion funnels — you need Google Analytics 4 connected to your Shopify store. GA4 gives you everything Shopify Analytics doesn't: engagement rate, average session duration, user journeys, and full UTM dimension breakdowns.

  1. 1
    Create a GA4 Property

    Go to analytics.google.com → Admin → Create Property. Select "Web" and enter your Shopify store URL. Note your Measurement ID (format: G-XXXXXXXXXX).

  2. 2
    Install via Shopify's Google & YouTube App

    In Shopify Admin → Apps → Google & YouTube. Connect your Google account, select your GA4 property. The app automatically adds the GA4 tracking script to all Shopify pages including checkout (on Shopify Plus).

  3. 3
    Or install via Google Tag Manager

    For more control: install GTM on Shopify (add GTM snippets to theme.liquid), then fire your GA4 tag through GTM. This gives you event-level flexibility without touching code for every new tag.

  4. 4
    Configure GA4 Ecommerce Events

    Enable Enhanced Ecommerce to capture purchase, add_to_cart, begin_checkout, and view_item events. Mark purchase as a conversion. This connects UTM data to actual revenue.

  5. 5
    Verify UTM Data is Flowing

    Click a UTM-tagged link to your store, then check GA4 → Realtime → Traffic Sources. You should see your UTM source and medium appear within seconds of the click.

Finding UTM Data in GA4

Once GA4 is connected and you're generating UTM-tagged traffic:

  • Reports → Acquisition → Traffic Acquisition: Change dimension to "Session source/medium" or "Session campaign"
  • Reports → Acquisition → Traffic Acquisition → Session campaign: See revenue and conversions per campaign
  • Explore → Free Form: Add "Session manual ad content" dimension for utm_content data
  • Advertising → Attribution → Conversion Paths: See multi-touch journeys across campaigns

Build Your Shopify UTM Links in Seconds

Use the free UTM builder — enter your Shopify product or landing page URL, fill in the fields, copy the tagged link. No typos, no formatting errors.

Open UTM Builder → findbest.tools

UTM Templates by Channel

Copy these templates for every channel your Shopify store uses. Replace values in brackets. Build each URL at findbest.tools/utility/utm-builder.

Meta Ads (Facebook & Instagram)

Surfaceutm_sourceutm_mediumutm_content
Facebook Feed Adfacebookcpccarousel_v1
Instagram Feed Adinstagramcpcsingle_image_v2
Instagram Story Adinstagramcpcstory_ad
Facebook Organic Postfacebooksocialfeed_post
Instagram Organic Storyinstagramsocialstory
Instagram Bio Linkinstagramsocialbio
https://yourstore.com/products/item?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale_jun2026&utm_content=carousel_v1
Meta Ads Manager default UTM is wrong

Meta's auto-generated UTM template sets utm_medium=paid — which GA4 does not recognize as Paid Social. This pushes all your Meta ad traffic into "Unassigned." Always override with utm_medium=cpc in the ad's URL Parameters field.

Email Marketing (Klaviyo, Shopify Email, Mailchimp)

Email Typeutm_sourceutm_mediumutm_campaign
Newsletter / Broadcastnewsletteremailnewsletter_may2026
Abandoned Cart Flowklaviyoemailflow_abandoned_cart
Welcome Seriesklaviyoemailflow_welcome_email1
Post-Purchase Flowklaviyoemailflow_post_purchase
Win-Back Campaignnewsletteremailwinback_apr2026
https://yourstore.com/collections/sale?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale_jun2026&utm_content=hero_cta

Google Ads

For Google Ads, enable auto-tagging in the Google Ads account settings — this adds the gclid parameter automatically. However, also set manual UTMs in your final URL suffix so Shopify Analytics can read campaign data (it doesn't read gclid).

https://yourstore.com/products/item?utm_source=google&utm_medium=cpc&utm_campaign=brand_search_jun2026&utm_term={keyword}

TikTok Ads

https://yourstore.com/products/item?utm_source=tiktok&utm_medium=cpc&utm_campaign=summer_ugc_may2026&utm_content=video_v1

Influencer Marketing

Give every influencer a unique utm_content value. This lets you compare revenue per influencer even when they're all promoting the same campaign.

https://yourstore.com/products/item?utm_source=instagram&utm_medium=influencer&utm_campaign=influencer_summer2026&utm_content=@janedoe

SMS Campaigns

https://yourstore.com/collections/sale?utm_source=sms&utm_medium=sms&utm_campaign=flash_sale_may2026

For SMS, always shorten the UTM URL. Long URLs look suspicious in text messages and reduce click rates.

Affiliate & Referral Partners

https://yourstore.com?utm_source=partner_name&utm_medium=affiliate&utm_campaign=affiliate_program_2026

Fixing the Shopify vs. GA4 Attribution Gap

The single most frustrating aspect of Shopify UTM tracking is the gap between Shopify Analytics numbers and GA4 numbers. The same campaign shows different sessions, conversions, and revenue in each platform. Here's exactly why — and how to minimize it.

Why the Numbers Disagree

FactorShopifyGA4
Attribution modelLast-click, same-sessionData-driven (or last-click)
Attribution windowSession onlyUp to 90 days (configurable)
Bot/spam filteringMinimalMore aggressive
Checkout trackingNative (all orders)Requires correct setup
Returns/refundsAdjusts revenueDoesn't auto-adjust

Three Steps to Reduce the Gap

  1. 1
    Standardize medium values to GA4 defaults

    Use only GA4-recognized medium values: cpc, email, social, affiliate, referral, display. This single change closes 80% of the channel-grouping disagreements between Shopify and GA4.

  2. 2
    Verify GA4 purchase events are firing correctly

    In GA4 → Realtime, complete a test purchase and confirm the purchase event fires with the correct revenue value. If purchase events are missing or undercounting, your GA4 conversion data will always be lower than Shopify.

  3. 3
    Use Shopify as your revenue source of truth

    Treat Shopify Analytics as the definitive revenue number (it processes actual payments) and GA4 as your campaign attribution and behavior analysis tool. Don't try to make them match exactly — use each for what it's best at.

UTM Naming Convention for Shopify Stores

Consistent naming conventions are what separate clean, trustworthy analytics from a fragmented mess. Here is a complete naming system optimized for Shopify merchants.

The Core Rules

  • Always lowercase — facebook not Facebook
  • No spaces — use underscores: summer_sale not summer sale
  • No special characters — no &, #, %, !, @
  • Date-stamp campaigns — sale_may2026 not just sale
  • Keep values consistent — one name per platform, forever

Shopify Campaign Naming Formula

[channel]_[description]_[month][year]

Examples:
email_abandoned_cart_flow           (evergreen)
email_newsletter_may2026            (broadcast)
paid_summer_sale_jun2026            (paid ads)
social_product_launch_apr2026       (organic social)
influencer_collab_johndoe_may2026   (influencer)

Approved Source Values for Shopify

Platformutm_sourceutm_medium
Facebook Adsfacebookcpc
Instagram Adsinstagramcpc
Google Shoppinggooglecpc
TikTok Adstiktokcpc
Pinterest Adspinterestcpc
Klaviyo Emailklaviyoemail
Newsletternewsletteremail
SMSsmssms
Organic Instagraminstagramsocial
Influencerinstagram (or platform)influencer
Affiliate[partner_name]affiliate

Common UTM Mistakes Shopify Merchants Make

Tagging Internal Links

Never add UTM parameters to links that go between pages within your own Shopify store. If a visitor lands from an Instagram ad and then clicks an internal banner with UTM parameters, Shopify and GA4 reset their session — and your Instagram ad gets zero credit for the eventual purchase. UTMs are for external links only.

Using Wrong Medium Values for Paid Ads

Using utm_medium=paid or utm_medium=paid-social instead of utm_medium=cpc pushes paid traffic into GA4's "Unassigned" channel. Always use cpc for any paid placement, regardless of platform.

Not Tagging Klaviyo Flows

Most Shopify merchants tag their broadcast emails but forget to tag automated flows — abandoned cart, welcome series, post-purchase. These flows are often your highest-converting traffic sources. Tag every link in every flow.

Building URLs Manually

A typo like utm_souce instead of utm_source breaks tracking invisibly. The URL still works — the shopper lands on your product page — but zero tracking data is captured. Use findbest.tools/utility/utm-builder for every single UTM URL.

Not Tagging the Instagram Bio Link

Your Instagram bio link is often one of your highest-traffic URLs. Without a UTM tag, all that traffic arrives as "direct" — completely invisible in your attribution reports. Tag it with an evergreen campaign and update the campaign name when actively promoting something specific.

Frequently Asked Questions

Does Shopify support UTM tracking natively?+
Shopify partially supports UTM tracking. It reads UTM parameters from incoming URLs and stores them on orders when a customer converts in the same session — visible in each order's Conversion Summary. For full campaign analysis, multi-session attribution, and engagement metrics, you need Google Analytics 4 connected to your store.
Why does my Shopify Analytics show different numbers than GA4?+
Shopify uses last-click, same-session attribution while GA4 defaults to data-driven attribution with a different window. They also handle bot traffic, returns, and cross-device journeys differently. Standardizing your UTM medium values to GA4's recognized list closes most channel-grouping disagreements. Use Shopify as your revenue source of truth and GA4 for behavioral and campaign analysis.
Will UTM parameters hurt my Shopify store's SEO?+
No. UTM parameters are ignored by Google's crawlers and do not influence search rankings. Shopify automatically adds canonical tags to product and collection pages, which prevents any duplicate content concerns from UTM-tagged URLs.
How do I track Klaviyo flows with UTM parameters?+
In Klaviyo, go to the flow email → Edit → click on a button or text link → change the URL to your UTM-tagged version. For flows, use evergreen campaign names without dates: utm_campaign=flow_abandoned_cart or utm_campaign=flow_welcome_email2. This lets you compare flow performance across time without fragmenting data.
Can I use UTM tracking with Shopify's built-in email tool?+
Yes. In Shopify Admin → Marketing → Email, you can add UTM parameters to each campaign. Shopify Email does have some auto-tracking, but it's limited — manually adding UTM parameters gives you full control and consistent data across all email platforms you might use.
How do I track QR codes on physical products or packaging?+
Generate a UTM-tagged URL using utm_source=qr_code, utm_medium=print, and utm_campaign=[packaging_type]. Create the QR code from this tagged URL. This lets you track offline-to-online conversions from packaging inserts, business cards, and in-store displays — bridging physical and ecommerce attribution.
Should I use UTM parameters on Google Ads with auto-tagging enabled?+
Yes — use both. Google's auto-tagging adds the gclid parameter for GA4 attribution, but Shopify Analytics doesn't read gclid. Set manual UTM parameters in the Google Ads "Final URL Suffix" field so Shopify can also capture campaign data. Both auto-tagging and manual UTMs coexist without conflict.

Start Tracking Your Shopify Campaigns Right Now

Every campaign you run without UTM links is invisible in your analytics. It takes 30 seconds to build a tagged link — and the data it gives you is worth far more than that.

Build Free UTM Links at findbest.tools

Free, no signup required. Works for any Shopify store URL.