RovelaRovela
Back to the blog

By El Ghali Bennis · Published

Shopify Attribution Explained: Why Your Numbers Differ

Shopify attribution explained: why Meta, Google and Shopify report different sales, and how to fix your tracking. Get a setup you can trust.

Shopify Attribution Explained: Why Your Numbers Differ

Shopify attribution is the process of crediting each order to the marketing channel that drove it. By default, Shopify uses a last-click model inside its own reports, while Meta and Google each count conversions with their own rules. That's why the three tools almost never agree on how many sales you made.

Store owner comparing Shopify, Meta Ads and Google Ads reports on three screens at a cluttered desk with shipping boxes nearby

If you've ever opened Ads Manager and seen 84 purchases, then checked Shopify and found 51 orders for the same week, you're not broken and neither is your tracking. You're looking at three different definitions of "who gets credit." This guide explains how each one works, where the gaps come from, and a practical setup that gets you to a number you can make budget decisions with.

How Shopify attribution works by default

Shopify attributes an order using the visitor's session data, and its standard reports lean on a last-click model: the final tracked source before purchase gets the credit. Direct visits and untracked links often fall into "Direct" or "Unknown."

When a shopper lands on your store, Shopify records the referrer, any UTM parameters in the URL, and the landing page. That information is stored against the session and then against the order if the visitor buys. Shopify's own documentation describes sessions and attribution in its Help Center, and the reports available to you depend on your plan. We covered what each tier includes in Shopify analytics plans compared.

What "last click" really means

Shopify last click attribution gives 100% of the credit to the most recent source in the buyer's journey. Say someone sees your Instagram ad on Monday, reads a review on Wednesday, and then types your URL on Friday and buys. Shopify records that sale as Direct. Instagram gets nothing.

That's the main weakness. Last click undervalues anything that creates demand (video ads, influencers, podcasts) and overvalues anything that catches it (brand search, email, direct).

Where the data comes from

  • Referrer header: tells Shopify which site sent the visitor, when the browser passes it along.
  • UTM parameters: tags you add to links, such as utm_source and utm_campaign.
  • Click IDs: fbclid from Meta and gclid from Google, which the ad platforms use on their side.
  • Sales channel: the channel the order came through, like Online Store or Shop.

Where to find attribution reports in Shopify admin

Menu names shift as Shopify updates its admin, but these paths are the usual starting points:

  1. Analytics > Reports: open the Marketing section and look for sales attributed to marketing, plus sessions by referrer or UTM. Availability depends on your plan.
  2. Analytics > Dashboard: the "Sessions by traffic source" and "Total sales by referrer" cards give a quick last-click view. Change the date range to match your ad platform's.
  3. Orders > open any order: scroll to the timeline or customer card to see the order's source and, where available, the customer journey summary.
  4. Customers > open a customer: check first-visit and last-visit details to see how they originally found you.
  5. Marketing > Campaigns: if you create campaigns or connect channels here, you'll see sales and sessions tied to each.

Whatever you open, set the same date range and time zone across Shopify, Meta and Google before comparing anything. Mismatched time zones alone can shift orders across days.

Why Shopify and Facebook sales don't match

Shopify and Facebook sales don't match because the two systems use different attribution windows, different credit rules, and different tracking methods. Meta counts any purchase it can link to an ad interaction, including views. Shopify counts an order once, under one source.

Marketer at a kitchen table with a laptop and coffee puzzling over mismatched ad reports and order totals

This is the classic Shopify Meta Ads attribution mismatch. Here are the usual causes, roughly in order of impact.

1. Different attribution windows

Meta's default setting has been a 7-day click and 1-day view window, according to Meta's Business Help Center. If someone sees your ad, doesn't click, and buys the next day through a Google search, Meta claims the sale. Shopify gives it to Google or Direct.

2. View-through credit

Meta can count conversions from people who only viewed an ad. Shopify's last-click report has no concept of that. Take a store where Meta reports 120 purchases and 35 of them are view-through only: Shopify can never credit those 35 to Meta, so a 25-30% gap appears before anything is wrong. Retargeting campaigns tend to show this most.

