Skip to content

Case study · In development

Edition – DataLayer & Tracking

A Shopify app that gives a store one complete data layer across storefront and checkout, and delivers every event to the ad and analytics platforms it uses, from the browser and from the server, and only after the visitor has consented.

Tracking platform · Shopify appIn development

11

ad & analytics platforms

Edition – DataLayer & Tracking

2026 · Built at Edition

Year
2026
Role
Solo developer
Built at
Edition
Type
Tracking platform · Shopify app
Status
In development
  • Next.js
  • TypeScript
  • Polaris
  • PostgreSQL
  • Prisma
  • Redis
  • BullMQ
  • Shopify Web Pixels
  • Google Tag Manager
  • Docker

The challenge

Ad platforms run on conversion data, but browser tracking keeps losing it to ad blockers, Safari's cookie limits and bots. Setting up Google Tag Manager by hand for every store and every market is slow and easy to get wrong. And all of it has to respect the visitor's consent.

The approach

  1. 01One data layer for storefront and checkout: 22 events, from page views and searches to every checkout step and the purchase, each one switchable per store.
  2. 02Google Tag Manager in one click: the app generates an import-ready container for the store, with every platform's IDs filled in per market and unconfigured tags paused, so nothing fires half set up.
  3. 03Server-side delivery to Meta, GA4, TikTok, Pinterest, Snapchat, Microsoft Advertising, Reddit, X and Klaviyo, carrying the same event ID as the browser copy so each conversion is counted once.
  4. 04Consent first: events wait in the browser until the visitor consents, and the server checks consent again per platform before forwarding anything. Customer details go to the platforms as SHA-256 hashes.
  5. 05A safety net for purchases: if the checkout pixel never fires, the order webhook rebuilds the purchase event from the order, with the same ID, so the conversion still arrives and is never counted twice.
  6. 06Power-ups for data quality: first-party Tag Manager loading, bot and crawler filtering, staff exclusion, a PII guard that scrubs personal data from URLs, and ad click IDs kept for up to 90 days. A status page shows delivery health per platform and how many orders were tracked.

The outcome

Built on Edition's app template and nearly ready for the Shopify App Store. Visitor events are never stored in a database: they are processed as they arrive and forwarded only to the platforms the merchant has connected.

The public collect endpoint does almost no work: it validates a batch of events and queues it in a single Redis call, and background workers do the rest. That keeps it fast on a store's busiest day, while consent, settings and delivery are handled off the request path.

Next case study

Shopify App Template

Read it →

Have a problem worth solving?