GA4 Conversion Tracking Audit: The Complete 2026 Checklist
Most GA4 properties we audit have at least one serious data problem — duplicate purchases, missing revenue, unfiltered internal traffic, or consent misconfigurations quietly corrupting every report. Bad data leads to bad budget decisions.
Use this 20-point checklist to audit any GA4 setup. Work top to bottom; each layer depends on the one above it.
Layer 1: Property Foundation
1. Correct property & data stream setup
Confirm you’re looking at the right property (not a test or duplicate), and that the web data stream matches the live domain. We’ve seen businesses optimizing off a staging-property feed.
2. Enhanced measurement — intentional, not default
Review which enhanced measurement events are on (page_view, scroll, outbound clicks, site search, form interactions, video engagement, file downloads). Disable anything creating noise, and make sure page_view isn’t double-firing alongside a manual pageview tag.
3. Internal traffic filtered
Define internal traffic rules by IP (Admin → Data streams → [web stream] → Configure tag settings → Define internal traffic), then set the filter to Active (Admin → Data Settings → Data Filters) — Testing only tags traffic without excluding it. Unfiltered office traffic inflates sessions and crushes conversion rates.
4. Developer/staging traffic excluded
Ensure staging, dev, and preview environments don’t send to production. Use separate properties or blocking triggers in GTM.
5. Data retention & Google Signals
Check Admin → Data Settings: retention period and whether Google Signals is enabled — it no longer affects reporting identity (Google removed it in Feb 2024; current options are Blended, Observed, Device-based), but it does enable demographic reporting, which is subject to data thresholds.
Layer 2: Event & Conversion Configuration
6. Every key event marked
In Admin → Data display → Events, confirm each business-critical event — purchase, lead submit, signup — has ‘Mark as key event’ enabled. Unmarked events don’t surface in acquisition/key-event reporting.
7. Consistent event naming
Audit the full event list for duplicates and variants: purchase, Purchase, purchase_complete should not all exist. Standardize on snake_case recommended events.
8. Purchase events carry value & currency
Every purchase must include value and currency parameters. Purchases without values break revenue reporting and value-based bidding downstream.
9. No duplicate purchase events
The classic: purchase fires from both the data layer and a DOM-scraped trigger, or from both web and server GTM without deduplication. Compare GA4 purchase counts to backend orders — they should be close (within a few percent).
10. Micro-conversions configured intentionally
Page views, scrolls, and video plays should almost never be key events. They dilute conversion reporting and, if imported to Google Ads, poison Smart Bidding. Keep key events to real business outcomes.
Layer 3: Tagging Implementation (GTM)
11. Single GTM container, documented
One container per site. Check for rogue hardcoded gtags, old UA snippets, or plugin-injected tags firing alongside GTM — a top source of duplicates.
12. Data layer quality
View source on key pages: is there a clean data layer with transaction details (transaction_id, value, currency, items)? Or is GTM scraping the DOM (fragile, breaks on redesigns)? Server-side-grade tracking starts with a solid data layer.
13. Consent Mode v2 implemented correctly
With a CMP (CookieYes, Complianz, etc.): verify consentMode settings push default states before tags load and update on user choice. Check that denied-consent traffic still sends cookieless pings in Advanced mode (that’s the point of Consent Mode) rather than dropping everything. Note: in Basic mode, tags are blocked entirely until the user consents — no pings at all.
14. Cross-domain tracking (if applicable)
If checkout or booking flows cross domains (shop.com → checkout.shop.com or third-party carts), configure cross-domain measurement — otherwise sessions break and conversions unattributed.
15. DebugView validation
Open DebugView, complete test conversions, and watch events arrive in real time with correct parameters. If you can’t see it in DebugView, reporting won’t have it either.
Layer 4: Reporting Sanity
16. Unassigned & direct traffic share
A sudden spike in (direct) / (none) or Unassigned traffic usually means broken session attribution — missing UTMs, redirect chains stripping parameters, or cross-domain failures.
17. Realtime vs. backend reconciliation
Pick a 7-day window: compare GA4 key-event counts against backend truth (orders, CRM leads). Investigate any gap over ~5–10% — there’s no official benchmark; treat this as a rough agency rule of thumb, not a Google standard.
18. Attribution settings understood
Know your reporting identity and attribution model (Admin → Attribution Settings). Data-driven is the default — make sure stakeholders know what that means before they quote “conversions” in meetings.
19. Channel grouping reflects reality
Check that paid social, paid search, and referral are classified correctly. Misclassified traffic (e.g., Meta traffic showing as referral) corrupts every channel report.
20. Annotations & change log
Document every tracking change with a date. When numbers move mysteriously in three months, this log is the difference between a 10-minute answer and a 3-day investigation.
The 5 Most Common Issues We Find
- Duplicate purchases (double-fired tags) — inflates revenue, breaks ROAS.
- Page views as key events — vanity conversions training algorithms on noise.
- No internal traffic filter — the client’s own team “converting” daily.
- Consent mode misconfigured — either no consent handling (compliance risk) or tags fully blocked on deny (data blackout instead of modeled recovery).
- Server/container drift — GTM published changes nobody documented, breaking events silently.
When to Go Server-Side
If your audit reveals persistent gaps between GA4 and backend numbers — especially on Safari/iOS traffic — that’s the signal to move to server-side tracking: first-party subdomain, GTM server container, and Measurement Protocol for GA4. It won’t fix a broken data layer, but it will fix transport losses.
FAQ
How often should I audit GA4 tracking?
Quarterly at minimum, plus after every site redesign, checkout change, CMP update, or GTM publish that touches conversion events.
Why doesn’t GA4 match my backend order count?
Small gaps (a few percent) are normal — ad blockers, consent denials, JavaScript failures. Large gaps mean duplicate or missing events; work through the checklist above.
Should scrolls and video views be conversions?
Almost never. Reserve key-event status for business outcomes (purchase, lead, signup). Engagement metrics belong in exploration reports, not conversion columns.
What is a good data accuracy benchmark?
Small gaps (a few percent) are normal — ad blockers, consent denials, JavaScript failures — but there’s no official benchmark; treat 5–10% as a rough agency rule of thumb, not a Google standard. Large, unexplained gaps mean duplicate or missing events; work through the checklist above.
Does Consent Mode v2 recover lost data?
Partially — it enables behavioral modeling for denied-consent users instead of a total blackout. It’s a recovery mechanism, not a replacement for consent.
We run this exact audit for clients before touching a single ad campaign — because budgets built on broken data are just expensive guesses. Israr Ads offers GA4, GTM, and server-side tracking audits for e-commerce and lead-gen brands.

