# server-side pixel tracking for Shopify stores — AdsMetri

A server-side conversion pixel for Shopify stores that forwards every purchase to Meta's Conversions API without double-counting, plus a dashboard section that proves each sale actually arrived.

Type: project

Published: 2026-08-29

[Original page](<https://artlu.ai/project/server-side-pixel-tracking-for-shopify-stores-adsmetri>)

[Browse this group](<https://artlu.ai/ai/groups/adsmetri.md>)

Parent project: AdsMetri

Recorded status: launched

Updated: 2026-09-16T18:07:45.103Z

Technologies: TypeScript, Node.js, Shopify API, Meta Graph API, MySQL, Drizzle

## Details

**What is it?**
Tracking that doesn't depend on the shopper's browser. Purchases are reported from the server, so ad blockers and browser privacy settings stop silently deleting a store's conversion data.

**What it does**
- A web pixel pipeline for Shopify with a settings screen and a per-store switch
- ViewContent, AddPaymentInfo, and Search events alongside purchases
- A first-party page-view path served from the store's own theme
- A Store Tracking dashboard section confirming every sale was sent to Facebook, with the shopper journey from visit to purchase
- The tracking code's own notes can never appear as visible text on the shop

**How it works**
Forwarding to the Conversions API is idempotent — the same purchase used to be sent to Meta twice, which corrupted the numbers it was meant to fix. A fallback that sent browser-side purchase values was removed because it broke Meta's own deduplication. Purchase values are reconciled to the shop's currency and written in UTC, so a store selling in several currencies doesn't report inflated revenue. Browser reports are aimed only at this pixel, never at another app's.

**Built with**
TypeScript and Node.js, the Shopify API, Meta's Graph and Conversions APIs, MySQL with Drizzle.

## Links

[Site or demo](<https://adsmetri.com/>)


Status and dates describe the published record, not a recent test of an external service. Missing details are not inferred. Public links do not imply an open-source licence or permission to reuse material.

[Directory](<https://artlu.ai/llms.txt>)
