UTM Builders & Tools• 6 min read

Shopify UTM Tracking: Tie Orders Back to Campaign Links

How Shopify reads UTM parameters, where its reports fall short, and how to attribute each order to the exact link that earned it.

Part of our UTM builder hub.

UTMLOOP COMPREHENSIVE VIEW

The short answer

Shopify records the standard UTM parameters (utm_source, utm_medium, utm_campaign, utm_content, utm_term) on each customer visit and uses them in its marketing reports. To trust those reports you need consistent tags on every link, and for revenue by individual link you need a tool that carries the original click through to the order, even when the purchase happens in a later session.

How Shopify reads UTM parameters

When a shopper lands on your store from a tagged link, Shopify stores the UTM values on that visit; the Admin API exposes them on the CustomerVisit object. Shopify's marketing reports then group sessions and sales by referring channel and UTM campaign.

Shopify only reads the standard parameters, and it treats values as written. "Facebook", "facebook" and "fb" become three sources. The UTM validation rules prevent most of this.

Why orders lose their campaign

Three things break the chain. Redirects that drop the query string, such as a link shortener or app that rewrites URLs, remove the UTMs before Shopify sees them. Shoppers who come back later through a bookmark or a search get credited to that later visit under some attribution models. And GA4 ties a purchase to a session, not a Shopify order ID, so GA4 revenue and Shopify revenue rarely match line for line.

How to set up reliable Shopify UTM tracking

Tag every outbound campaign link with source, medium and campaign, using one lowercase naming convention across your team. Use a link tool that keeps the query string through its redirect. Then pick one system as the source of truth for revenue by campaign, and use the others for trends.

Order-level attribution with UTMLoop

UTMLoop's Shopify integration connects through Shopify OAuth, installs a tracking snippet automatically (no theme edits), and ties each order to the UTMLoop link that drove it, including orders placed in a later visit than the original click. Revenue is kept separate per currency, so multi-market stores get accurate totals. The embedded app also lets you create tagged links without leaving Shopify admin.

See the Shopify integration page for setup and plan details.

Set up Shopify UTM tracking with UTMLoop

  1. In UTMLoop, open Settings → Connections and connect your Shopify store through Shopify OAuth.
  2. Let the tracking snippet install automatically; no theme code changes are needed.
  3. Create campaign links in UTMLoop using your team's naming rules, then share them in ads, email and social.
  4. Open a link or campaign in UTMLoop to see the orders and revenue it drove, split by currency.

Frequently Asked Questions

Does Shopify track UTM parameters automatically?

Yes, for the standard parameters. Shopify stores them on each customer visit and uses them in marketing reports. It does not read custom parameters.

Why don't Shopify and GA4 revenue match?

They attribute differently. GA4 credits a purchase to a session using its own attribution model; Shopify reports by its own models and order records. Expect a gap and pick one system for revenue by campaign.

Can I see revenue for a single link, not just a campaign?

Not in Shopify's standard reports. UTMLoop's Shopify integration attributes each order to the specific link that drove it.

Sources

  1. Shopify Growth Services: How to set up UTM parameters for Shopify reporting
  2. Shopify Admin API: CustomerVisit object (utmParameters)

Join 14,000+ marketing growth leaders

Receive our bi-weekly breakdown of campaign analytics setups, attribution rules, naming tactics, and link-stitching blueprints. Direct to your inbox.

More on utm builders & tools

Back to the guide