It is one of the most common ecommerce reporting questions: Meta Ads Manager says a campaign is performing well, while Shopify reports a much lower return on ad spend. The instinct is to decide that one dashboard must be wrong. Usually, that is the wrong starting point.
Shopify and Meta are built to answer different measurement questions. Shopify records store activity and can assign marketing credit using attribution models chosen in its reports. Meta measures advertising performance and attribution across the customer journey in its own reporting environment. A difference between the two is therefore a signal to investigate definitions and setup, not a reason to copy one number into a budget decision without context.
Start by checking that you are comparing the same thing
Before comparing ROAS, use the same date range, currency, campaign naming and sales definition in both systems. Confirm whether tax, shipping, refunds, cancelled orders and discounts are included in the revenue figure you are reviewing. A report comparison is not useful if one side is looking at gross sales and the other is looking at a different conversion-value definition.
Shopify’s marketing reports can show sales, sessions, orders, conversion rate, average order value, cost, ROAS, cost per acquisition, impressions and clicks for the marketing channels connected to a store. Shopify says that its reporting is based on UTM parameters and connected app activities. That makes consistent UTM structure a practical requirement, not optional campaign housekeeping.
Attribution models can allocate the same order differently
A customer may see a Meta ad, return through a branded search, open an email and purchase later. The sale is real, but different reporting systems can credit different parts of that journey.
Shopify’s official reporting documentation lists several attribution models. Last non-direct click is the default for marketing activity data; it gives full credit to the last non-direct channel before a purchase. Shopify also supports last click, first click, any click and linear models in the relevant reports. Each model answers a different question. Any click can give credit to every clicked channel in a journey, which can be useful for examining a single channel but can allocate more total credit than the orders actually received.
That is why a Shopify report should be read with its selected attribution model visible. A sudden ROAS discrepancy can simply be a comparison between a Meta measurement view and a Shopify last-click or last-non-direct-click view.
Meta’s reporting has its own measurement layer
Meta’s official Conversions API documentation explains that the system can help measure ad performance and attribution across the customer journey. Events can appear in Meta’s reporting surfaces, including Ads Manager and Events Manager. That makes implementation quality important: a team should understand which events it sends, whether browser and server events are deduplicated correctly, and whether the campaign is optimized for the business outcome it intends to measure.
This does not mean that Meta should be ignored when Shopify differs. Meta is the platform used to evaluate campaign delivery, creative, audiences and optimization behavior. Shopify is the commerce record used to review store outcomes and attribution within Shopify’s reporting model. Treating both as context is more useful than making either a universal source of truth.
A practical weekly reconciliation routine
- Freeze the comparison window. Use the same timezone and completed date range in each report.
- Document the definitions. Record the Shopify attribution model, the Meta reporting view, the conversion event and the revenue fields being compared.
- Audit campaign tracking. Check that every paid link has a consistent UTM source, medium, campaign and content convention where relevant.
- Check event implementation. Review the Meta pixel and Conversions API setup, event matching and duplicate-event handling with the responsible technical team.
- Separate campaign optimization from business health. Use campaign-level platform data to assess campaign changes, then review store-level sales, margin, refunds and cash impact before scaling spend.
- Compare trends before chasing a perfect match. A stable, explainable gap is different from an unexplained change after a tracking, attribution or campaign-setting change.
What merchants should not do
Do not switch off a campaign solely because two dashboards use different attribution logic. Do not add together channel-attributed revenue from multiple platforms and treat the total as store revenue. And do not change attribution settings, UTM conventions and tracking implementation at the same time; that makes it harder to identify why results moved.
If the gap suddenly becomes much larger, investigate the basics first: broken UTM parameters, disconnected marketing apps, changes in the attribution model, missing purchase events, duplicate events, a changed campaign objective or a mismatch in dates and currencies. The objective is not to force two platforms to display identical numbers. It is to understand what each report is measuring well enough to make a sound operating decision.
The bottom line
Shopify and Meta Ads can disagree without either platform being defective. Shopify’s own guidance makes clear that its reports use selectable attribution models, while Meta’s Conversions API is designed to support ad-performance measurement and attribution. Ecommerce teams should make those settings explicit, maintain clean campaign tracking and use a consistent review process before reallocating budget.
Official sources: Shopify marketing reports and attribution models; Shopify marketing performance; Meta Conversions API.

