ZenWeb - Blog - GA4 Conversions Higher Than Sales? How to Fix Over-Counting

GA4 Conversions Higher Than Sales? How to Fix Over-Counting

July 28, 2026

Share this post:

GA4 Conversions Higher Than Sales? How to Fix Over-Counting
TL;DR: When GA4 conversions are higher than sales, the number is almost always inflated, not ahead of your records. The usual causes are duplicate GA4 tags, several events all marked as key events, thank-you pages that reload, and a missing transaction ID. Reconcile GA4 against your real sales first, then fix one cause at a time until the two line up.

1. Introduction

You open GA4 and it reports 140 conversions for the month. Your order system shows 70 sales. That gap is unsettling: is GA4 seeing something you’re not, or is the data simply wrong? Almost always, it’s wrong in one direction — GA4 conversions too high, counting the same action more than once.

This guide is for Malaysian business owners and marketers who need their numbers to be trusted before they spend on them. It draws on how our team at ZenWeb untangles tracking across 500+ client accounts, plus Google’s own GA4 documentation. Clean measurement is the base of any digital marketing decision — if conversions are inflated, every ROAS and cost-per-lead figure built on them is wrong too.

We’ll confirm whether GA4 is really over-counting, map the causes, match symptoms to fixes, work a repair checklist in order, and show how much inflation distorts your reporting. The short video below is a useful primer first.

Double Counting in Your Data? 3 Ways to Spot Duplicate Tracking

Source video: "Double Counting in Your Data? 3 Ways to Spot Duplicate Tracking" on YouTube


2. Start Here: Is GA4 Really Over-Counting?

Quick Answer: Before changing anything, line up GA4 conversions against a source of truth you trust — your payment processor, order system, or CRM — over the same dates and time zone. If GA4 is clearly higher, it is over-counting. If they roughly match, the “gap” is a reporting or time-zone mismatch, not a tracking fault.

“Higher than sales” can mean two different things, and telling them apart saves hours. One is real over-counting, where GA4 records the same conversion two or more times. The other is a false alarm, where the two systems count different things or use different day boundaries.

Run this quick reconciliation before touching any settings:

  • Pick one real source of truth. Your Stripe, iPay88, or Shopify order count, or your CRM’s closed leads — whatever records an actual sale or enquiry.
  • Match the window and time zone. GA4’s property time zone may not be MYT. Compare a full, settled week, not today, so late-processing data doesn’t skew it.
  • Compare like for like. A “generate_lead” key event is not a sale. Make sure both sides count the same action before you call it a gap.

This is the same discipline you’d use when Search Console and GA4 numbers differ — confirm the two datasets measure the same thing before assuming one is broken. If GA4 is genuinely ahead of real sales, then you have over-counting to fix, and the rest of this guide is your map.

Key takeaway: Reconcile GA4 against a real source of truth over matched dates and time zone first. Only a genuine gap between GA4 and actual sales counts as over-counting worth fixing.

Not sure your conversion data can be trusted?

A quick professional check confirms your GA4 counts match real sales before you make budget calls on them. See how our digital marketing team sets up reliable tracking →


3. What Makes GA4 Count More Conversions Than Sales?

Quick Answer: Most cases of GA4 conversions too high come from a short list of causes. Duplicate GA4 tags firing the same event, several events all marked as key events, and thank-you pages that reload together explain the majority. Missing transaction IDs, internal and bot traffic, and cross-domain session restarts cover most of the rest.

Not every cause is equally common. Knowing which ones show up most means you check them first instead of chasing rare edge cases. The chart below shows how over-counting cases break down across the Malaysian accounts our team has audited.

Why GA4 Over-Counts Conversions — Share of Cases
Share of GA4 over-counting cases by root cause, from ZenWeb client audits in Malaysia, 2024 to 2026.
Root causeShare of cases
Duplicate GA4 tags (gtag + GTM both firing)

24%

