All segments

What Is Shopify Analytics? An Operator's Definition

Shopify Analytics is the sales and traffic reporting built into every Shopify admin — narrower than it looks once a $3M–$30M brand actually relies on it.

  • Published
  • Reading time 15 min read
  • Author Nafiul Hasan
What Is Shopify Analytics? An Operator's Definition. Diagram: where the reporting stops. RUN What Is Shopify Analytics? AnOperator's Definition REPORTEDNOT REPORTED pointerflow.com

Short answer

Shopify Analytics is the sales, traffic and conversion reporting built into every Shopify admin, scoped only to that store's own checkout. It shows what happened on Shopify's own checkout — not blended ad spend, not order-level margin, and not revenue from a second sales channel, which is where most $3M–$30M operators hit its limit.

Shopify Analytics is the reporting section built into every Shopify admin — sales, traffic, conversion rate and a handful of fixed reports, drawn entirely from orders placed through that store’s own checkout. For a store doing five figures a month, that is usually plenty. For a brand doing $3M to $30M a year, running paid ads across Meta and Google, maybe selling on a second channel, or running subscriptions through Recharge or Stay AI, it answers a narrower question than the dashboard’s confidence suggests. What Shopify Analytics does not do is the part that actually matters at that size.

What is Shopify Analytics, exactly?

Shopify Analytics is the native reporting layer inside the Shopify admin, under “Analytics” in the left-hand navigation. It reads Shopify’s own order, product and checkout data and turns it into a fixed set of views — Sales, Sessions, Online store conversion rate, Top products, Returning customer rate — plus a Live view for real-time order counts. On Shopify Plus, the same section adds a report builder with more dimensions and export options, but the source data does not change: it is Shopify’s own checkout, and nothing that happens outside that checkout.

What changes for an operator once they actually rely on it?

The consequence shows up the first time someone in a Tuesday finance or ops meeting asks a blended question: what is our customer acquisition cost this week, across Meta and Google combined, against what we actually made after landed cost? Shopify Analytics has no field for that, because advertising spend happens on Meta’s and Google’s own platforms, not on Shopify’s checkout, and the section was never built to import it.

The missing blended-CAC field is exactly the gap third-party attribution and reporting tools sell into. Triple Whale and Northbeam both exist to assemble the blended-spend, blended-margin view that Shopify’s own Analytics section leaves open, and both charge a monthly subscription for it. Northbeam’s published Starter tier is $1,500 a month (vendor-reported, Northbeam’s own pricing page). Triple Whale’s current tier pricing is — metric to confirm: its pricing page was not reachable to quote accurately, and a price restated from an aggregator is not a source. What matters more than the number is the shape of the choice: a brand doing $3M–$30M in revenue either pays a vendor monthly, builds the reconciliation itself, or keeps guessing at blended CAC from a spreadsheet someone updates when they remember to.

What Shopify Analytics sees versus what a $3M–$30M brand needs to answer a blended reporting question. Shopify Analytics sees Orders on Shopify's own checkout only Left out Meta and Google spend Landed cost per SKU A second sales channel What closes it A reconciled blended number
Shopify Analytics is accurate about its own checkout; the blended view a $3M–$30M brand needs sits outside it.

Where do teams get Shopify analytics wrong?

Most misreadings come from treating one report as if it were the whole business. “Total sales” is gross, before discounts, returns and duties are netted out — “Net sales” is the figure that reconciles closer to what actually lands in the account, and pulling the wrong one into a board deck overstates growth every time. Session and conversion-rate numbers cover Shopify’s own storefront and checkout, so a brand with meaningful marketplace or wholesale volume looks smaller in Shopify Analytics than it actually is.

The margin figures carry a quieter trap. Shopify calculates margin from the cost-per-item field on each product, and that field is blank by default — a product with no cost entered reports as pure profit, which inflates every margin report until someone enters and maintains landed cost across the whole catalogue. Few teams keep that current once the catalogue passes a few hundred SKUs.

Does Shopify Analytics report on more than one store, or combine wholesale with retail?

