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.
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
Want me to sanity-check your tracking? Send me the site + what should count as a conversion ↗.