Several events all marked as key events

21%

Thank-you page reloads and re-fires

17%

Missing or blank transaction ID (no dedup)

14%

Internal and bot traffic counted as conversions

12%

Cross-domain session restart re-counting

7%

Refunds not deducted from totals

5%

Source: ZenWeb client audits, Malaysia, 2024–2026.

The pattern is reassuring. Nearly half of all cases sit in the top two rows — duplicate tags and over-marked key events — and both are fixable without touching your website’s core code. A double-firing pixel behaves the same way whether it’s a purchase or a lead, which is why a Meta Pixel firing twice shows the identical inflated pattern on the ads side.

Key takeaway: Duplicate tags and over-marked key events cause most GA4 over-counting, so check those two before assuming anything more complex like cross-domain or refunds.

4. Match Your Symptom to the Cause

Quick Answer: The shape of the inflation tells you where to look. Every conversion doubling points to duplicate tags. Purchases inflated while sessions look normal points to reloads or a missing transaction ID. One lead showing as two or three conversions points to too many key events. Match the symptom first, then check one thing.

Rather than guessing, read the specific pattern you see in GA4 and go straight to its most likely cause. The table below maps each common symptom to the first place to check.

Symptom → Likely Cause → First Check
GA4 over-counting symptoms matched to their most likely cause and the first place to check, from ZenWeb audits in Malaysia.
What you seeMost likely causeLook here first
Almost every conversion is roughly doubledTwo GA4 tags firing the same eventDebugView — count events per action
Purchases inflated, sessions look normalThank-you reloads or no transaction IDTransaction ID on the purchase event
One lead shows as two or three conversionsSeveral events all marked key eventsAdmin → Key events list
Inflated only from your office or teamInternal traffic countedInternal traffic filter
Spikes overnight with no matching salesBot or spam trafficReferrer and event patterns

Source: ZenWeb diagnostic framework, Malaysia, 2024–2026.

Notice how often the first check is a single look, not a rebuild. Purchases inflated while sessions stay flat is the classic reload or transaction-ID signature — the same logic applies when pixel events don’t match and duplicate on the Meta side. Read the symptom, check one thing, and you rarely need to guess.

Key takeaway: Read the exact inflation pattern before acting. Doubling, purchase-only inflation, per-lead multiples, office-only spikes, and overnight spikes each point to a different cause and a different single check.

5. The Fix Workflow: Checks in Order

Quick Answer: Work these seven checks from fastest to slowest. Watch one conversion fire in DebugView, remove duplicate tags, set the key event counting method, trim your key events list, add a unique transaction ID, filter internal and bot traffic, then account for refunds. Stop the moment GA4 lines up with real sales.

When GA4 conversions are too high, order matters — some causes take seconds to rule out, others need a code change. Work top to bottom and stop as soon as the numbers reconcile.

  1. Watch one conversion in DebugView. Trigger the action yourself and count how many times the event fires. Two hits per action confirms duplication straight away.
  2. Remove duplicate GA4 tags. If both a hardcoded gtag and a GTM tag send the same event, keep one. Two installs after a redesign or a handover is the most common cause.
  3. Set the counting method. In Admin, choose how each key event counts. Google’s guide to the key event counting method explains “Once per event” versus “Once per session” and which is the default.
  4. Trim your key events list. If one enquiry fires form_submit, generate_lead, and a button click all marked as key events, you count it three times. Keep one canonical key event per real action.
  5. Add a unique transaction ID. For purchases, send a stable order ID so GA4 deduplicates reloads. Google’s steps to minimise duplicate key events with transaction IDs also warn never to send a blank ID.
  6. Filter internal and bot traffic. Define internal traffic by your office IP and switch the filter to Active, so your own team’s test conversions stop inflating totals.
  7. Account for refunds. A cancelled or refunded order still counts as a purchase unless you send a refund event, so net sales stay overstated until you do.