No. Shopify Analytics is scoped to one store, one admin login, one instance of the Analytics section — a second Shopify store, whether it is a separate wholesale storefront, a regional store kept apart for tax and fulfilment reasons, or a store picked up through an acquisition, gets its own Analytics with no built-in way to view both at once.

Running more than one Shopify store is common at $3M–$30M in a way it is not at smaller scale: a brand running DTC on one store and wholesale or B2B on a second, or running a US store and a UK or EU store separately. Shopify Plus Organizations lets a brand administer several stores from one place — shared billing, shared staff permissions, shared app installs — and that genuinely helps operations. It does nothing for reporting. Log into either store’s admin and the Sales, Sessions and Top products reports show that store’s orders only; there is no organisation-level dashboard that sums revenue, sessions or conversion rate across the stores underneath it.

Shopify’s own B2B feature, available on Shopify Plus, closes that cross-store reporting gap for one specific case: wholesale sold as a B2B channel on the very same store, rather than run as a separate second store. A wholesale channel built with B2B runs through the same store’s checkout, tagged to a company profile, so those orders do appear inside that one store’s Analytics, filterable by the B2B sales channel in the Sales report. That is a different setup from the older, still common pattern where wholesale runs on a second, separate Shopify instance with its own theme and sometimes its own catalogue — because in that case the wholesale revenue is not filtered out of the retail store’s Analytics, it was never in the same database to begin with.

The siloing goes past revenue. Product performance is siloed too: a SKU that sells well on the wholesale store and poorly on the DTC store never shows as one line in either store’s Top products report, and if the two stores’ catalogues were built independently, matching a variant across them means matching by name rather than a shared identifier. Customer history is siloed the same way — a person who buys on both stores looks like two separate, unconnected customers, so the returning-customer rate and lifetime-value figures in either store’s Customers report undercount them, and neither store knows it is happening.

Three ways an operator actually gets a consolidated number: move the wholesale channel onto the primary store’s native B2B feature where the catalogue and pricing structure allow it; reconcile the two stores’ exports by hand in a spreadsheet each month, which is workable at low order volume and unreliable past it; or land both stores’ order data in a warehouse or BI tool outside Shopify — built through Shopify’s own BigQuery data-share, a managed ETL connector, or a custom pipeline against the Admin API — where a single query can sum across a store identifier the way neither store’s own Analytics section ever will.

How do you reconcile Shopify’s own attribution against Meta and Google’s numbers?

They will not match on their own, and Shopify Analytics does not attempt to reconcile them. The Sessions by traffic source and Sales attributed to marketing figures inside Shopify Analytics are built from session-level referrer data captured at Shopify’s own checkout, credited to the last non-direct source that sent the visitor there within a lookback window Shopify sets. Meta Ads Manager and Google Ads each report conversions using their own separate attribution windows and their own modelling, measured entirely inside their own platforms. It is normal, not a fault in any one tool, for a single order to be counted as “driven” by Shopify’s own traffic-source report, by Meta, and by Google, all at once — a combined total larger than the number of orders the store actually took.

A second, separate cause sits underneath the double-counting. Since Apple’s App Tracking Transparency prompt and Safari’s Intelligent Tracking Prevention narrowed what a browser pixel can observe, ad platforms increasingly fill the gap with modelled or probabilistic attribution rather than a tracked click through to a completed Shopify order. That is a real reason Meta’s own reported purchases or conversion value drifts from what Shopify’s order ledger recorded for the same period, independent of whichever platform also claimed the same sale.

There is no published, reliable figure for how much a given platform over-reports relative to Shopify’s own order ledger — metric to confirm — because it depends on traffic mix, path length and tracking-consent rates specific to that store, and a borrowed industry average would misdescribe a store it was never measured on. What is available to every operator instead is the method. Treat Shopify’s own order revenue as the ledger, because every order is one row in it regardless of how many platforms claim credit for it. Tag every paid campaign with consistent UTM parameters so Shopify’s own traffic-source report can be filtered down to one specific campaign and date range. Compare that Shopify-recorded revenue against the same campaign’s self-reported conversion value inside Meta Ads Manager or Google Ads for the identical window. The gap between the two, measured this way, is that platform’s own attribution inflation for your traffic specifically — a number worth having because it is yours, not because it is round.

