GTM Analytics

For your stack

Analytics for Shopify stores

What Shopify's built-in reports already cover, why you cannot simply paste a script into checkout any more, and what to add.

Original abstract illustration in the form of a waffle chart, drawn for this guide

Shopify is the one platform where the built-in analytics is genuinely good at the thing that matters most, because it owns the orders. Revenue, conversion rate, average order value and the sales attribution in its reports come from the order records themselves rather than from a tag that may or may not have fired. Nothing you bolt on will beat it for that.

What it is weaker at is everything before the order, and that is where a second tool earns its place. It is also where Shopify's platform constraints bite, because the checkout is no longer a page you can put arbitrary JavaScript on.

What Shopify already gives you, free

Start here, because a lot of stores buy a second tool to duplicate reports they already had.

The built-in analytics covers total sales, orders, conversion rate, average order value, returning customer rate, sales by traffic source, sales by product and by channel, plus a live view of the store. Because these are computed from order records rather than from a browser tag, they are not affected by consent, ad blockers or a pixel that failed to fire, and they will always be the most accurate revenue numbers you have.

The gaps are consistent. Traffic reporting is shallow compared to a dedicated analytics tool. There is no real behaviour tooling, so nothing tells you why the product page underperforms. Segmentation is limited. And attribution stops at the channel level, which is enough to know that email works and not enough to know which email.

The practical rule: treat Shopify as the source of truth for revenue, and add a tool for the part of the journey that happens before the order.

The checkout constraint, which surprises people

This is the technical fact that decides what is possible on Shopify, and plenty of guides written before it still say otherwise.

You cannot paste a third-party script into the checkout. Shopify moved checkout to its extensibility model, and third-party measurement now runs through the Web Pixels API, which loads your code inside a sandbox rather than on the page. Shopify's own documentation describes app pixels running in a strict sandbox, with access to a controlled set of APIs: a customer event stream to subscribe to, limited browser access for cookies and storage that executes in the top frame, and a snapshot of page context at render.

The consequences are concrete. A sandboxed pixel can subscribe to events like `page_viewed`, `product_viewed`, `checkout_started` and `checkout_completed`, which is plenty for counting and attribution. It cannot read the DOM of the checkout, which means heatmaps and session replay of the checkout itself are not available to a third party in the way they are on your storefront.

So the honest division is: measure the funnel through events, and do your behaviour research on the storefront, where you still control the page.

Shopify gives you a consent management surface and expects apps to respect it, which is more help than most platforms offer and still leaves the decision to you.

If your analytics sets cookies you need a banner in the UK and EU, and on a store that is a worse trade than on a content site: the banner is the first thing a shopper sees, it sits between them and the product, and the people who decline vanish from both your traffic numbers and your funnel.

A cookieless tool avoids the prompt for analytics purposes, which on a storefront is worth more than it sounds. Note the asymmetry that makes this easier on Shopify than elsewhere: because Shopify computes revenue from orders rather than from a pixel, losing consented tracking does not cost you your sales figures. You only lose the traffic picture, and a cookieless tool gives that back without the banner.

What is actually worth adding

Three jobs, in descending order of how often they justify a subscription.

Behaviour on the storefront. Why does this product page not convert, and does anybody reach the reassurance copy below the fold? Heatmaps, scroll maps and session replay answer this and Shopify's reports never will. This is the highest-value addition for most stores.

Honest traffic and source data. Shopify's channel-level attribution is coarse and consent-affected where it depends on tags. A lightweight cookieless tool gives you complete traffic, sources and landing-page performance, which is what tells you where to spend next month.

Advertising measurement. If you buy Google or Meta ads, their pixels are not optional, and on Shopify they install as apps or web pixels rather than pasted scripts. Accept that these need consent and budget for the loss.

What is usually not worth adding is a product analytics platform. A storefront is not a software product, the event taxonomy work does not pay for itself, and Shopify's own events already cover the commerce funnel.

Why your numbers will never match

They will not, and the sooner everybody agrees why, the fewer meetings you will spend on it.

Shopify counts an order when the order record is created. A third-party tool counts a conversion when its event fires, which does not happen for shoppers who declined consent, blocked the script, or completed the purchase after the session expired. Refunds and cancellations flow into Shopify and rarely back into analytics. Multi-currency rounding differs. And a sandboxed checkout pixel can miss events that a server-side order record cannot.

