E-commerce Analytics Without Cookies: Carts, Checkouts, Revenue
Track product views, add-to-carts, and completed checkouts without third-party cookies or consent walls — and still attribute revenue to the right channel.
E-commerce was supposed to be the sector that could never go cookieless — too much depends on funnels, attribution, and remarketing. Then consent banners started deleting 30–50% of the funnel data anyway, and the question inverted: not 'can we afford to drop cookies?' but 'what exactly were the cookies still buying us?'. For analytics — as opposed to ad retargeting — the honest answer in 2026 is: almost nothing you cannot rebuild first-party.
What a cookieless funnel looks like
The standard e-commerce funnel maps cleanly onto first-party events:
// Product page
window.webanalytics.track('product_viewed', {
sku: 'SKU-1042', category: 'shoes', price: 89,
});
// Add to cart
window.webanalytics.track('cart_added', {
sku: 'SKU-1042', price: 89, cart_value: 89,
});
// Checkout started
window.webanalytics.track('checkout_started', {
cart_value: 153, items: 2,
});Within a session — which cookieless analytics tracks fine — the funnel is complete: view → cart → checkout → purchase, with drop-off rates per step, per source, per device. No persistent identifier required.
The purchase: always server-side
Order confirmations belong in a webhook, not a thank-you-page pixel — payment redirects and closed tabs lose client-side purchase events exactly when accuracy matters most:
// Shopify/your-platform order webhook
await fetch('https://clycyo.com/api/collect', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
tracking_id: process.env.CLYCYO_TRACKING_ID,
type: 'event',
visitor_id: order.clycyo_visitor_id, // captured at checkout
event_name: 'order_completed',
event_properties: {
revenue: order.total, currency: order.currency,
items: order.line_items.length,
order_id: order.id,
},
}),
});Capture window.webanalytics.getVisitorId() into a hidden checkout field or your order metadata, and the webhook joins the purchase to the whole journey — the same pattern as SaaS revenue tracking.
Attribution without cross-site tracking
Channel attribution never needed third-party cookies — it needed disciplined UTMs and first-touch capture on the visitor record. Tag every campaign, email, and social link; the first pageview stores the source; the order webhook inherits it. Revenue by channel, campaign, and landing page — all first-party.
What you genuinely lose without cookies is cross-site, multi-week individual tracking: the visitor who browsed anonymously in January and bought in March may count as two people. Accept the trade consciously: complete, banner-free data on everyone versus fragile long-window stitching on the minority who clicked 'accept'.
The conversion bonus nobody budgets for
- No consent banner on the buying path. Every interruption costs checkout conversion; removing the banner is a small, free CRO win.
- A lighter page. Replacing a tag-manager stack with a 1.1 KB tracker improves mobile LCP on product pages — and speed is conversion nowhere more than in retail.
- Performance data per visit: Clycyo records load time on the same record as the funnel events, so 'checkout is slow on Android' stops being a support-ticket rumor and becomes a filtered report.
Migration order for a store
- Install the tracker alongside your current stack (no banner change — it is cookieless).
- Add the four funnel events to your theme/templates.
- Wire the order webhook with the visitor ID.
- Run two weeks in parallel; compare funnel and revenue totals; then decide what the old stack still earns.
Start on the free tier — for most stores, 10,000 events covers the evaluation comfortably.