Meta’s Conversions API and Google’s Enhanced Conversions narrow the tracking gap by sending order-confirmation events server-to-server instead of relying on a browser pixel alone, but they still report inside each platform’s own attribution model — they improve match rate, not reconciliation. Reconciliation is a job for a ledger that sits outside any one ad platform, built from Shopify’s own order export or webhook feed, which is the same destination the multi-store and warehouse questions in this article keep arriving at.

Is Shopify Analytics the same as Google Analytics 4?

No. Shopify Analytics and Google Analytics 4 (GA4) are two separate systems that get typed together often enough that “shopify analytics 4” and “ga4 shopify analytics” show up as their own search terms. Shopify Analytics is Shopify’s own admin reporting, built only from orders on that one store. GA4 is Google’s separate on-site behaviour tool, installed through a tracking snippet or Shopify’s own GA4 integration, and it tracks sessions and events across whatever Google can see — not just the moment of checkout.

The two do not share a login, a data model, or even a definition of a session, so Shopify’s session count and GA4’s session count for the same day will not match. That mismatch is not a bug in either tool; it is two products measuring two different things and calling the result by the same name.

How do you get Shopify data into a warehouse or BI tool once native dashboards stop scaling?

Three routes exist, in ascending order of engineering effort: Shopify’s own native BigQuery data-share, a managed ETL connector that reads the Shopify Admin API on a schedule, or a custom pipeline built directly against Shopify’s GraphQL Admin API. Which one fits depends mostly on whether the store is on Shopify Plus and whether there is an engineer available to maintain a pipeline.

Native dashboards stop being enough for the same reason in most cases: the reporting question needs a join Shopify Analytics cannot make — order revenue against ad spend from Meta and Google, against landed cost from a 3PL invoice, against a second store’s orders, the multi-store problem above. Shopify’s report builder, even on Advanced Shopify or Shopify Plus, only ever queries Shopify’s own tables. A warehouse is where that join happens.

Shopify Plus merchants get a native option first. Shopify’s Data in BigQuery feature, so far available to Shopify Plus merchants, syncs core store objects — orders, line items, products, customers, inventory — directly into a BigQuery dataset inside the merchant’s own Google Cloud project on an ongoing basis, with no separate vendor and no extraction code to write. It is the cheapest route to a real warehouse for a store that already qualifies for it by plan.

Below Shopify Plus, or where BigQuery specifically is not the target warehouse, managed ETL connectors — Fivetran, Airbyte and Stitch all ship a pre-built Shopify source — replicate the same Admin API objects into Snowflake, BigQuery, Redshift or Postgres on a schedule, without anyone on the team writing extraction code. What that costs is left unpublished here deliberately — metric to confirm — because pricing for these tools is usage-based, scales with row volume and connector count, and depends on which warehouse is already being paid for; a figure quoted here would misdescribe most stores that read it.

A brand with engineering capacity can build the pipeline directly instead. The GraphQL Admin API’s bulk operations let a single query export an entire object type — every order, every line item — as one JSONL file, the same primitive the commercial connectors are built on. The trade-off is maintaining that pipeline through Shopify’s own API lifecycle: Shopify has, for years, shipped a new Admin API version every three months and supported each version for at least twelve months before retiring it, so a hand-built pipeline needs a standing task to migrate onto the current version rather than being written once and left alone.

Whichever route moves the bulk history, it usually needs a second, faster path alongside it, because a scheduled export is only ever as fresh as its last run. Shopify Flow and Shopify’s webhook subscriptions can push individual events — an order created, a fulfilment updated, a refund issued — into the same warehouse in near real time, so same-day figures do not sit stale until the next nightly sync. Most brands that build the custom-pipeline route end up running both: bulk operations for full history and reconciliation, webhooks for the current day.

None of the three routes changes what Shopify Analytics itself can do. The warehouse sits alongside it, not inside it, and it is where the multi-store, blended-attribution and margin questions get an actual query instead of a manual spreadsheet.