3. Double counting across platforms

Meta and Google both report on their own. If a buyer touched both ads, each platform claims the full sale. Add up your platform-reported revenue and it can exceed your actual revenue. For example, $18,000 reported by Meta plus $14,000 by Google against $21,000 in Shopify revenue is entirely plausible. That's normal, and it's why you should never sum them.

4. Privacy limits and blocked tracking

Apple's App Tracking Transparency, introduced in iOS 14.5, reduced how much cross-app data Meta can see, as Apple's own privacy documentation explains. Browser tracking prevention and ad blockers cut Shopify-side data too. Some orders arrive with no source at all.

5. Link and tagging mistakes

Missing UTMs, redirects that strip parameters, and link-in-bio tools that hide the referrer all push sales into Direct. It's the most fixable cause on this list.

A worked example of closing the gap

Using the opening numbers: Meta shows 84 purchases and Shopify shows 51 orders credited to it. Suppose 17 of the 84 are view-through, and 9 more were also claimed by Google or landed in Direct after a click. That leaves 58 click-based purchases, close to Shopify's 51, with the remainder explained by tracking loss. The gap is mostly definitions, not errors. The figures are illustrative, but the method works on your own data: break Meta's number down by click vs. view, then compare.

Fixing Shopify UTM tracking step by step

Clean Shopify UTM tracking means tagging every paid and owned link with consistent source, medium, and campaign values. Do it once, document it, and your reports stop filling up with "Direct" and "Unknown."

  1. Pick a naming convention. Lowercase only. Use facebook, not Facebook and fb and meta in different ads.
  2. Tag every link. Use utm_source, utm_medium, and utm_campaign at minimum. Add utm_content to separate creatives.
  3. Use dynamic parameters in Meta. Meta lets you insert campaign and ad names automatically in the URL parameters field, so you don't hand-tag each ad.
  4. Turn on auto-tagging in Google Ads. It appends the gclid. Google Ads Help covers this.
  5. Tag email and SMS. Klaviyo and similar tools can add UTMs automatically. Check that it's enabled.
  6. Test before you spend. Click your own ad link, buy a cheap product or add to cart, and confirm the source shows in the session.

A simple UTM template

Channelutm_sourceutm_mediumutm_campaign example
Meta prospectingfacebookpaid_socialprospecting_spring_sale
Meta retargetingfacebookpaid_socialretargeting_cart_7d
Google Shoppinggooglecpcshopping_all_products
Email newsletterklaviyoemailnewsletter_oct
Influencerinstagraminfluencercreator_name_launch

Keep the sheet somewhere your whole team can see it. Inconsistent tagging is the quietest way to wreck a report.

Shopify Google Ads attribution and the customer journey report

Shopify Google Ads attribution relies on the gclid and Google's own conversion tracking, and Google defaults to a data-driven model where eligible. Shopify's own reports show last click, so the same sale can appear under two different channels.

Shop owner reviewing a printed weekly sales report beside a laptop in a small home office with product samples

Google's data-driven model spreads credit across touchpoints it can see. That's more nuanced than last click, but it only sees Google's ecosystem. A sale that began on TikTok and ended with a branded Google search gets claimed by Google.

Reading the customer journey report

The Shopify customer journey report, available in the order and customer views and in some analytics tiers, shows the sequence of sessions before a purchase: first visit source, later visits, and the converting visit. It's the closest thing Shopify offers to multi-touch attribution.

Use it to answer questions last click can't:

  • Which channel introduces new customers most often (first touch)?
  • How many sessions does a typical buyer need before ordering?
  • Do paid social visitors come back through email or Direct to convert?

If most of your Direct orders have a paid social first visit, Meta is working harder than the last-click view suggests. That's valuable evidence when you're deciding whether to cut a campaign.

Building a Shopify marketing attribution report

