---
title: "Shopify analytics without cookies — SealMetrics integration"
description: "Install SealMetrics on Shopify with the Pixel app and theme embed. Cookieless analytics, server-confirmed purchases and no analytics consent banner."
canonical_url: "https://sealmetrics.com/platforms/shopify/"
lang: "en"
date_modified: 2026-05-29
content_type: "implementation"
owner: "engineering"
llm_priority: "critical"
last_verified: "2026-05-29"
source: https://sealmetrics.com/platforms/shopify/
publisher: SealMetrics
---

Platform — Shopify

# Shopify analytics. *No banner.*

One app, one theme embed, any Shopify plan. Full e-commerce funnel coverage from pageview to order confirmation. Aggregate channel revenue reconciled to the Shopify backend within 15–20%.

TL;DR

SealMetrics connects to Shopify through the SealMetrics Pixel app (OAuth, from your SealMetrics dashboard) and a Theme App Extension you enable as an app embed — the same install on any Shopify plan, no Plus/Standard split. The tag is cookieless and first-party (no consent banner required for analytics) and covers the full funnel: pageview, view_product, add_to_cart, initiate_checkout — with the purchase confirmed server-side via Shopify’s orders/create webhook, not from the browser. Aggregate channel revenue reconciles with Shopify Analytics totals within 15–20% (the gap is taxes, discounts and gift cards handled differently between systems); SealMetrics does not store the Shopify order ID externally, so reconciliation is at the aggregate level, not a row-by-row join.

- **One install path** — Pixel app + theme app embed, every Shopify plan.
- **Full funnel coverage** from pageview to a server-confirmed purchase.
- **Aggregate reconciliation** within 15–20% of Shopify Analytics totals.
- **No banner** required for the analytics layer — cookieless first-party server-side.

## Install on Shopify

One install path for every Shopify plan that allows app embeds — no distinction between Plus and Standard.

Step 1 — Connect the app

1. In the SealMetrics dashboard, go to Settings → Integrations → Shopify.
2. Select the site you want to connect and enter your Shopify domain.
3. Click **Connect Shopify** and authorize the SealMetrics Pixel app — this registers the conversion webhook automatically.

Step 2 — Activate the tracker

1. Copy your **Account ID** from the connected Shopify card in the dashboard.
2. In Shopify, open the theme editor → Theme → App embeds, and enable **Sealmetrics Analytics**.
3. Paste your Account ID into the embed’s field and save.

The embed loads the SealMetrics loader by account:

```

```

The loader injects the tracker, writes SealMetrics session attributes to the cart, and sets up the microconversion listeners below. No shopper-facing UI is rendered — the tracker is invisible by design.

## Events captured

No custom event configuration required — the events below flow automatically once the app embed is active and the conversion webhook is registered.

| SealMetrics event | Maps to | What it carries |
| --- | --- | --- |
| pageview | Automatic | Fires on every page load via the SealMetrics tracker. |
| view_product | view_item (GA4 equivalent) | Product page load. Product name, SKU, price, currency, ID. |
| add_to_cart | add_to_cart | Intercepts /cart/add requests. Product, price, quantity, currency. |
| initiate_checkout | begin_checkout | Fires once per checkout attempt — cart submit, checkout button, or Buy Now. |
| purchase | purchase | Confirmed server-side via Shopify's orders/create webhook. Revenue, currency, line items. |

All events are aggregate-anonymous: no customer email, no checkout email, no IP address, no fingerprint stored, and the order ID is not stored externally. What is captured is what is needed for channel attribution and revenue reporting — line items, revenue, currency, channel and landing page.

## Order reconciliation with Shopify

The number that matters in a CFO review is whether the marketing dashboard ties to the Shopify backend. SealMetrics is built to reconcile at two levels:

### Aggregate level

Weekly and monthly aggregate revenue reported by SealMetrics typically lands within **15–20%** of Shopify Analytics. The residual gap is shipping discounts, taxes and gift-card credits handled differently between the two systems — not measurement error.

### Why not order-by-order

SealMetrics does not store the Shopify order ID externally — that’s deliberate, part of the same privacy-first design that keeps the analytics layer cookieless. Reconciliation happens at the aggregate/channel level instead, which is also where the marketing decisions actually get made.

For the wider argument about what complete-data reconciliation enables for CFO and board reporting, see the [complete data pillar](https://sealmetrics.com/complete-data/).

## Related reading

[eCommerce

### Cookieless analytics for eCommerce

The Shopify reconciliation pattern in full editorial detail.](https://sealmetrics.com/blog/cookieless-analytics-for-ecommerce/)[Use case

### GA4 migration — 30-day parallel plan

How to run SealMetrics alongside your existing GA4 install without breaking Google Ads.](https://sealmetrics.com/use-cases/ga4-migration/)[Pillar

### Cookieless analytics

Why the architecture works, what it captures, and what it deliberately does not.](https://sealmetrics.com/cookieless-analytics/)

## Common Shopify questions

Does SealMetrics work on Shopify Standard or only Plus?

Any Shopify plan that allows app embeds — there's no Plus/Standard distinction. You connect the SealMetrics Pixel app from your SealMetrics dashboard (OAuth), then enable the "Sealmetrics Analytics" app embed in your theme and paste your Account ID. Same install, same event coverage, on every plan.

How does it reconcile with Shopify Analytics?

Aggregate channel revenue reported by SealMetrics typically lands within 15–20% of Shopify Analytics totals — the gap is shipping, discounts, taxes and gift-card credits handled differently between the two systems. SealMetrics does not store the Shopify order ID externally, by design, so reconciliation is at the aggregate/channel level, not a row-by-row join.

Does it replace Shopify's native analytics?

No. Shopify Analytics stays — it is the operational view for the merchandising team (which products are selling, which collections are converting, which discount codes are working). SealMetrics replaces the marketing-side analytics (which channels and campaigns drove the revenue). They answer different questions on overlapping data.

What happens with the existing Google Analytics on my Shopify store?

Run both in parallel. GA4 keeps firing for Google Ads conversion import and for any GTM container you already have. SealMetrics installs alongside without touching GA4. After 30 days, most teams move strategic decisions to SealMetrics and keep GA4 as the Google Ads conduit. The full migration plan lives on /use-cases/ga4-migration.

Does it track the purchase on checkout.shopify.com (Shopify-hosted checkout)?

Yes. The purchase itself is confirmed server-side: when an order is placed, Shopify sends an orders/create webhook to SealMetrics with the revenue, currency and line items. No script needs to load on checkout.shopify.com at all — the browser-side loader only needs to see the funnel up to initiate_checkout.

What about Shopify Markets and multi-currency?

Multi-currency stores are supported. Revenue is recorded in the original transaction currency and converted to a reporting currency using daily ECB rates. Shopify Markets storefronts behave as separate properties or as one rolled-up property depending on how the account is configured.

## Connect the app. *See real channel revenue* this week.

Book 30 minutes with the founder. We install on your Shopify store live, run the first reconciliation against your CRM, and you keep the dashboard.

[Book a demo →](https://sealmetrics.com/demo/)[Start 14-day trial](https://my.sealmetrics.com/register)

Built by a founder · supported by a founder · EU-hosted by design