What do Advanced Shopify and Shopify Plus actually add to the Reports section?

The extra is read access to the same data, not new data — every plan collects the same order, session and product records. What Advanced Shopify and Shopify Plus add is the report builder: the ability to start from an existing report, add or remove columns, filter down to a segment, and save the result as a new report, instead of reading the fixed layout every plan below it gets.

PlanWhat Analytics includesWhat it does not include
Basic ShopifyOverview dashboard, Live viewNo fixed Reports library
Shopify+ the standard Reports library — Sales, Sessions/behaviour, Marketing and Customer reportsNo report builder; reports are fixed, not editable
Advanced Shopify+ the report builder — add or remove columns, filter, save as a new report—
Shopify PlusSame report builder as Advanced Shopify, plus store administration (staff, billing, multiple stores) at the Organization levelMulti-store administration is not multi-store Analytics — see above

That last row is worth spelling out, because it is the mistake operators make moving from Advanced Shopify to Shopify Plus expecting more analytics. Plus’s extra capability at the reporting layer is organisational — managing several stores, staff and billing from one place — not a combined dashboard across those stores. The report builder itself is the same on Advanced Shopify and Shopify Plus; Plus does not see more of Shopify’s own data, it administers more stores that each still report on themselves alone, with no organisation-level dashboard that sums revenue, sessions or conversion rate across them.

Shopify updates report names and the report builder’s exact list of available dimensions with its twice-yearly Editions releases, so the boundary that matters is the stable fact — the report builder is gated to Advanced Shopify and Shopify Plus, not the Shopify plan or Basic Shopify — rather than the exact column list inside it, which is worth checking against the live admin.

None of these gaps — the missing ad-spend field, the siloed multi-store reporting, the attribution mismatch against Meta and Google — is a knock on Shopify Analytics for what it is built to do; it is accurate about the one thing it measures, Shopify’s own checkout, and it costs nothing extra to use. The mismatch appears once the reporting question spans more than that: blended CAC across ad platforms, margin after landed cost, a subscription cohort curve, a number that reconciles rather than one that merely reports. That is a reporting and analytics problem, not a Shopify problem, and it is what reporting and analytics work is for — a warehouse under your own account instead of another vendor’s dashboard.

Sources

  • Shopify Help Center, Analytics and reports documentation, September 2026.
  • Shopify Help Center, plan comparison and report tiers by plan, September 2026.
  • Shopify Help Center, Data in BigQuery documentation, September 2026.
  • Shopify.dev, Admin API versioning and release schedule, September 2026.
  • Shopify Help Center, B2B on Shopify Plus documentation, September 2026.
  • Northbeam, published pricing page — Starter tier, retrieved September 2026. Vendor-reported.

No independent or third-party measurement is quoted in this piece. The one vendor price quoted, Northbeam’s published Starter tier, was read from Northbeam’s own pricing page and is labelled vendor-reported. Triple Whale’s pricing page could not be retrieved, and a price restated from an aggregator is not a source, so that figure is marked metric to confirm. The same applies to how much any single ad platform over-reports relative to Shopify’s own order ledger, and to what a managed ETL connector such as Fivetran or Airbyte costs at a given order volume — both depend on specifics no general figure could represent honestly, so both are marked metric to confirm and a method in the body instead. The description of what Shopify Analytics does and does not report, what each Shopify plan’s Reports section includes, and how Shopify’s native BigQuery export and Admin API versioning work is written from first-hand use of the Shopify admin and Shopify’s own documentation, current as of September 2026 — Shopify changes report names, plan features and API versions over time with its twice-yearly Editions releases, so verify against the live admin and Shopify.dev before relying on a specific field name, plan inclusion or API version.

Frequently asked

Can I give a bookkeeper or agency access to Shopify Analytics without giving them access to the rest of the admin?

Yes — Shopify's Reports permission is a standalone staff permission that opens the Analytics section without granting access to Orders, Products, Settings or any other part of the admin. Assign a bookkeeper, agency or new hire only that Reports permission, under Settings > Users and permissions, to hand over sales and traffic reporting while keeping the rest of the admin off limits.