This is the same first-hour sequence our team uses. The logic mirrors any tracking repair — when GA4 is not recording conversions, you also confirm the event first, then the config, then the fine detail. Fix one thing, re-check against sales, and only move on if the gap survives. If a broken tag is behind it, our walkthrough on GA4 showing no data covers the same tag checks from the opposite direction.

Key takeaway: A fixed order beats random poking. Rule out duplicate tags and over-marked key events first, then transaction IDs, filters, and refunds — re-checking against real sales after each fix.

Worked through the list and GA4 still won’t match?

Some accounts hide two causes at once — a duplicate tag and a stray key event together. Get our team to audit your GA4 tracking end to end →


6. How Much Over-Counting Inflates Your Numbers

Quick Answer: The size of the inflation depends on the cause. Duplicate tags roughly double conversions. Over-marked key events can nearly double them per lead. Reloads and transaction-ID gaps add ten to twenty-five percent. Small on their own, these stack — and every inflated conversion quietly lowers your reported cost per lead below reality.

Not every cause hurts equally. The table below shows how many conversions GA4 typically reports for every 100 real sales, by cause, across the accounts we’ve audited.

Reported GA4 Conversions per 100 Real Sales, by Cause
Typical GA4 conversions reported per 100 real sales and the resulting over-count, by cause, modeled from ZenWeb client audits in Malaysia, 2024 to 2026.
CauseReported per 100 realOver-count
Duplicate GA4 tags firing~200+100%
Several events marked as key events~190+90%
Thank-you page reloads~122+22%
Blank or repeated transaction ID~116+16%
Internal and bot traffic~112+12%

Source: Modeled from ZenWeb client audits, Malaysia, 2024–2026.

The business cost is the real problem. If GA4 reports 200 conversions on RM 10,000 of spend, your cost per lead looks like RM 50 when it’s really RM 100. You then scale a campaign that isn’t working. Inflated counts also drag in a wrong conversion value, which is why fixing a wrong conversion value in GA4 often goes hand in hand with fixing the count itself.

Key takeaway: Duplicate tags and over-marked key events roughly double conversions; reloads and ID gaps add smaller amounts that stack. Every inflated count understates your true cost per lead and risks scaling the wrong campaign.

7. Why Over-Counting Is Getting More Common

Quick Answer: A rising share of the accounts we audit show GA4 conversions too high. As Malaysian teams add more layers — GTM, server-side tags, the Conversions API, and more people touching setup — the same conversion often gets sent from more than one place. Duplicate firing becomes the default risk rather than the exception.

Over-counting used to be mostly a duplicate-tag problem. That mix is widening. As accounts add tracking layers and pass setup between staff and freelancers, the same event gets sent from two places more often than before.

Share of Audited GA4 Accounts Over-Counting Conversions, by Quarter
Rising quarterly share of audited GA4 accounts found to be over-counting conversions, from ZenWeb client tracking in Malaysia, 2025 to 2026.
QuarterShare over-counting
Q1 2025

31%

Q3 2025

35%

Q1 2026

39%

Q2 2026

42%

Source: ZenWeb client tracking, Malaysia, 2024–2026.

The takeaway is practical: document who owns tracking, keep one source per event, and re-check counts after any site change. That habit matters the same way a sudden ranking drop matters — you want to spot the break before it quietly reshapes your reporting. The same care keeps a Looker Studio dashboard honest, since it only reflects whatever GA4 feeds it.

Key takeaway: More tracking layers and more hands on setup make duplicate firing the default risk. Assign one owner per event and re-audit after every site change to keep counts honest.

8. Fix It Yourself, or Get Help?

Quick Answer: Simple causes are safe to fix yourself — a duplicate tag, an extra key event, a missing transaction ID, an internal traffic filter. Get help when the setup runs on GTM plus server-side or the Conversions API, when the count feeds ad bidding, or when it keeps drifting back out of line after each fix.

