Google Ads and GA4 tracking for BigCommerce
The Google side on BigCommerce is usually fine at the tag level and wrong at the settings level — plus the recurring question of whether the native GA4 connection and a container are both sending. Two sources feeding one conversion action is a common and invisible configuration error here.
Free30 minutesNo obligation
BigCommerce + Google · what breaks
What goes wrong on BigCommerce
- 01
Purchase count higher than order count
The native integration and a Script Manager pixel both sending.
- 02
Forgotten Script Manager entries
Tags added months ago still firing, unaudited.
- 03
Low match quality from the native path
Thin parameter coverage caps it regardless of your data.
- 04
Refunds never reversed
Not by the native path, and not by most app integrations.
BigCommerce + Google · the fix
What changes — BigCommerce + Google
One conversion per order
Deduplicated on the BigCommerce order ID.
Match quality at 8 or above
From customer data on the order record.
Refunds reversed
So revenue can fall as well as rise.
BigCommerce + Google · architecture
How the Google destinations behave on BigCommerce
Check for two sources feeding one conversion action before touching anything else.
- 1
One source per conversion action
Native GA4 connection plus a container is a common double-feed.
- 2
transaction_id as the BigCommerce order ID
Not a generated value.
- 3
Counting set to every
For ecommerce.
- 4
Enhanced Conversions from the order
Customer data is on the record; use it.
- 5
Script Manager audited
Old Google tags still firing is routine here.
BigCommerce + Google · diagnose
Where BigCommerce 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.
- 01
Compare orders to platform purchases on order ID
For a closed week.
- 02
Read the Deduplicated indicator
Its absence with two live paths is the diagnosis.
- 03
List every Script Manager entry
Including ones nobody recognises.
- 04
Check match quality per event
Purchase specifically.
- 05
Test a refund
It almost never reverses.
BigCommerce + Google · prove
The QA evidence — BigCommerce + Google
Run on BigCommerce specifically, on a live conversion rather than in preview mode.
Source of truth
your BigCommerce order records
- Only one system confirmed sending purchase, on a live order.
- Order ID present as the deduplication key at every destination.
- Purchase count within a few percent of BigCommerce orders for a closed week.
- Match quality at 8 or above on Purchase.
- A real refund tested 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.
BigCommerce + Google · free audit
What we check in the free audit
- Compare orders to platform purchases on order ID
- Read the Deduplicated indicator
- List every Script Manager entry
- Check match quality per event
- Test a refund
Checked against
your BigCommerce order records
Free30 minutesNo obligation
BigCommerce + Google · when not to buy
When you don't need this on BigCommerce
Worth reading before you buy anything, from us or anyone.
- If you're a smaller store using only the native connections and your counts reconcile, that's a legitimate setup and you don't need a container.
- The native integrations are free. The three things that justify leaving them are deduplication control, refund handling and richer customer parameters. If none apply, stay.
- Adding a container without removing the native connection is worse than either alone. If you can't complete the migration, don't start it.
- Reconcile a closed week on order ID first — it's an hour and it tells you whether there's a problem.
BigCommerce + Google · what we deliver
What gets built for Google on BigCommerce
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 BigCommerce 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
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
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
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
FAQ
BigCommerce + Google questions, answered
They can, and that's usually a mistake. Two sources feeding one conversion action double-counts.
The BigCommerce order ID, not a generated value that can't be reconciled.
Check the diagnostics report. On BigCommerce it's usually reading from selectors rather than the order record.
Every, for ecommerce.
Free · 30 min
Get Google Ads and GA4 right on BigCommerce
Free30 minutesNo obligation
