GA4 Isn't Showing My Contact Form Conversions: 6 Causes and How to Fix Each
You marked the event as a key event, but the report still reads zero. Here are the 6 real reasons and how to check each one, step by step.
It's a maddeningly common scenario: your contact form works, the emails arrive, real customers are reaching out — yet your GA4 conversions report shows a flawless zero. You marked the event as a key event (formerly a "conversion"), waited a few days, and still nothing. You start to wonder how many leads you've silently lost.
The good news: it's almost never lost leads. It's a configuration chain that breaks somewhere along the way. GA4 is unusually quiet when something goes wrong — no errors, just zero. In this article we move from the fastest checks to the most subtle, so you don't spend an hour digging in the wrong place. Go through them in order; most of the time you'll stop at the first two.
First things first: check in real time, not in reports
The most common "problem" isn't a problem at all — it's misdirected patience. GA4's standard reports update with a delay (often 24-48 hours), and marking an event as a key event is not retroactive: it only counts from the moment you flip the switch forward. If you're looking at yesterday today, you might see zero simply because the data is still processing.
Before drawing any conclusion, use two tools that show almost instantly:
- Realtime — open your site in a separate tab, submit a test through the form, then watch whether the event appears.
- DebugView — enable debug mode (Google's "Tag Assistant" extension is the easiest) and see exactly which events fire on each action.
If the event shows up here, the rest is just waiting and report ranges. If it doesn't, you have one of the causes below.
Cause 1: the event never fires at all
By far the most common. Many modern forms submit via AJAX, without reloading the page — so no new `page_view` fires for you to rely on. Other times the form sends visitors to a "Thank you" page, but nobody ever configured an event there. In both cases GA4 has nothing to count, because it receives nothing.
How to check: open DebugView, fill out and submit the test form. If pressing the button produces no new event (not even an automatic one), then nothing is triggering collection.
Fixes:
- If you have a dedicated thank-you page, mark an event on that page view.
- If the form is AJAX, you need a trigger on the submit event — usually through Google Tag Manager (a "Form Submission" trigger or a custom event your plugin pushes).
Cause 2: the event name doesn't match the key event
GA4 is detail-sensitive, and this mistake is nearly invisible. Maybe you're sending an event called `generate_lead`, but you marked `Generate_Lead` or `lead_form` as the key event. The names don't match, so the event does arrive — but it's never counted as a conversion.
What to check:
- The exact event name in DebugView vs. the exact name marked in Admin → Key events. They must be identical, case included.
- That you don't have two flows: one firing from GTM and another from code, with different names.
- That you marked the key event in the correct property and the correct stream — it's easy to accidentally work inside a test property.
Once the names match, remember: counting starts from now forward, it doesn't recover the past.
Causes 3 and 4: cookie consent and blocking extensions
Even with everything configured correctly, collection can be stopped at the source.
Consent / Consent Mode: if your cookie banner is set to block analytics until acceptance, and the visitor declines (or clicks nothing), GA4 never receives the data. When you test and hit "Reject," you exclude yourself from the report. Test by clearly clicking "Accept" on cookies and see whether the event appears then.
Ad blockers and privacy extensions: many block the GA4 script entirely. If you test with uBlock, Brave, or a browser with aggressive protection, you may fire no event at all. Test in a window without extensions or in a clean browser.
Neither of these is something you "fix" in GA4 — they're realities of the modern web. The key is not to confuse them with broken configuration.
Cause 5: the form lives in an iframe or external service
If your form is actually a Typeform, a Google Form, a Calendly, or another embedded service, it lives inside an `iframe` on a different domain. For security reasons, the GA4 on your site cannot "see" what happens inside that frame — so the submit happens, but your event never fires.
What you can do:
- Use the service's native integration: most can send an event to GA4 or call a webhook on each completion.
- Or replace the embedded form with one hosted on your own domain, where you have full control.
At MPO Web Studio we prefer the second option from the start: forms live on the client's own site, not in an external iframe. That keeps measurement clean and means you don't depend on a third-party service that can change at any time.
Cause 6: you're reading the wrong report (range, latency, internal traffic)
Sometimes the setup is perfect and you still see zero — because the report itself is misleading you.
- Date range: if the selected range predates when you marked the key event or installed tracking, of course it's empty. Widen it to "last 7 days."
- Processing latency: standard reports are not real-time. Give them 24-48 hours before concluding.
- Internal traffic filter: if you excluded your own IP (recommended), then your tests from the office don't appear in reports at all — even though they were correct. Check in DebugView, which ignores the filter.
If you've been through all of this and it still doesn't add up, this is the kind of thing we fix quickly, remotely. Message us on WhatsApp with a link to the site — often we spot the cause from a single check in DebugView.
Frequently asked questions
I marked the conversion today. Why don't I see anything from previous months?+
Because marking a key event is not retroactive. GA4 only starts counting from the moment you flip it forward. Older events remain plain events; they can't be turned into conversions after the fact.
Submissions work and I get emails — so why does GA4 show zero?+
Receiving the email and recording in GA4 are two completely separate chains. The email may go out through a plugin or SMTP service, while GA4 depends on an event fired in the browser. Very often the form submits via AJAX and fires no event at all — see Cause 1.
How long should I wait before assuming it's a real problem?+
For verification, use DebugView and Realtime, which show within seconds. For standard reports, give them 24-48 hours. If DebugView shows the event correctly but the report still reads zero after two days, check the date range and the internal traffic filter.
Do I absolutely need Google Tag Manager?+
Not strictly, but it helps a lot with AJAX forms, where you must catch the submit event without a page reload. If you have a dedicated thank-you page, you can mark an event without GTM. For anything more complex, GTM gives you control and visibility.
Can MPO check the setup for me?+
Yes, we do it remotely. You send us a link to the site on WhatsApp plus access to the GA4 property, and we watch in DebugView exactly what fires on submit. We usually identify the cause from a single test and tell you clearly what needs fixing.
7 mistakes that drive clients away from your website
Leave your email and get the guide right here, instantly. No spam.
Want to see what your business's website could look like?
Message us on WhatsApp and we'll prepare a FREE demo website with your business name. See it first — decide after.