A scenario we see regularly: the board pack in a Melbourne growth meeting still showed 184 “conversions” last month. Sales logged 41 real conversations. The gap was not a CRM mystery. It was GA4 counting thank-you pageviews, button clicks, and a duplicate GTM tag as if they were pipeline. Meanwhile Google Ads was learning from that noise, and CPL in AUD looked healthy while booked work stayed flat.
Australian marketing leaders live in that mismatch every quarter. Performance Max now carries a lot of the spend. Search CPCs have crept up. You still need a clean conversion signal if you want bidding to chase enquiries, not pageviews. When GA4 is wrong, every channel report is wrong, and finance stops trusting marketing numbers before they stop trusting the ads.
These are the configuration habits that hide real pipeline. Not “you need a strategy.” The actual settings, events, and report filters that quietly lie.
Seven GA4 configurations that make AU pipeline vanish in the UI
Most of these live in Admin, Events, or GTM. They are cheap to miss and expensive once Smart Bidding has trained on them for six weeks. Fix the mechanism, then re-import the key event into Google Ads so the auction sees the same definition you use in the weekly report.
Common mistakes
-
Marking generate_lead on every form submit, including newsletter and quote-calculator pings Teams fire generate_lead from a generic GTM Form Submit trigger. HubSpot chat widgets, footer newsletter forms, and “download the PDF” gates all count. In GA4 you mark generate_lead as a key event. Google Ads imports it. Bidding optimises for volume. You get 90 events and 12 sales-accepted leads. Fix: fire generate_lead only on the enquiry forms that actually create a deal (contact, demo, quote request). Use a distinct event for newsletter and resource gates. In AU B2B, that usually means the form that asks for company and phone, not email-only. Then mark only the enquiry event as a key event.
-
Thank-you pageviews as the conversion when the URL is reused for every offer A Sydney SaaS site used /thanks/ for product demos, partner applications, and a careers form. GA4 counted a page_view on that path as a conversion. Careers traffic from organic search inflated “leads.” Paid search then bid into job-seeker queries because the conversion fire looked cheap. Fix: unique confirmation URLs per form, or better, a dataLayer push with form_id on successful submit so you never need the thank-you path as the source of truth. If you must use a page, exclude /careers and /partners in the event condition.
-
Two GTM containers (or a leftover UA-era tag) firing the same event twice You will see this in DebugView as generate_lead twice within a second, same session. Reports look 1.6-2x too high. Ads gets a doubled conversion, CPA looks better than it is, and you scale spend into a fake efficiency. - Mechanism: old gtag.js still in the theme plus GTM, or a second GTM snippet from a previous agency in the footer. Fix: inventory every snippet on the live template. One container. One gtag config. Deduplicate in GTM with a 1-second event cooldown if a plugin still double-posts. Reconcile 14 days of events against CRM created-date before you raise budget.
-
Ignoring click-to-call and WhatsApp on mobile, then calling desktop conversion rate “the number” Mobile still takes the majority of paid search clicks. On many AU service and mid-market sites, the high-intent action is tap-to-call or WhatsApp, not a 12-field form. If those clicks are untagged, GA4 undercounts pipeline and desktop forms look like the only channel that works. You then starve mobile landing pages. Fix: tel: and wa.me clicks as separate events (phone_click, whatsapp_click), then a key event only if your sales team actually answers those as leads. Do not mark every footer phone tap. Scope the trigger to the hero and sticky bar. Align the same events in Google Ads so Enhanced Conversions is not form-only.
-
Key events set in GA4 but never linked, or linked with a different conversion action in Google Ads Admin looks tidy. The Ads account still optimises on an old “Contact - Website” action from 2023 with a different counting window. Reports in Looker Studio pull GA4. The media buyer lives in Ads. Two CPLs, both in AUD, neither matching CRM. Privacy already knocks 20%+ of conversion data off the table via blockers and consent; a split definition makes the rest unusable. Fix: one named event, same counting method (once per session vs once per event), same 7-day click window unless you have a documented reason. Use the GA4-linked conversion as primary for bidding. Pause the legacy action. Document it so the next person does not “help” by turning both on.
-
Consent mode and the cookie banner firing after the first page_view, so paid landers never send the conversion A Brisbane landing page loaded the CMP late. GTM waited. Users submitted the form in 18 seconds and bounced. The conversion never left the browser because consent was still “unknown.” Ads saw clicks, GA4 saw sessions, CRM saw deals. Nobody saw a complete path. Fix: load the consent default in the head before GTM, map ad_storage and analytics_storage correctly for AU (consent is not optional theatre if you run Google tags). Under the Australian Privacy Act 1988 and the OAIC’s APP guidelines, collecting personal data via ad tags without informed consent carries real risk - Consent Mode v2 is the practical implementation, not a box-tick. Test a form submit in Tag Assistant with denied, granted, and update states. If the form can complete before the banner, you will keep losing the best leads first.
-
Reporting last-click paid search in GA4 as if it were the CRM source of truth Last-click still double-counts across Ads, Meta, and GA4 when each platform claims the same enquiry. CFOs in AU shops already treat “attribution is basically dead” as a standing joke. Using GA4 last-click to kill organic or brand search because PMax “gets all the conversions” is how you starve the queries that actually start the journey. Fix: keep GA4 for on-site behaviour and event quality. Reconcile to CRM create date and first-touch UTM, not to last non-direct. Use GA4 to answer “did the enquiry fire once, on the right form, with the right parameters,” not “which channel owns the dollar.”
DIY tools for this section
Catch broken tags and leaky landers before you retune bidding
If conversions fire but the page still feels slow or the form is buried, you will keep training ads on a minority of patient users. Only 55.9% of origins pass all three Core Web Vitals in recent CrUX data, and mobile conversion still lags desktop. A 2-second INP hit on a quote form in Perth traffic is a tracking problem dressed up as a media problem.
When the event is clean and the page still leaks, watch the session: where people hesitate on GST-inclusive pricing, which proof they skip, which field they abandon. HeyLead Insights is the behaviour layer on top of GA4 events, so you are not guessing why generate_lead never fires for half the paid sessions.
If you already know the tags are messy and you want a specialist to rebuild events against real enquiries, the GA4 configuration work is the place to start, not another campaign restructure.
Repair sequence when Ads, GA4, and the CRM disagree this month
Do not launch three new PMax asset groups while the event is still a pageview. You will only teach the model faster. Sequence is the whole job.
This month, only three repairs matter. First, stop double firing. Open Tag Assistant on the live enquiry form, submit once, confirm one event. If you see two, you are done until that is gone. Second, redefine the key event so it matches a CRM-created enquiry, not a newsletter. Export 30 days of GA4 events and join to CRM by timestamp and email hash or phone. You want overlap, not a pretty dashboard. Third, sync that single event into Google Ads as the primary conversion and pause orphans. Enhanced Conversions should point at the same form fields you actually collect (email and phone for AU lead-gen), not an empty user_data object.
What can wait: new exploration reports, a full BigQuery export, renaming every custom dimension, and a debate about data-driven versus last-click in the GA4 UI. Those are useful after the denominator is real. A new landing design can wait one sprint if the current page already converts a true enquiry; it cannot wait if consent never grants before submit.
UTMs still matter in Australia because so much spend sits in PMax and branded search. Stamp every non-PMax URL with a consistent source/medium/campaign via a proper builder, then stop letting SDRs type “google / cpc” by hand in the CRM. Garbage UTMs make GA4 look broken when the tag is fine.
If you run Meta as well, do not “fix attribution” by adding another pixel conversion that fires on the same thank-you. You will triple-count. Keep Meta’s event for delivery, GA4 for on-site truth, CRM for revenue. The marketing meeting should show all three, labelled, not averaged into one fake ROAS. Industry benchmarks consistently show Google Search ROAS running ahead of Meta for lead-gen - but both numbers are meaningless if each platform counts a different object.
Get a free marketing audit - we review your search, ads, and landing pages and send back what to fix first.
Get a free audit

