ecommerce.dev
§ 01 · Tracking & analyticsecommerce.dev
/what-we-build / tracking

Numbers you can trust, from click to conversion to COGS.

Client-side tracking is lying to you more every year. iOS 14, ad blockers, third-party cookie deprecation — the gap between what your ad platforms report and what your store actually sees is widening. We fix that gap.

The attribution gap · what we observe
30-day window
Meta reports attributed rev.
$200K
Shopify recorded orders.
$140K
Δ attribution gap
iOS 14 · ad blockers · client-side signal loss.
$60K
§ 02 · Tracking workecommerce.dev

What tracking work actually covers.

Five working areas, each a specific capability. Most engagements touch two or three — a store with client-side-only tracking usually needs server-side plus an audit pass before the numbers settle down.

01
Area
Client-side tracking
Browser · GTM · dataLayer

Google Tag Manager configuration, gtag.js implementation, dataLayer architecture, ecommerce events wired to your actual business logic. Not "install the GA plugin and hope" — real dataLayer design that matches what your store does.

GTM
Container build · tag hygiene · version mgmt
dataLayer
Event schema matched to store logic
gtag.js
Direct implementation when GTM is wrong fit
Events
view_item · add_to_cart · begin_checkout · purchase
02
Area
Server-side tracking
GTM-SS · CAPI · Measurement Protocol

Google Tag Manager Server-Side via Stape or self-hosted. Meta CAPI with proper event deduplication. GA4 Measurement Protocol for events client-side can't reliably capture. Server-side as the source of truth, client-side reduced to what it needs to be.

Stape
Managed GTM-SS · clean deployment
Self-host
Own your stack · when Stape isn't the answer
Meta CAPI
Event dedup · enhanced matching · quality
Multi-plat
TikTok · Pinterest · LinkedIn server-side
Event flow · server-side as source of truth
BROWSER
gtag.js / GTM
GTM-SS
Stape or self-host
META CAPI
deduped · event_id
GA4
Measurement Protocol
03
Area
Ecommerce events done right
WooCommerce · Magento · Shopify

Full funnel coverage with proper item-level detail. Platform-specific patterns — Magento 2, WooCommerce, Shopify each have their own conventions. We implement each natively. And when you have real COGS data, we get it into the dataLayer so ad platforms can optimize against profit, not just revenue.

WooCommerce
Native hooks · JS events · order lifecycle
Magento 2
Section-data API · observer pattern
Shopify
Pixel API · checkout extensibility
COGS
Injected into dataLayer · profit-aware
04
Area
Email & marketing automation
Klaviyo · lifecycle · triggers

Klaviyo event wiring, flow triggers, list sync, back-in-stock notifications, abandoned cart recovery. We build the glue between your store and your marketing stack, not just "turn on the Klaviyo integration."

Klaviyo
Event wiring · flow triggers · segment sync
Lifecycle
Abandonment · winback · post-purchase
Events
Back-in-stock · price-drop · browse abandon
Sync
List hygiene · suppression · bidirectional
05
Area
Auditing & debugging
Diagnostic work

When your numbers don't match, we find out why. Tag audits, pixel duplication cleanup, broken-attribution forensics, dataLayer archaeology. We've untangled setups with two Meta Pixels firing, GA4 receiving both standard and hand-rolled events, dead GTM snippets in inactive themes. Always more knotted than the client thinks.

Audit
Tag manager inventory · firing diagnosis
Dedup
Find + remove duplicate pixels · consolidate
Forensics
Why the numbers don't match, explained
Archeology
Legacy snippets · inactive themes · ghost code
§ 03 · Why this mattersecommerce.dev

If your ad-platform numbers don't match your store, there's a reason.

iOS 14.5 broke a lot of client-side tracking. Ad blockers break more. Third-party cookie deprecation will finish the job. When your Meta reports $200K in attributed revenue and Shopify shows $140K for the same period, the gap isn't a mystery — it's the measurable cost of relying on a tracking model the browser and the OS are actively dismantling.

Server-side tracking doesn't solve every problem, but it closes most of the gap. Doing it right — with proper event deduplication, correct COGS injection, clean pixel architecture — is the difference between "tracking works" and "tracking tells you the truth."

§ 04 · Representative workecommerce.dev

Tracking work we've shipped.

All tracking cases
§ 05 · How this gets pricedecommerce.dev

Most tracking work fits the tiers. Migrations price fixed.

No discovery retainers, no hourly billing.
01 / SKU
Quick Fix
$250
An hour or two of focused work. Self-contained problems with clear scope.
A checkout button that stopped working
· A plugin conflict
02 / SKUMost tickets
Standard Fix
$450
Three to four hours of skilled work. Most tickets land here.
A tracking audit with findings
· A Cloudflare rule set up right
03 / SKU
Complex Fix
$950
Multi-layered work across systems. Coordinated changes, real depth.
A Redis + PHP-FPM tuning pass
· A server-side tracking migration
04 / SKU
Emergency
any tier
Same-day turnaround on qualifying incidents.
Checkout down
· Site hacked
Tailored engagement
Full platform migrations, multi-region tracking setups, ongoing ownership — priced fixed.
Full pricing
Open a ticket
Quick check-in, then we work.
Open a Ticket →
§ 06 · Check your numbersecommerce.dev

Not sure if your tracking is telling you the truth?

Open a ticket. We'll take a look, tell you what we see, and tell you which tier a fix lands in.