Does Shopify Analytics track ad spend from Meta or Google?

No. Shopify Analytics has no field for advertising spend on Meta, Google or any other platform, because that spend never touches Shopify's checkout. A brand that wants blended return on ad spend or blended customer acquisition cost has to bring that number in from outside Shopify Analytics — through a spreadsheet, a data warehouse, or a paid attribution tool.

Do I need to install Google Analytics 4 myself, or does Shopify set it up automatically?

Shopify does not enable GA4 by default. A merchant connects it themselves, either by adding a GA4 measurement ID under Shopify's built-in Google & YouTube sales channel or by installing Google's tracking snippet through a theme or app. Shopify Analytics itself needs no setup and reports from the moment a store opens; GA4 is a separate, opt-in layer added on top of it.

Why doesn't the margin in Shopify Analytics match real profit?

Because Shopify's margin figures depend on the cost-per-item field set on each product, and that field is blank by default. A product with no cost entered shows as pure margin, which overstates profit until every SKU's landed cost — product, packaging, freight — is entered and kept current, which most catalogues are not.

Do I need Shopify Plus to get more out of Shopify Analytics?

Shopify Plus adds a report builder with more dimensions, saved custom reports and export options on top of the same underlying data. It widens what you can slice, not what the section can see — it is still built only from Shopify's own checkout, so ad spend and off-platform revenue stay outside it either way. Advanced Shopify gets the same report builder; Plus adds multi-store administration on top, not multi-store reporting.

If I migrate two Shopify stores into one, does the surviving store's Analytics inherit the old store's sales history?

No. Migrating products, customers and orders into a single store does not backfill that store's Analytics with the other store's past orders — every Shopify report only reflects orders originally placed through that store's own checkout. A brand consolidating two stores needs to export or archive the old store's historical reporting first, because Analytics itself will not retroactively include it after the migration.

Does Shopify Analytics update the moment an order comes in?

Only the Live view updates close to real time; every other report in the Analytics section — Sales, Sessions, Conversion rate — is not instant and can lag behind the order itself by an interval Shopify does not publish. An operator checking a dashboard seconds after a sale should expect that order to appear shortly after, not immediately.

Does Shopify Analytics report on abandoned checkouts?

Not inside the Analytics section itself. Abandoned checkouts are tracked separately, under Orders, as incomplete sessions that reached checkout without finishing payment, each with an option to send a recovery email. They sit outside the Sales and Conversion rate reports, which count completed orders only, so an abandonment rate has to be worked out from the Orders list, not the Analytics dashboard.

Does Shopify Analytics include Shopify POS sales from a physical store?

Yes, once the POS location sits under the same Shopify store. Point of Sale counts as a sales channel like the online store, so in-person orders land in the same Sales, Sessions and Top products reports and can be filtered by channel to isolate POS. A retail business on a wholly separate Shopify store gets its own separate Analytics instead, with no shared dashboard.

Can Shopify Analytics reports be exported out of the admin?

Yes. Most reports in the Analytics section carry an export option that downloads the report as it is currently filtered — including date range and any dimensions applied — as a CSV file. Individual order and customer records can also be exported separately from their own list pages, which is the more direct route for a bulk data pull rather than a summarised report.

Does a refunded order still count in the Shopify Analytics Sales report?

It counts, but on the date the refund happened, not the date of the original order. Shopify's Total sales and Net sales figures are recalculated for the day a refund is processed, so a large refund issued today reduces today's net sales rather than restating the day the sale was first made — which can make a strong sales day look weak the day the return lands.

What timezone does Shopify Analytics use to define a sales day?

The timezone set in that store's admin under Settings, not the timezone of the customer, the merchant's browser, or UTC. A sale placed at 11:50pm in the store's configured timezone counts toward that day's totals even if the customer checked out at a different local time, which matters most when comparing Shopify's own day-by-day figures against an ad platform reporting in its own timezone.

Next step

Is this your reporting & analytics problem, or a symptom of another one?

Bring your numbers — the churn split, the decline rate, whatever your flows are earning — and we will tell you which of them is the expensive one.

Book a call →