A useful Shopify marketing attribution report doesn't need to be fancy. Pull the following into one sheet each week:

  • Shopify orders and revenue by source/medium (last click)
  • Shopify first-touch source for new customers
  • Platform-reported conversions and spend from Meta and Google
  • Blended metrics: total revenue divided by total ad spend (MER), and new-customer cost

Then compare ratios, not raw totals. If Meta reports 1.5x more purchases than Shopify credits it with, and that ratio holds steady for months, you can treat it as a stable adjustment factor. For instance, if Meta says 90 purchases and the factor is 1.5, expect about 60 real ones. A sudden jump to 2.0 signals a tagging or tracking problem worth investigating.

Which Shopify attribution model should you trust?

No single Shopify attribution model is "right." Last click is simple and conservative, first touch shows discovery, and platform-reported numbers are optimistic. The reliable approach is to triangulate with blended metrics and occasional incrementality tests.

MethodStrengthWeakness
Shopify last clickConsistent, tied to real ordersIgnores upper-funnel channels
First touchShows what brings new buyersIgnores what closes them
Meta/Google reportedFast optimization signalOverlaps, inflated by view-through
Blended MERImmune to attribution disputesDoesn't tell you which channel works
Post-purchase surveyCaptures dark social, podcasts, word of mouthSelf-reported, small samples

A practical decision rule

Use platform data to optimize inside a channel (which ad beats which). Use Shopify and blended numbers to decide how much to spend across channels. Add a one-question post-purchase survey, "How did you hear about us?", to catch what no pixel sees.

When to run a lift test

A lift test measures whether a channel causes sales or just claims them. As a rule of thumb (not an industry standard), consider one when a channel takes a quarter or more of your spend. Here's a simple way to run it:

  1. Record a baseline. Note total Shopify revenue, orders and MER for the previous 2-4 weeks.
  2. Pick a holdout. Pause the channel in one region, or for 7-14 days store-wide. Meta's built-in conversion lift tools offer a more rigorous option if your spend qualifies.
  3. Change nothing else. Avoid launching promotions or new campaigns during the test.
  4. Compare totals, not channel reports. Look at overall revenue and new customers against the baseline, adjusting for seasonality.

A real drop means the channel is driving sales. A flat line means the platform was claiming credit for orders that would have happened anyway. Small stores have noisy data, so treat a single test as evidence, not proof.

Common questions about Shopify attribution

Does Shopify have multi-touch attribution?

Not in a full sense. Shopify reports last-click sources and shows journey data per order, but it doesn't distribute fractional credit across touches. For that you'd add a third-party attribution tool, which is another monthly bill. If app costs are already creeping up, see Shopify app costs and how to reduce them.

Why are so many orders marked Direct?

Direct is the catch-all for sessions without a readable source. Missing UTMs, in-app browsers, privacy settings, and typed URLs all land there. Tighter tagging usually shrinks Direct, and it's worth auditing your top ten ad and email links first.

Should I trust Meta's reported ROAS?

Trust it directionally, not literally. It's useful for comparing ads against each other. It's unreliable as proof of profit, because of view-through credit and overlap with other platforms.

Is attribution a platform problem or a setup problem?

Both. Some gaps are structural, like privacy limits. Others are your own tagging. A platform with analytics and marketing tools built in means fewer connectors to misconfigure. Rovela, for example, ships stores with analytics, Meta and Google Ads integrations, and abandoned cart flows included, so there are fewer third-party pixels fighting each other.

Turning Shopify attribution into better decisions

Attribution won't ever be perfect, and chasing a perfect number wastes ad budget. Fix your UTMs, read last click and first touch side by side, compare platform numbers as ratios, and lean on blended MER for the big spend calls. That gets you most of the clarity for a fraction of the effort.

If you're tired of stitching together apps just to see where your sales come from, it may be worth looking at the whole stack. Rovela builds a complete store from a conversation, with 100+ features, analytics, and ad integrations included in one flat subscription and no commission on sales. Compare the two in Rovela vs Shopify, or check pricing to see what you'd save on plugins.

Your dream store is one sentence away.