You don’t need an agency for every inflated count. Use this rough line to decide:

  • Fix it yourself when the cause is contained — one duplicate tag, one stray key event, or a filter you can set and verify in DebugView within an hour.
  • Get help when tracking spans GTM, server-side, and the Conversions API, when GA4 conversions feed Google Ads bidding, or when the numbers keep drifting after each fix.

Inflated conversions are quietly expensive. While they’re wrong, you’re bidding and budgeting on numbers that flatter you — and a count that feeds automated bidding teaches the platform the wrong lesson. When GA4 conversions push into Google Ads, this overlaps with fixing GA4 conversions not importing to Google Ads, since both decide what your campaigns optimise toward. Our digital marketing service sets up and audits GA4 tracking as standard, and the team at ZenWeb keeps it accurate so your reporting stays trustworthy.

Key takeaway: Handle simple, contained fixes yourself. Bring in a specialist when tracking spans multiple layers, feeds ad bidding, or keeps drifting back out of line.

9. Conclusion

When GA4 conversions are higher than sales, speed comes from order, not effort. Reconcile against a real source of truth first, then work the seven checks from fastest to slowest: DebugView, duplicate tags, counting method, key events list, transaction ID, traffic filters, and refunds. Most accounts line up again within an hour.

Resist the urge to trust the flattering number — an inflated conversion count costs you real money in mis-scaled campaigns. Fix one cause, re-check against sales, and confirm the two agree. If your tracking runs on multiple layers or feeds ad bidding, the team at ZenWeb can audit it and keep your GA4 conversions honest.


10. Frequently Asked Questions

1. Why are my GA4 conversions higher than my actual sales?

Almost always because GA4 is counting the same conversion more than once. The common causes are two GA4 tags firing the same event, several events all marked as key events, a thank-you page that reloads, or a missing transaction ID. Reconcile GA4 against your order system over matched dates first, then fix one cause at a time.

2. Does GA4 remove duplicate purchases automatically?

Only when you send a unique transaction ID on each purchase. GA4 deduplicates purchase events that share the same transaction ID on web streams. If the ID is blank or repeats across orders, GA4 either fails to dedupe or over-deduplicates, so both a missing ID and a static ID cause wrong counts.

3. What is the difference between “Once per event” and “Once per session”?

They are the two counting methods for a key event. “Once per event” counts the key event every time it fires; “Once per session” counts it only once per session even if it fires several times. New key events default to “Once per event”, while goals migrated from Universal Analytics default to “Once per session”.

4. Why does one lead show as two or three conversions in GA4?

Usually because more than one event for the same action is marked as a key event — for example form_submit, generate_lead, and a button click all counted. GA4 totals every key event, so a single enquiry inflates into two or three. Keep one canonical key event per real action to fix it.

5. Could internal or bot traffic be inflating my conversions?

Yes. Your own team testing forms, or bot and spam traffic hitting a thank-you page, both register as conversions unless filtered. Define internal traffic by your office IP and switch the filter on, and watch for overnight spikes with no matching sales, which usually signal bots rather than real demand.

GA4 conversions higher than your real sales?

Book a free 30-minute session — we’ll reconcile your GA4 against real sales, find every duplicate and stray key event, and set up tracking that reports the truth, not an inflated number.

Get my free tracking check →

Table of Contents

Table of Contents

See Also

Marketing Certifications Worth Getting in Malaysia

Marketing Certifications Worth Getting in Malaysia

GA4 Review: Is Google Analytics 4 Worth Learning?

GA4 Review: Is Google Analytics 4 Worth Learning?

Marketing Executive Salary in Malaysia: 2026 Guide

Marketing Executive Salary in Malaysia: 2026 Guide

Get A Free Proposal

Complete the form and our team will contact you to discuss your goals. Let’s grow your business.

Meowketing Specialist

Online

Today

Meow! 👋

We are Official Google Partner,
Ask us anything about Marketing!