← All work
TixelsAD TRACKING & ATTRIBUTION FOR SHOPIFY
E-commerce & ShopifyPre-launchtixels.io

Tixels

A Shopify app that re-sends every store event server-side from a Cloudflare edge worker to nine ad platforms, so ad blockers and cookie limits can't hide conversions — plus one dashboard for pixel health and attribution.

9 platforms
server-side, in parallel
~3KB tracker
size-checked on every build
Counted once
de-duplicated in three layers

The problem

Ad platforms increasingly can't see conversions — ad blockers, Safari's cookie limits, and browser-side pixels all lose events, so merchants under-report sales to the very platforms they're paying. Tixels moves tracking server-side.

What it does

A tiny tracker on the store records what shoppers do — browsing, checkout — and sends it on to the ad platforms from a server rather than the shopper's browser, so the sales that ad blockers and privacy settings usually hide still get counted. It fans each event out to nine major ad and marketing platforms in parallel.

The data lands in the merchant's own analytics store with personal details stripped out, and a dashboard shows whether each pixel is healthy, a live feed of activity, and which ads actually drove sales — with several attribution models to compare, not just each platform's own self-serving count.

Key features

  • Recover the sales ad blockers hide

    Conversions lost to ad blockers and cookie limits are re-sent server-side, so the ad platforms see the sales a merchant is actually paying to generate.

  • Nine platforms, one integration

    Meta, Google, TikTok, Snapchat, Pinterest, GA4, Klaviyo, Reddit and X are each wired up server-side, so a merchant sends clean conversion data everywhere without nine separate setups.

  • One dashboard instead of six ad accounts

    Pixel health, a live event feed and cross-channel attribution live in one place, so a small merchant isn't logging into every ad platform to piece the picture together.

  • Compare attribution models honestly

    Last-click, first-click, linear, time-decay and more sit side by side, so budget decisions rest on a fuller picture than any single platform's own math.

  • Consent-aware by construction

    Shopper personal data only flows with explicit consent, is hashed at the edge, and is stripped before anything is stored — so better tracking doesn't come at the cost of mishandling personal data.

Where it stands

Development complete: the marketing site is live at tixels.io and the pipeline is built and security-hardened, with Shopify App Store submission the remaining step. The documented cost figure is an engineering target for running at scale, not a current bill.

Under the hood — for the technically-minded

How it's built

A Shopify web-pixel extension captures standard checkout and browsing events and the ad-click identifiers that matter, then batches them to a Cloudflare Worker. The Worker deduplicates each event, hashes any consented personal data by each platform's own normalization rules, validates it, and fans it out to nine independently-coded conversions APIs in parallel — writing a durable log and inserting the event, with raw personal data stripped, into a self-hosted ClickHouse database the dashboard reads.

It's deliberately built on cheap, self-owned infrastructure rather than managed analytics products. The tracker is kept tiny with a build-time size check that fails if it grows, and cost is engineered up front — for example, using a storage-backed write-ahead log instead of a managed queue, a decision documented as saving a calculated sum per month at scale for about fifty lines of replay code.

The hard problems

  • Conversions ad blockers and cookie limits can't hide

    Browser-side pixels lose events to ad blockers and Safari's cookie limits, so merchants under-report sales to the platforms they're paying. Re-sending every event server-side, from the edge, is what recovers them.

  • Every platform, one event, counted once

    An event can reach nine platforms and still has to count exactly once. Deduplication happens in three layers — exact dedupe at the edge, a de-duplicating table in ClickHouse, and a shared event ID passed to each platform for its own dedupe — so a single sale is never double-counted across all the destinations.

  • Handling personal data correctly, by construction

    Shopper personal data is captured only with explicit consent, hashed at the edge by each platform's own rules, and stripped before anything is written to disk — the raw values never reach the database.

  • Cost engineered up front

    The tracker is kept deliberately tiny with an automated size gate, and the infrastructure choices — self-hosted ClickHouse, a storage-backed log instead of a managed queue — were made to keep running costs low at scale rather than reaching for the convenient managed option.

Built with

  • Bun
  • Cloudflare Workers
  • ClickHouse
  • Remix
  • Shopify

Building something in this space?

Work with us →