Skip to main content
Magento 2 + GooglePlatform solution

Google Ads and GA4 tracking for Magento 2

Google tracking on Magento fails on cached values more than on anything else. A GA4 purchase event with an identical transaction_id across two orders is the signature — and it's a cache fault, not a tag fault, which is why rewriting the tag never fixes it.

Free30 minutesNo obligation

Magento 2 + Google · what breaks

What goes wrong on Magento 2

  1. 01

    Identical values across different orders

    Full-page cache serving stored HTML with a baked-in data layer.

  2. 02

    Some payment methods tracked, others not

    Offsite gateways, iframes and redirects each return the customer differently.

  3. 03

    Store views reporting inconsistently

    Currency, locale and tag configuration can all differ per view and diverge over time.

  4. 04

    Headless frontends where the confirmation isn't Magento

    A PWA or decoupled storefront changes where the event can fire at all.

Magento 2 + Google · the fix

What changes — Magento 2 + Google

  • Purchase sourced from the order record

    Immune to caching by construction.

  • Every payment return path covered

    Tested individually, because they genuinely differ.

  • Consistent behaviour across store views

    One configuration, verified per view.

Magento 2 + Google · architecture

How the Google destinations behave on Magento 2

The cached-value problem shows up in Google data as duplicated or impossible transaction IDs.

  1. 1

    transaction_id must be the increment ID

    And must differ between orders — if it doesn't, you've found the cache.

  2. 2

    Compare two orders' payloads

    Identical values across different orders is the diagnosis, not a symptom.

  3. 3

    Currency per store view

    Views can differ, and a site-wide constant mixes them.

  4. 4

    Enhanced Conversions from the order

    Rather than a DOM that may be cached.

  5. 5

    Per-view conversion reporting

    So a broken view is visible.

Magento 2 + Google · diagnose

Where Magento 2 tracking breaks, in diagnostic order

Each check rules out a class of cause, so by the last one there is usually a single explanation standing.

  1. 01

    Compare two different orders' data layer values

    Identical means cache, and that's the whole diagnosis.

  2. 02

    Segment the gap by payment method

    One method dominating names the cause.

  3. 03

    Segment by store view

    Configuration drift is common and invisible in aggregate.

  4. 04

    Check which blocks are cached

    And which are private content.

  5. 05

    Match a closed week on increment ID

    Against each platform's purchase count.

Magento 2 + Google · prove

The QA evidence — Magento 2 + Google

Run on Magento 2 specifically, on a live conversion rather than in preview mode.

Source of truth

your Magento order records, matched on increment ID

  • Two different orders confirmed carrying different values, not cached ones.
  • Every payment method's return path tested with a real order.
  • Each store view verified individually.
  • Purchase count reconciled on increment ID for a closed week.
  • A credit memo issued and confirmed reversing.
  • Reconciled over a fully closed window, matched per record rather than on totals.
  • Re-checked 30 days later, and after any platform update.

Magento 2 + Google · free audit

What we check in the free audit

  • Compare two different orders' data layer values
  • Segment the gap by payment method
  • Segment by store view
  • Check which blocks are cached
  • Match a closed week on increment ID

Checked against

your Magento order records, matched on increment ID

Get my free conversion tracking audit

Free30 minutesNo obligation

Magento 2 + Google · when not to buy

When you don't need this on Magento 2

Worth reading before you buy anything, from us or anyone.

  • If two consecutive orders produce different, correct payloads and your counts reconcile, you don't have the Magento cache problem and this page isn't describing your site.
  • A single store view with one payment method is a much simpler situation than this page assumes. Reconcile first.
  • Moving purchase to the order observer is standard Magento development. If you have a Magento developer, they can do it.
  • Headless Magento makes server-side more obviously necessary, not more expensive — the same observer is the source either way.

Magento 2 + Google · what we deliver

What gets built for Google on Magento 2

  • GA4 ecommerce events in the recommended shape

    Correct names, transaction_id present, currency per order, an items array that agrees with the value.

  • Click identifiers captured and persisted

    gclid, gbraid and wbraid — not just the first, because iOS traffic arrives with the others.

  • Enhanced Conversions from the data layer

    Not from CSS selectors, which break on every redesign silently.

  • Conversion action settings reviewed

    Counting, primary status and attribution window — free to change and more consequential than most tag work.

Written guarantee

95%+ tracking accuracy

Measured against your Magento order records, matched on increment ID. Miss it and we keep working at no cost.

Get my free conversion tracking audit

Pricing

Pick the package that fits your ad spend

Browser-side starter

$400One-time fee · lifetime ownership

Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.

  • Root cause fixed, not worked around
  • Verified on a live conversion
  • Reconciled against your own records
  • Written handover
Fix what I have

1st-party server-side

Recommended

$800One-time fee · most popular

Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.

  • First-party server container on your own subdomain
  • Money events from your records, not the browser
  • Deduplicated on a shared event ID at every destination
  • First-party cookies beyond Safari's 7-day cap
  • 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Rebuild it server-side

Full 1st-party stack

$1,800One-time fee · lifetime ownership

Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.

  • Everything in 1st-party server-side
  • Pinterest, Snapchat, Reddit and LinkedIn CAPI
  • CRM and offline conversion loop
  • Refunds and cancellations corrected wherever each platform allows it
  • Monitoring on every destination
Get the full stack

FAQ

Magento 2 + Google questions, answered

Full-page cache. The second customer received the first customer's cached page, including the baked-in data layer.

Free · 30 min

Get Google Ads and GA4 right on Magento 2

Free30 minutesNo obligation