The Perth manufacturer that stopped bidding on a careers thank-you
A head of marketing at a Perth industrial manufacturer had Google Ads “leads” at $47. Sales said they were drowning in graduate applications. The site used one /thank-you/ template. GTM fired generate_lead on any hit to that path. Careers pages ranked, paid search copied the query themes, and Smart Bidding found cheap “conversions” in job traffic.
They split confirmation URLs, moved the event to a form_id in the dataLayer, and marked only quote_request as a key event. Duplicate gtag in the theme came out the same week. After 11 days of learning, CPL in AUD went up. Booked quoting calls went up with it. That is the only trade you want: a worse-looking media metric and a better pipeline number.
They also found the quote form’s company-size field sat below the fold on iPhone, which is why WhatsApp taps in the header outnumbered form submits two to one. Once phone_click was a separate event (not a key event, because the front desk could not log every tap), the report finally matched how buyers actually reached sales.
If your own landers hide the form or stall on INP, fix that in parallel with the tag. A clean event on a form nobody completes is still a dead signal. Dedicated pages that match the ad, not the homepage, remain the boring rule that saves 20-30% of SEM budget from wandering into irrelevant queries and weak handoffs.
What marketing leaders are seeing
We hear this regularly from AU B2B marketing heads: generate_lead on every HubSpot form including the footer newsletter, Google Ads CPL looking like a bargain until 90 days matched to Salesforce showed only 14% of those events were real opportunities - Melbourne B2B manufacturers especially.
We also hear it from Sydney professional services CMOs: DebugView showing two generate_lead hits every submit, the second a leftover gtag in the WordPress footer from 2022, PMax scaled on duplicates for a quarter.

