Shopify UTM Tracking: Where the Data Shows, What Breaks
Where Shopify shows UTM data, from the order page to the marketing reports, how to tag each channel, and what strips the tags before the order.
Sara
Co-founder & CTO
You tagged the links, the campaign ran, and the orders came in, but the Shopify admin still shows half of them as direct. Shopify UTM tracking works without any setup, yet the data is spread over several places in the admin and it is easy to lose the tags between the click and the checkout. This guide covers where Shopify shows UTM parameters, how to tag each channel, and what breaks the chain.
The short answer: Shopify reads UTM tags on its own, and Arktis ties them to the order
Shopify reads UTM parameters from the landing URL automatically. You find them in three main places: on each order, under Conversion summary and then View conversion details; in the marketing reports under Analytics > Reports, such as Sessions attributed to marketing campaigns, Sales attributed to marketing and Performance by UTM campaign; and in the channel and campaign reports on the Growth page. Shopify's Help Center says the main features of Shopify Analytics are available on every subscription plan.
For keeping those tags attached to the buyer, Arktis is the clear winner for an online store. Its tracker captures UTM parameters and ad click identifiers on landing, holds them against the visitor across sessions, and matches the Shopify order back to that visitor where it can. The UTM match looks back 24 hours, so a shopper who clicked a tagged link on Monday and bought on Thursday is still tied to the campaign only if the store has identified them by email. Plans are $49, $149 and $349 a month, with a 7-day free trial on Growth.
| Where | What you see | Good for |
|---|---|---|
| Order page, Conversion summary | Visits in the last 30 days, first visit origin, UTM parameters per visit under View full sessions | Checking one order |
| Analytics > Reports, Marketing | Sessions attributed to marketing campaigns, Sales attributed to marketing, Performance by UTM campaign | Sessions and sales per campaign |
| Growth page | Channel performance and Campaigns reports, built on UTM parameters and connected apps | Comparing channels under different attribution models |
| Sidekick | Marketing data grouped by UTM campaign, source, medium or referrer | A quick Shopify UTM report on request |
| Admin API | utmParameters on the first and last visit of an order's customer journey | Exports and custom reporting |
Key takeaways
Shopify needs no plugin to record UTM tags, and traffic that arrives with a utm_campaign parameter is counted as marketing in its reports. Its attribution looks back 30 days and offers five models, with last non-direct click as the default for marketing activity data and last click as the default in reports that carry the Attribution menu. The new Order.attribution field in API version 2026-07 is not a UTM field: it names the sales channel source that created the order. Most lost UTM data comes from the journey rather than from Shopify, through redirects that drop the query string, a click in one browser and a purchase in another, or blocked cookies. Consistent naming matters more than any tool, and the free UTM builder keeps it consistent.
Where Shopify shows UTM data
Start with a single order. Open it in Orders and find the Conversion summary section, which shows the customer's order count, their visits in the last 30 days and the origin of their first visit. Click View conversion details and then View full sessions to see each visit's session referral, app details and UTM parameters. Shopify notes that summary details can take up to 48 hours to appear.
Not every order has a full summary. Where full visit data is missing, which Shopify says often happens on headless storefronts or when cookies were blocked, the order shows a limited summary with the order number in the customer's history and, where available, the source and the landing page. If apps or private browsers prevented cookie tracking and nothing was captured, or the order began as a draft, the section is empty.
For totals, go to Analytics > Reports and filter the category to Marketing. Sessions attributed to marketing campaigns counts sessions that came from marketing, including UTM campaigns. Sales attributed to marketing lists sales from traffic that can be directly attributed to your marketing, with the UTM campaign name as a column. Performance by UTM campaign is one of three default reports that carry the Attribution menu.
The Growth page holds the channel view. Its channel reports cover every marketing channel with sales, sessions, orders and conversion rate, and Shopify states that this reporting is based on your UTM parameters and connected app activities. Click a channel to open the Campaigns report, which combines UTM-tagged traffic with data from integrated marketing apps.
The attribution window and model Shopify uses
Shopify's window is 30 days. If a visitor does not buy within 30 days of a session, the first interaction referrer resets to whatever the next referrer is, and marketing activity reports attribute a sale to the source clicked most recently within the past 30 days.
Five models are available: last non-direct click, last click, first click, any click and linear. Last non-direct click is the default when viewing marketing activity data, and in Analytics reports that carry the Attribution menu, last click is selected by default. The Channel performance report offers last click, first click and last non-direct click. Any click gives full credit to every channel clicked, so Shopify itself warns that it allocates more credit than the orders you received.
What Order.attribution in API 2026-07 actually is
A field called Order.attribution arrived in the Admin GraphQL API with version 2026-07, and it is easy to assume it carries UTM values. It does not. Shopify's changelog of 30 June 2026 introduces it for sales channel apps, which can now define attribution sources more specific than the app itself, such as a marketplace, region, account or surface. The field returns a handle, a display name and an icon, and it supersedes Order.channelInformation, which remains available but is deprecated.
UTM values reach the API a different way. The order's customer journey exposes a first and a last visit, and each visit has a utmParameters field alongside the landing page, referrer URL and source.
How to tag links for each channel
The rules of naming are covered in our UTM parameters best practices guide, so this section is only about Shopify UTM parameters by channel. Build every manual link in the UTM builder, which adds source, medium, campaign, content and term to a URL and encodes them correctly.
| Channel | utm_source | utm_medium | utm_campaign |
|---|---|---|---|
| Meta ads | facebook or instagram | paid | Campaign name, filled by a dynamic parameter |
| Google Ads | cpc | Campaign name, set in the tracking template | |
| Klaviyo email | klaviyo | Campaign or flow message name | |
| Klaviyo SMS | klaviyo | sms | Campaign or flow message name |
| Shopify Messaging | shopify_email | Email name plus activity ID | |
| Creator or affiliate link | creator-name | affiliate | launch-2026-10 |
| Bio or organic post | social | bio-link |
The Shopify Messaging row is Shopify's own default, listed in its Help Center. The rest is a convention we suggest, and three platform behaviours explain it.
Meta adds parameters by itself. Its help page says that for Shopify merchants a campaign source of Facebook, a campaign medium of paid, an ad ID and a campaign ID may be added to ad traffic automatically. That is why the table uses paid for Meta: it keeps your own tags in the same row as the ones Meta writes. Our UTM best practices guide suggests paid-social, which Google Analytics 4 groups the same way, so use that only if you set it in every ad and accept that Meta's automatic tags will sit in a separate row. Anything you write in the URL parameters field overrides a duplicate in the website URL, so pick one convention and check a live ad.
Google Ads uses auto-tagging, which is on by default for new accounts and appends a gclid to the URL. That identifier is for Google's own reporting, so add UTM tags as well if you want campaign names in Shopify. Google's documentation also warns that when a site uses redirects, the gclid has to be passed through to the final landing page.
Klaviyo can append UTM tags to every message once the setting is switched on, but its default utm_source is the list or segment name for campaigns and the flow name for flows, not the word klaviyo. Changing both to the static value klaviyo keeps all of its traffic in one row.
What breaks UTM tags before the order
Redirects come first. A link that points to an old URL, a non-www address or a vanity path is redirected by the server, and if the redirect does not carry the query string forward the tags are gone before the page loads.
Link shorteners are a redirect you do not control. The tags survive only if they were on the long URL before it was shortened, and Shopify's marketing reports list a shortened URL as one reason a referrer name shows as N/A.
The handoff from app to browser splits the journey. A shopper taps an ad inside a social app and lands in its in-app browser, then buys later in Safari or Chrome. That later visit has no tags, and unless the shopper was recognised in both places the order reads as direct. Shopify has included cross-device data in storefront reporting since 1 March 2023, using the example of a customer who gives an email on one device and buys on another.
A storefront on a different domain or stack loses detail. Shopify says limited conversion summaries are common on headless storefronts, where full journey tracking is not available.
Blocked cookies and private browsing remove the rest. When cookie tracking is prevented, Shopify may capture no source or landing page at all. Safari's Private Browsing strips query parameters that identify individual clicks, although WebKit's own description says parameters used only for campaign attribution are allowed through, which is one reason UTM tags hold up better than click identifiers.
How Arktis holds UTM tags against the order
Arktis reads the UTM parameters and the ad click identifiers on the landing URL, including gclid, fbclid, msclkid and ttclid, and keeps them on the visitor rather than on the single session. When Shopify sends the order through its order webhook, Arktis matches it to a visitor on email, where the visitor has been identified, or on the UTM tags in the order's landing URL against a session from the previous 24 hours.
The result is a Top Campaigns table on the Ads Analytics dashboard, listing the ten UTM campaigns with the most sessions in the period, with source and medium, sessions, conversions and conversion rate for each. The same dashboard warns when a campaign value arrives as an unfilled template placeholder, the sign that an ad platform is not substituting its dynamic parameter. On Growth and above, Arktis lets you watch the session recordings of visitors who converted, filtered by source.
Where Arktis does not fit
Shopify's own reports are free and are enough for a store with one or two channels and short buying cycles.
Arktis has limits of its own. A UTM-only campaign appears in the Top Campaigns table, if it is among the ten with the most sessions, and not in the attribution model comparison, which covers visits that carried an ad click identifier. The UTM match looks back 24 hours, so a longer gap between click and order is bridged only where the store has identified the visitor by email. It can also land on another visitor's session with the same UTM source, and an order with neither an email match nor a UTM match is stored unattributed. Arktis does not send events to Meta's Conversions API or to Google enhanced conversions, so the ad platforms still need their own pixels.
Next steps
To see UTM tags and click identifiers matched to your Shopify orders, start the 7-day Growth trial or compare plans on the pricing page. For the wider setup, read Shopify marketing attribution setup, Shopify Thank you page tracking, Shopify analytics beyond the default dashboard and, for email, Klaviyo attribution.
Sources
Shopify Help Center: viewing order conversion summary, what the summary shows, limited and empty summaries, UTM parameters under visit details, accessed 1 October 2026
Shopify Help Center: marketing reports, the marketing reports, the 30-day reset, attribution models, shortened URLs, accessed 1 October 2026
Shopify Help Center: measuring marketing performance, Growth page reports, utm_campaign counted as marketing, the 30-day last click rule, cross-device data, accessed 1 October 2026
Shopify Help Center: Shopify analytics, main features available on any subscription plan, accessed 1 October 2026
Shopify developer changelog: configure order attribution for sales channel apps, published 30 June 2026, Order.attribution in API 2026-07
Shopify Admin GraphQL API: CustomerVisit, utmParameters on first and last visits, accessed 1 October 2026
Shopify Help Center: Shopify Messaging email analytics, default UTM values, accessed 1 October 2026
Meta Business Help Centre: add URL parameters to your Meta ads, automatic parameters for Shopify merchants and override behaviour, read in Swedish, accessed 1 October 2026
Google Ads Help: about auto-tagging, gclid, default for new accounts, redirects, accessed 1 October 2026
WebKit: Private Browsing 2.0, Link Tracking Protection and campaign parameters, accessed 1 October 2026
Frequently Asked Questions
Does Shopify track UTM parameters automatically?
Yes. Shopify reads UTM parameters from the landing URL without any app or code, and traffic that arrives with a utm_campaign parameter is attributed to marketing in its reports. You can see the tags per order under Conversion summary, and in total in the marketing reports under Analytics > Reports and on the Growth page.
Where is the UTM report in Shopify?
Go to Analytics > Reports and filter the category to Marketing. Sessions attributed to marketing campaigns, Sales attributed to marketing and Performance by UTM campaign all use UTM data, and the Channel performance and Campaigns reports on the Growth page are built on UTM parameters and connected apps. You can also ask Sidekick for marketing data grouped by UTM campaign, source or medium.
What attribution window does Shopify use for UTM campaigns?
Shopify works on 30 days. If a visitor does not buy within 30 days of a session, the first interaction referrer is reset, and marketing activity reports credit the source clicked most recently within the past 30 days. Last non-direct click is the default model for marketing activity data, with last click, first click, any click and linear also available.
Does the Order.attribution field in Shopify's API contain UTM data?
No. Order.attribution, added in API version 2026-07, identifies the sales channel source that created an order, such as a marketplace or region defined by a sales channel app, and returns a handle, display name and icon. UTM values are exposed on the first and last visit of the order's customer journey, in the utmParameters field.
Why do my Shopify orders show as direct when I used UTM links?
The tags were usually lost on the way. Common causes are a redirect that dropped the query string, a click inside an app's browser followed by a purchase in another browser, blocked cookies, and headless storefronts where Shopify only has limited journey data. Click each tagged link yourself and check that the parameters are still in the address bar on the landing page.
Free tools for this topic
From the blog
Try Arktis free for 7 days
Attribution tracking, session recordings, and AI automation in one platform. Set up in 2 minutes, free for 7 days.
Start 7-day free trialWritten by
Sara
Co-founder & CTO
Sara architects Arktis's technical infrastructure, specializing in AI agents and real-time data processing systems.