What is probably happening
The trigger no longer matches the real user flow
A form plugin, checkout, thank-you page, SPA route, modal or embedded third-party form may have changed while the GTM trigger still waits for the old URL, click class, form submit or event name.
Consent blocks or delays the conversion signal
If Consent Mode V2, the CMP or regional defaults are not configured correctly, Google tags may fire with denied storage, delayed updates or missing ad_user_data/ad_personalization signals.
The wrong conversion action is used for bidding
The conversion may be secondary, duplicated, imported from the wrong GA4 property, linked to a different Google Ads account or excluded from the goal used by the campaign.
Enhanced conversions or identifiers are incomplete
Lead forms, checkout events or CRM imports can miss email/phone normalization, gclid/gbraid/wbraid continuity, conversion linker coverage or deduplication fields.
Ad blockers or browser privacy reduce observed events
Some users will not be visible in browser-side analytics. That does not automatically mean the setup is wrong, but it does mean you need to compare platform data with backend or CRM reality.
How to check it without breaking anything
Trigger a real test conversion and watch GTM Preview, browser Network requests and Google Tag Assistant.
Confirm the conversion action ID/label or imported GA4 key event is the one used by the campaign.
Check whether the event fires before consent is updated, after consent is denied or not at all.
Verify conversion linker, gclid/gbraid/wbraid continuity, enhanced conversions and transaction or lead identifiers.
Compare Google Ads, GA4, backend, ecommerce or CRM data before assuming conversions are truly zero.
Inspect recent website, checkout, form, CMP, GTM or app releases that may have changed the event path.
How I would solve it step by step
Rebuild the event path from the business action
Start with the real lead, purchase, call or booking. Then map the exact browser event, dataLayer payload, trigger, tag, consent state and Google Ads conversion action.
Test with a clean debug session
Use a fresh URL with UTMs or click identifiers when possible, trigger the action once, and document whether the event appears in GTM, GA4 DebugView, Google Ads diagnostics and backend records.
Fix one layer at a time
Do not change CMP, GTM, GA4 imports and Google Ads goals all at once. Repair the first broken handoff, retest, then move to the next layer.
Protect bidding before scaling spend
Once tracking is repaired, mark only the real business conversion as primary, remove duplicates and give Smart Bidding enough stable signal before increasing budget.
If it gets technical
You can follow this path yourself. If the diagnosis reveals a strange data mismatch, a delicate tracking setup, a risky bidding decision or a blocker that needs account access, Lia keeps this context and brings it to CreatikLab so you do not start from zero.
Take this context to LiaWhat I would not do
Assuming the tag is fine because it exists in GTM.
Testing only page views instead of the final business event.
Importing every GA4 key event as a primary Google Ads conversion.
Ignoring Consent Mode because conversions appear for some users.
Changing bidding while the conversion signal is still unreliable.
Frequently asked questions
Why does GA4 show events but Google Ads does not?
GA4 events and Google Ads conversions are not the same object. Account linking, key event import, primary/secondary status, attribution, consent, click identifiers and reporting delay can all create differences.
Can Consent Mode V2 cause missing Google Ads conversions?
Yes. Consent Mode does not only affect analytics cookies. If ad storage, ad user data or personalization signals are denied or updated incorrectly, observed and modeled conversion behavior can change.
Should I install server-side tracking?
Server-side tracking can help with data resilience, but it will not fix a wrong conversion action, bad trigger, weak business event or broken consent setup. Audit the current signal path first.