FAQs
Should generate_lead be my only key event in GA4?
No. Use it for sales-accepted enquiries only. Keep newsletter, chat open, and file download as ordinary events. If sales works the phone, add a tightly scoped phone_click and decide with sales whether it is a key event. One primary key event for bidding is enough for most AU lead-gen accounts.
Why does Google Ads CPA disagree with GA4 even after I link the accounts?
Different conversion actions, different counting windows, modelled conversions, and consent. Check that Ads is using the GA4 key event as primary, that you paused the old website conversion, and that Enhanced Conversions is populated. Then compare both to CRM, not to each other.
Do I need BigQuery to trust pipeline numbers?
Not to catch the mistakes in this article. DebugView, a form submit test, and a 30-day event-to-CRM join will expose duplicates, wrong forms, and missing calls. BigQuery helps later for longer journeys and modelled gaps, not for a double-firing tag.
Is last-click in GA4 useless for Australian paid search?
It is the wrong tool for channel credit, especially with PMax in the mix. It is still useful to see whether a session produced a real enquiry. Keep last-click for QA. Use CRM first-touch and opportunity value when you argue about budget.
Putting it to work
Execution sprint
This week
- Pull 30-90 days of performance for ga4 mistakes that hide real pipeline from marketing (Search Console, ads, CRM, or call logs - whatever you have).
- Flag the top leak: wrong intent, weak page, slow response, or dirty conversion tracking.
- Ship one fix on the highest-traffic money path (page, campaign split, or response rule).
- Run the free tools below on that same URL or account and log the findings.
Free tools for this sprint
Next 30 days
- Expand the fix to the next one or two money paths only after the first one shows cleaner bookings.
- Align creative, keywords, or content with the same offer the page now states.
- Review booked outcomes weekly; cut anything that still only produces unqualified volume.
This week
-
Submit your live enquiry form once with Tag Assistant open and confirm a single event name.
-
List every form that currently fires generate_lead and remove newsletter, careers, and calculators.
-
Check the theme for a second GTM or leftover gtag snippet.
-
Export 30 days of key events and spot-check 20 against CRM create dates.
-
Confirm Google Ads has one primary conversion matching that event, then pause legacy actions.
Next 30 days
-
Add scoped tel: and WhatsApp events if mobile is more than half of paid clicks.
-
Fix consent defaults so a fast submit still records when the user grants analytics and ads storage.
-
Stamp non-PMax URLs with consistent UTMs and stop free-typed CRM sources.
-
Re-enable bidding changes only after two weeks of stable, de-duplicated event volume.
Pull last month’s GA4 key events next to CRM opportunities and circle every event that is not an enquiry. That list is the work. HeyLead can rebuild the GA4 event map so Ads and the weekly report count the same Australian enquiries, not thank-you pageviews and duplicate tags. Chat with us on WhatsApp
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · martin@heylead.com