Shopify UTM tracking: where campaigns show in Shopify and GA4, and why they differ
Shopify credits utm_campaign traffic to marketing; GA4 reads the same UTMs. Where each shows your campaigns, and the documented reasons totals differ.
On this page
- Where Shopify shows your UTM campaigns
- Performance by marketing campaign
- Sales attributed to marketing
- Your own reports and ShopifyQL
- One order's visits
- Shopify's own campaign links
- Where GA4 shows the same UTMs
- Why Shopify and GA4 numbers differ
- Different counting (Shopify's list)
- Different attribution rules
- Shopify activities versus ad platforms
- Checkout showing up as a referral
- How to check one tagged link
- Sources
Shopify reads UTM parameters itself: traffic that reaches your store with utm_campaign in the URL is attributed to marketing (opens in a new tab). You find those campaigns in Shopify under Analytics > Reports (opens in a new tab), and in Google Analytics 4 (GA4) under Acquisition > Traffic acquisition (opens in a new tab). Expect differences: Shopify notes (opens in a new tab) that its analytics and third-party services such as Google Analytics sometimes give different results.
Where Shopify shows your UTM campaigns
From your Shopify admin, go to Analytics > Reports (opens in a new tab). Three marketing reports matter for tagged links.
Performance by marketing campaign
Performance by marketing campaign uses the same metrics as the Performance by marketing channel report, grouped by campaign first. Each campaign is broken down by marketing channel, and then by traffic type. Traffic that isn't associated with a campaign isn't included.
If you are looking for Performance by UTM campaign, Shopify's analytics updates (opens in a new tab) note that Performance by marketing campaign replaces it.
Sales attributed to marketing
The Sales attributed to marketing report includes the sales that can be attributed to trackable marketing efforts: campaigns and activities managed through the Marketing section of your admin, or externally managed efforts that use Urchin Tracking Module (UTM) parameters. On the marketing performance page (opens in a new tab), traffic that comes to your store with utm_campaign in the URL is attributed to marketing, and report metrics can take up to 24 hours to update.
Your own reports and ShopifyQL
When the metric and dimension conditions are met, an additional Attribution menu displays in the report's configuration panel, where you select which attribution models to include in your report data, and the Last click model is selected by default.
In ShopifyQL's sales schema (opens in a new tab), session fields and order fields are separate: utm_campaign is the UTM name of the campaign associated with the session, and order_utm_campaign the UTM name of the campaign associated with the order. Source and medium are split the same way (utm_source and order_utm_source, utm_medium and order_utm_medium). ShopifyQL's WITH clause (opens in a new tab) applies marketing attribution models to eligible sales metrics; you name the model with a modifier such as LAST_NON_DIRECT_CLICK_ATTRIBUTION or FIRST_CLICK_ATTRIBUTION.
One order's visits
For a single order, open its conversion details (opens in a new tab) and click View full sessions next to the customer's activity to drill down into the visits. Summary details might take up to 48 hours to display.
Build a campaign link
Create a UTM link with the free builder. No account needed.
Shopify's own campaign links
Shopify Campaigns give you shareable links (opens in a new tab): all traffic from a shareable link is automatically attributed to its campaign. You can also set up auto-match rules to automatically track and assign specific parameters to your campaigns.
Where GA4 shows the same UTMs
To connect GA4, Shopify's Google Analytics setup (opens in a new tab) has you install the Google & YouTube sales channel, and Google Analytics cannot track events until you deactivate private mode for your online store.
In GA4, Acquisition > Traffic acquisition (opens in a new tab) shows Session source/medium, Session medium, Session source and Session campaign. Google recommends always using utm_source, utm_medium and utm_campaign, and values are case sensitive: utm_source=google is a different source from utm_source=Google. The GA4 reporting guide walks through the report.
Why Shopify and GA4 numbers differ
Shopify's analytics discrepancies page (opens in a new tab) notes that its analytics and third-party services such as Google Analytics sometimes give different results, and lists counting reasons. Next to that list, compare each tool's attribution defaults below; the side-by-side comparison is ours, built from each tool's own documentation.
Different counting (Shopify's list)
- Page reloads and unique visitors are counted differently.
- Sessions are defined differently.
- Some analytics software counts search bots as visitors, but other software doesn't.
- Google can count only visitors with JavaScript and cookies activated.
- Customers can use browser extensions to block Google Analytics from tracking their sessions and purchases.
- The two tools may report in different time zones.
Different attribution rules
- Shopify's marketing reports: by default, last non-direct click (opens in a new tab), giving 100% of the credit to the last channel the customer interacted with before buying, excluding direct visits. Reports you build with an Attribution menu start on Last click instead.
- GA4 attribution models: all of them exclude direct visits (opens in a new tab) from credit, unless the path to the key event is entirely direct.
- GA4 lookback: for key events other than those Google lists separately, the default lookback window is 90 days (opens in a new tab). Changing the reporting attribution model affects event-scoped dimensions such as Source, Medium and Campaign, but session-scoped dimensions such as Session source are unaffected.
Shopify activities versus ad platforms
A separate case: Shopify notes you might see discrepancies in sales and order data in its marketing activity reports (opens in a new tab). The Shopify marketing activity report attributes a sale only to the source of the ad clicked most recently within the past 30 days.
Checkout showing up as a referral
In Google Analytics, a customer who enters checkout and returns to your store can bring the checkout page in as a source. Shopify documents excluding referrer domains (opens in a new tab) for this.
How to check one tagged link
- Build the link with the free UTM builder, which builds a campaign URL with UTM parameters for GA4, with
utm_source,utm_mediumandutm_campaignset. Keep spellings in a naming worksheet. - In Shopify, look under Analytics > Reports (opens in a new tab) in Performance by marketing campaign, allowing up to 24 hours (opens in a new tab) for data to update.
- For an order from that visit, open its conversion details (opens in a new tab) and click View full sessions, allowing up to 48 hours.
- In GA4, open Acquisition > Traffic acquisition (opens in a new tab) and look at Session campaign.
Sources
- Shopify Help Center: marketing performance (opens in a new tab)
- Google Analytics: campaign URL parameters (opens in a new tab)
- Shopify Help Center: marketing reports (opens in a new tab)
- Shopify Help Center: analytics updates (opens in a new tab)
- Shopify developers: ShopifyQL sales schema (opens in a new tab)
- Shopify developers: ShopifyQL WITH (opens in a new tab)
- Shopify Help Center: conversion summary (opens in a new tab)
- Shopify Help Center: understanding campaigns (opens in a new tab)
- Shopify Help Center: Google Analytics setup (opens in a new tab)
- Shopify Help Center: analytics discrepancies (opens in a new tab)
- Google Analytics: attribution models (opens in a new tab)
- Google Analytics: attribution settings (opens in a new tab)
- Shopify Help Center: exclude referrer domains (opens in a new tab)
Tools for this
-
Free UTM builder
Build a link with your campaign parameters.
Frequently asked questions
Where did the Performance by UTM campaign report go in Shopify?
Shopify replaced it with Performance by marketing campaign, which uses the same metrics as Performance by marketing channel, grouped by campaign first.
Why do Shopify and GA4 show different numbers for the same campaign?
Shopify lists counting differences such as page reloads, session definitions, cookies, blocking extensions and time zones. Attribution rules differ too: Shopify's marketing reports use last non-direct click by default, while GA4 applies its own attribution models and lookback windows.
Does Shopify read UTM parameters without Google Analytics?
Yes. Traffic that reaches your store with utm_campaign in the URL is attributed to marketing in Shopify's own reports.
Build a campaign link
Create a UTM link with the free builder. No account needed.