The workable policy is to name one source of truth per question and hold it. Shopify owns revenue, orders and conversion rate. Your analytics tool owns traffic, sources, landing pages and on-page behaviour. Never quote a revenue figure from an analytics tool in a room containing somebody with the Shopify dashboard open.

The options, at a glance

Tools covered on this page, ordered by my overall score. Prices read 11 September 2026.
ToolFromFree tierCookiesScore
Absolutely Analytics$9 per monthNo free tier. A 30-day trial of the exact tier you pickedNone, so no consent banner8.9
Microsoft ClarityFree at any volumeThe whole product is freeYes5.9
MatomoFree self-hosted; cloud from €22Yes, the entire on-premise productOptional, and it runs cookieless if configured7.0
Google Analytics 4Free with paid GA360 quotedYes, the standard product is freeYes, so consent is required in the EU and UK4.4
Plausible Analytics£9 per monthNo, but the community edition is free to self-hostNone, so no consent banner8.0
ContentsquareFree then from $39Yes, 200,000 monthly sessions on one projectYes5.7

The rest of the field

Absolutely Analytics

8.9/10Privacy-first and cookieless

The storefront companion: one 1,270-byte cookieless tag, no banner in front of your shoppers, with click, scroll and attention maps from $14 and session replay that masks every input in the browser before it is transmitted.

From $9 per month · None, so no consent banner · Full review →

Microsoft Clarity

5.9/10Heatmaps and session replay

Free at any volume with a Shopify app, and the cheapest way to get recordings and heatmaps on your product pages. It sets cookies and needs a consent banner, which on a storefront is a real cost.

From Free at any volume · Yes · Full review →

Matomo

7.0/10Open source and self-hosted

The most complete ecommerce reporting outside an enterprise contract: product-level reports, abandoned cart analysis and multi-channel attribution, free if you self-host it.

From Free self-hosted; cloud from €22 · Optional, and it runs cookieless if configured · Full review →

Google Analytics 4

4.4/10Enterprise suites

Effectively required if you buy Google Ads, and Shopify supports the integration natively. Expect consent loss and treat its revenue figures as secondary to Shopify's.

From Free with paid GA360 quoted · Yes, so consent is required in the EU and UK · Full review →

Plausible Analytics

8.0/10Privacy-first and cookieless

Clean, cookieless traffic and landing-page reporting that anybody in the business can read, with no banner and no configuration.

From £9 per month · None, so no consent banner · Full review →

Contentsquare

5.7/10Enterprise suites

The enterprise answer for large stores: zone-based heatmaps with revenue attached to page areas, and journey analysis built for exactly this problem.

From Free then from $39 · Yes · Full review →

Common questions

Is Shopify's built-in analytics good enough?

For revenue, orders, conversion rate and channel-level attribution, yes, and better than any third-party tool because it computes them from order records rather than a browser tag. It is weak on traffic detail, segmentation and behaviour, which is what a second tool should cover.

Can I add Google Analytics or a heatmap tool to Shopify checkout?

Not as a pasted script. Shopify moved checkout to its extensibility model, and third-party measurement runs through the Web Pixels API, which loads app pixels in a sandbox with a controlled event stream and no DOM access. You can count checkout events; you cannot record or heatmap the checkout itself.

Why do my Shopify and analytics numbers disagree?

Shopify counts an order when the order record is created. An analytics tool counts a conversion when its event fires, which misses shoppers who declined consent, blocked the script or converted after the session expired. Refunds also flow into Shopify and rarely back into analytics. Treat Shopify as the source of truth for revenue.

Do I need a cookie banner on my Shopify store?

If your analytics or advertising tags set cookies, yes, in the UK and EU. A cookieless analytics tool avoids the prompt for analytics purposes. On a store that is worth more than elsewhere, because the banner sits between a shopper and the product, and Shopify's revenue reporting does not depend on the tag anyway.

Related guides

Everything above is my own opinion, formed from published vendor documentation and pricing read on 11 September 2026. There are no affiliate links on this site and no vendor has paid to appear. Corrections welcome.