Get your Magento / Adobe Commerce tracking to 95%+ accuracy guaranteed in writing.
Most Magento stores fire Purchase events with the wrong content_id, double-count revenue across store views, and run so much front-end JS that bouncers never trigger any tag at all. Meanwhile your ad platforms are paying for invisible conversions and skipping the ones that converted. We ship a composer module + server-side stack that survives core upgrades and actually works at scale.
Free30 minutesNo obligation
Magento / Adobe Commerce · what breaks
What breaks on Magento by default
- 01
Heavy front-end, slow tag firing
Magento's full-page cache + heavy JS often delays GTM enough that bounces miss tags entirely.
- 02
Multi-store double-counting
Most multi-store setups share a single GTM, so cart events fire across stores and inflate.
- 03
Configurable products break content_id
Catalog matching needs the parent SKU, not the simple — most setups send the wrong one.
- 04
Custom checkout extensions break events
One-page checkout customizations regularly break the default checkout dataLayer.
Magento / Adobe Commerce · the fix
What we fix — Magento / Adobe Commerce
Module-based dataLayer
Composer-installable module that survives core upgrades.
Store-view aware events
Events tagged with store_view, currency, and customer_group so multi-store and B2B work cleanly.
Server-side CAPI + EC + TikTok
Full advanced matching, dedup, modeled conversions.
Page-Builder & PageSpeed safe
Async-loading dataLayer that doesn't tank Core Web Vitals.
Magento / Adobe Commerce · architecture
How a Magento and Adobe Commerce order should reach the ad platforms
Magento gives you more control than any hosted platform and correspondingly more ways to get it wrong. Multi-store views, complex product types and a heavily customized checkout all change what a conversion even means.
- 1
Click identifiers captured at first touch
Click IDs are captured at landing and persisted through the session, then written to the order as an extension attribute, so attribution survives a checkout that may span several controllers and a payment redirect.
- 2
The browser sends the fast, fragile copy
The browser fires browsing and cart events from the data layer. On a customized Magento checkout the browser path is the least reliable part of the stack, because the success controller is often overridden.
- 3
The order itself is the source of truth
The sales_order_place_after observer, or the order placement event in the API, is the truth. The checkout success page is frequently customized, redirected or skipped entirely by third-party payment modules.
- 4
A server container sends the authoritative event
An observer posts the placed order to a GTM server container on your own subdomain, keyed on the increment ID.
- 5
Customer identity raises match quality
The order carries the customer email, telephone and full billing address. Hashed server-side, these are what make Enhanced Conversions and CAPI match quality work on a platform where browser-side identity is often unavailable.
Magento / Adobe Commerce · events
The event set we build on Magento and Adobe Commerce, and where each one comes from
Magento's product types complicate the item payload more than any other platform: configurable, bundle and grouped products each need a deliberate decision about which SKU is reported.
| Event | Fires when, on Magento and Adobe Commerce | Key parameters | Sent from |
|---|---|---|---|
| view_item | The product view controller renders, with the parent or child SKU decided deliberately | item_id, value, currency, event_id | Browser + server, deduped |
| add_to_cart | checkout_cart_add_product_complete fires | item_id, quantity, value, currency, event_id | Browser + server, deduped |
| begin_checkout | The checkout controller loads with a non-empty quote | value, currency, num_items, event_id | Browser + server, deduped |
| purchase | sales_order_place_after fires against the placed order | order_id, value, currency, items[], hashed email/phone/name/address, event_id | Server authoritative |
| refund | A credit memo is created | order_id, value, currency | Server only |
Magento / Adobe Commerce · normal or broken
Magento-specific confusion and real breakage
On Magento, most of what looks like a tracking fault is a customization nobody documented.
Normal, not a fault
Configurable products reporting the parent SKU
This is a decision, not a bug — but it must match your Merchant Center feed. Reporting one and feeding the other is what actually breaks.
Full page cache serving cached blocks
Magento's FPC is aggressive by design. Dynamic values have to be delivered outside the cached block, which is expected architecture rather than a fault.
Ad platforms report more conversions than you have orders
Meta credits a 7-day click and 1-day view; Google credits on click date. Two platforms can each claim the same sale. Compare each one to your order records separately and never add them together.
Recent days always look worse than they finish
Conversions are credited back to the date of the click, so yesterday's return on ad spend is understated and will keep improving for several days. This is attribution working, not data arriving late.
Actually broken
Purchase tracked on the checkout success page after a payment module overrode it
Third-party payment modules routinely replace or bypass the success controller, and the tracking dies silently at the same moment.
Full page cache baking one customer's order values into a cached block
Every subsequent visitor reports the same order. The event count looks healthy and every value is wrong.
Multi-store views all reporting into one property with no store dimension
Per-store performance becomes unmeasurable, and currency differences between views quietly corrupt the value totals.
Bundle products reporting the bundle price against child SKUs
Reported item revenue and actual revenue diverge, and the divergence grows with bundle sales.
Magento / Adobe Commerce · prove
How we prove the Magento and Adobe Commerce build is correct
The tag firing proves the tag fires. These prove the numbers are right.
Source of truth
Magento sales_order records
- The purchase confirmed firing from sales_order_place_after, not from the success page, tested against a payment module redirect.
- Full page cache tested warm, confirming no order values are baked into cached output.
- Store view and currency handling verified across every active view.
- Purchase count within a few percent of magento sales_order records for a fully closed week, matched on order ID rather than on totals.
- No order ID appearing twice in any platform's event log.
- Deduplication confirmed at every destination that supports it.
- Test and staff orders excluded, with the exclusion confirmed active rather than merely configured.
- The same reconciliation repeated 30 days later, because a setup that works once and then drifts is the harder failure to catch.
Magento / Adobe Commerce · free audit
What we check in the free audit
- Heavy front-end, slow tag firing
- Multi-store double-counting
- Configurable products break content_id
- Custom checkout extensions break events
Checked against
Magento sales_order records
Free30 minutesNo obligation
Magento / Adobe Commerce · when not to buy
When a Magento and Adobe Commerce rebuild is not what you need
We would rather say this now than three weeks into an engagement.
- You run a single store view with the stock checkout and a small ad budget. A well-configured module will serve you.
- You are mid-replatform or mid-upgrade to a new Magento major version. Rebuild after.
- Your team has no Magento developer available. The server-side pieces need someone who can safely deploy an observer.
Magento / Adobe Commerce · what we deliver
Deliverables — Magento / Adobe Commerce
Magento composer module
Source + license
Server-side GTM container
Subdomain or Stape
Meta CAPI + Google EC
EMQ 8+ verified
GA4 e-com events
Schema-clean
QA + Notion runbook
Plus 30-day support
Written guarantee
95%+ tracking accuracy
Measured against Magento sales_order records. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Baseline pixel install for Adobe Commerce. Honest disclosure: at enterprise scale this tier is a stopgap — every paid-media dollar should be running 1st-party server-side. Only suitable when ad spend is genuinely small.
- Adobe Commerce-aware dataLayer
- GA4 + Meta Pixel + Google Ads + TikTok + UET
- Consent Mode v2 wiring
- QA + 14-day support
- No CAPI · no iOS recovery
1st-party server-side
Recommended for paid ads$800One-time fee · most popular
Standard for Adobe Commerce stacks running serious paid media. Every channel — Meta, Google, TikTok, Microsoft — fed 1st-party server-side. Multi-store / multi-region aware. EMQ 8+ verified live before handoff.
- Everything in browser starter
- 1st-party server-side GTM (Stape Pro or self-hosted)
- Meta CAPI · Google EC · TikTok Events · UET server
- Deterministic browser ↔ server dedup
- Multi-store / multi-region routing
- Live EMQ verification · 8+ target
- Notion runbook + 30-day support
Enterprise 1st-party stack
$1,800One-time fee · lifetime ownership
Full enterprise stack for high-volume Adobe Commerce brands. Every channel 1st-party server-side, identity graph, data warehouse, EU + US residency, and a quarterly attribution review with leadership.
- Everything in 1st-party server-side tier
- Pinterest · Snapchat · LinkedIn · Reddit CAPI
- Klaviyo / CDP identity stitching
- BigQuery export + Looker Studio dashboard
- EU + US data residency (Stape EU / GCR europe-west)
- GDPR / CCPA / CPRA audit-clean
- Quarterly health check + leadership review
- 90-day support · retainer optional
FAQ
Magento / Adobe Commerce questions, answered
Yes. Customer-group, shared catalog, and quote-flow events handled.
We ship a versioned composer module. Standard Magento upgrade path.
More on Magento / Adobe Commerce
- GuideMagento (Adobe Commerce) Conversion Tracking: GTM, dataLayer and Webhooks
- GuideWhat an Ecommerce Tracking Rebuild Actually Involves (Start to Finish)
- Magento / Adobe CommerceRepairing purchase tracking on Magento and Adobe Commerce
- Magento 2 trackingConversion tracking for Magento 2
- Magento 2 server-sideServer-side tracking for Magento 2
