If GA4 conversions aren’t tracking, it’s rarely “GA4 is broken”. It’s usually one of these: events never fire, events fire but don’t reach GA4, events reach GA4 but aren’t marked as conversions, or consent blocks them.
Here’s a practical checklist to fix it without guessing.
Good tracking is part technical setup and part business logic. If you need forms, purchases or lead events checked properly, this connects closely with automation and performance work.
Step 1: Confirm the event exists in GA4
Go to GA4 → Reports → Engagement → Events. Trigger the conversion action on your site (submit the form / complete a purchase) and look for the event name.
Step 2: Debug in GTM Preview mode
If you use Google Tag Manager, use Preview:
- Does the trigger fire?
- Does the GA4 Event tag fire?
- Is it firing on the correct page/state (SPA sites are common traps)?
Common GTM mistakes
- Trigger is bound to a click, but the button is replaced/disabled
- Form submits via AJAX so the “Form Submission” trigger never fires
- Trigger fires too early (before validation passes)
- Wrong container environment (dev vs live)
Step 3: Check for duplicate GA4 tags
A very common issue is installing GA4 via a plugin and via GTM, causing:
- duplicate pageviews
- event duplication
- messy attribution
Step 4: Consent mode / cookie banner blocking
If your cookie banner loads GA only on acceptance (like your setup), then:
- Conversions won’t track until the user accepts
- Lighthouse “works” tests can be misleading (it’s not a real user session)
Decide what you want:
- Strict: no analytics unless accepted (privacy-first)
- Consent mode: cookieless pings + conversions in a compliant way (more advanced)
Step 5: Ecommerce purchases (WooCommerce) specifics
For purchases, the gold standard is firing a GA4 purchase event on the order confirmation page
with correct transaction details.
Common purchase tracking issues
- Thank-you page is cached (bad)
- Event fires on page load for everyone (duplicate purchases)
- Transaction ID missing or not unique
- Currency/value not passed correctly
Step 6: Mark the right event as a conversion
GA4 → Admin → Events → toggle “Mark as conversion” for the correct event name. If you renamed it, make sure your naming is consistent.
Quick checklist
✅ GTM Preview: trigger + tag fire correctly
✅ Remove duplicate GA4 installs (plugin + GTM)
✅ Understand consent impact (accepted vs rejected)
✅ For purchases: ensure event fires once with unique transaction ID
✅ Mark the event as a conversion in GA4
Related reading and useful resources
- Automation services
- Website speed optimisation
- Why your website is not generating leads
- Ask me to check your tracking
- GA4 events documentation
- Google Tag Manager preview mode
Want me to sanity-check your tracking? Send me the site + what should count as a conversion ↗.