Overcounted conversions are one of the most common and most consequential data quality problems in GA4. They're common because several default settings actively cause inflation, and they're consequential because everything downstream depends on conversion accuracy: ROAS calculations, Smart Bidding signals, agency performance reports, and the budget decisions made from all of the above.

The four patterns below each inflate conversion counts without generating any error or warning. Check your property against each one.

Check 1: Form_Submit Is Not a Conversion Event

01 Enhanced measurement's form_submit fires on failed submissions too

GA4's enhanced measurement automatically fires a form_submit event when the form's submit event is triggered in the browser. That happens when the submit button is clicked — regardless of whether the form passed validation, regardless of whether the server accepted the submission, regardless of whether a lead was actually created.

A user who fills out your contact form incorrectly, hits Submit, sees a validation error, and closes the tab has fired a form_submit event. If you've marked form_submit as a conversion, that failed attempt is counted as a conversion.

On forms with required field validation, this can inflate conversion counts by 20–40%. On forms with weak validation that let users submit with bad data, the inflation can be much higher.

How to check: In GA4, go to Reports → Engagement → Events and compare your form_submit event count against any thank-you page view event or CRM lead count for the same period. If form_submit is significantly higher than your CRM count, you're counting failures.

The fix: replace form_submit as your conversion event with an event that fires only on confirmed success — typically a thank-you page view (page_view on /thank-you) or a custom event fired after a successful API response from your form handler.

Check 2: Duplicate Conversion Tags in Google Ads

02 A Google Ads conversion tag and a GA4 import both firing for the same event

When you import a GA4 conversion event into Google Ads, Google Ads receives a conversion signal from GA4. If you also have a separate Google Ads conversion tag (via GTM or the global site tag) firing for the same action, Google Ads receives two signals for every single conversion.

The result: every conversion is reported twice. Your conversion volume is doubled. Your cost-per-conversion is halved. Your ROAS is doubled. Smart Bidding is optimizing against two conversions per customer instead of one.

This is one of the most common configurations we see in accounts that have been set up over time — a developer added GTM tags during initial setup, then an analytics person later configured GA4 imports, and nobody checked whether both were running simultaneously.

How to check: In Google Ads, go to Goals → Conversions → Summary. Look for conversion actions with similar names — one sourced from "Google Analytics 4" and one from "Website." If you have both for the same action (purchase, form completion, phone call), you have duplicates. Also check whether the total conversion count in Google Ads is approximately double your CRM lead or transaction count.

The fix: decide on one source of truth — either the GA4 import or the native Google Ads tag. Remove the other. If you remove the native tag, set the GA4 import conversion action to "Primary" and mark the old native action as "Secondary" (not used for bidding) before deleting, to avoid disrupting active Smart Bidding campaigns mid-flight.

Check 3: Conversion Counting Set to Once Per Event

03 Multiple conversion fires in a single session each count as separate conversions

Each GA4 conversion event has a counting method: once per session, or once per event. The default for most events is once per event. This means if a conversion event fires three times in one session, GA4 records three conversions.

For a form completion or lead submission, this creates inflation through a specific pattern: a user submits a form, reaches the thank-you page (conversion 1), hits the browser back button, then navigates forward again (conversion 2). Both page views fire the conversion event. Both are counted.

For ecommerce purchases with a confirmed order ID, GA4 deduplicates using the transaction ID — but only if it's passed correctly. If the transaction ID is missing or inconsistent, the same purchase can be counted multiple times when users refresh the confirmation page.

How to check: In GA4, go to Admin → Conversions. Click each active conversion event and check the counting method. For any non-ecommerce conversion (forms, sign-ups, phone clicks), the counting method should be "Once per session."

The fix: change counting method to "Once per session" for all form-based conversions. For ecommerce, verify your purchase event always includes a unique transaction_id parameter.

Check 4: Internal Traffic Is Not Filtered

04 Your own team's form submissions and test purchases are in your conversion data

If internal traffic — your office, your development team, your QA process — isn't filtered from GA4, every form your team submits during testing counts as a conversion. Every test transaction is a purchase. Every time someone on your team demos the site, it fires your conversion events.

For smaller businesses or agencies testing client sites, this can represent a meaningful percentage of total reported conversions — particularly during site launches, when internal testing activity is highest and real customer traffic is lowest.

How to check: Go to Admin → Data Streams → Configure Tag Settings → Define Internal Traffic and verify your office IP address(es) are listed. Then go to Admin → Data Filters and confirm an Internal Traffic filter exists with status "Active" (not "Testing"). Both steps are required — the IP list alone does nothing without the active filter.

The additional check: look at your conversions by city or location. If your own city appears disproportionately high in conversion volume relative to its share of organic traffic, internal traffic may be leaking through.

Why This Actually Matters

Overcounted conversions aren't just a reporting vanity problem. They have direct operational consequences:

The typical impact of fixing overcounting is a 20–60% reduction in reported conversions. That sounds alarming — but your actual business performance hasn't changed. You're just seeing it accurately for the first time. The campaigns and channels that looked good on inflated data may or may not hold up under accurate measurement.

GA4 Health Check audits your conversion configuration automatically — checking counting methods, identifying duplicate conversion sources, verifying form_submit isn't being used as a primary conversion event, and confirming internal traffic is filtered. Run a 60-second audit to see your actual conversion accuracy score.

Travis Gunn
Founder of GA4 Health Check. Working with Google Analytics since 2013, with over 250 clients audited across almost every industry vertical. 100% Job Success on Upwork for over a decade.