Duplicate Conversions in Google Ads and How to Stop Them

Inflated conversion counts make campaigns look profitable when they are not. Here is how to spot duplicate conversions, find the cause, and stop your bidding learning from fake data.

Duplicate conversions are dangerous in a way that missing conversions are not.

When conversions go missing, performance looks worse than reality and you notice quickly because someone asks why results dropped. When conversions duplicate, everything looks brilliant. Nobody investigates good news. So you scale a campaign that is quietly half as profitable as the dashboard claims.

How to tell if you have them

Three quick signals:

  • Google Ads reports noticeably more conversions than Shopify or your CRM has orders.

  • Conversion rate looks implausibly good. If you are suddenly converting at 22 percent on cold traffic, be suspicious rather than pleased.

  • Conversion counts are suspiciously round multiples. Exactly double is the classic.

The definitive test takes two minutes. Open GA4 realtime or GTM preview, complete one real conversion on your site, and count how many times the event fires. One action should produce one event.

The usual causes

The tag is installed twice

Someone added the conversion tag directly to the site. Later, somebody else added it through Google Tag Manager. Neither knew about the other. Now it fires twice on every purchase.

This is by far the most common cause, especially on sites that have been through an agency change or a theme update.

Thank you page refreshes

If your conversion fires on a thank you page load, every refresh counts again. Customers refresh. They bookmark the page. They come back to check their order number. Each visit is another conversion.

Fix it by keying the conversion to a unique transaction ID so Google Ads can recognise repeats and discard them.

Browser and server both reporting

A very common side effect of adding server side tracking without switching off the browser side version. Both fire, neither knows about the other, everything doubles.

The fix is deduplication using a shared event ID, or picking one source and turning the other off.

The counting setting is wrong

In Google Ads, each conversion action can count Every conversion or One conversion per click.

Purchases should usually count every conversion, because someone genuinely can buy twice. Leads and form submissions should usually count one, because the same person filling in your form three times is not three customers. Get this backwards and your lead numbers inflate quietly.

Multiple tags for the same action

Over time, accounts accumulate conversion actions. Purchase, Purchase New, Purchase GA4, Website Purchase. Several of them are still active and several of them are counted as primary conversions. The total is nonsense.

Fixing it, step by step

  1. Inventory what exists. Open Google Ads conversion actions and list everything marked as primary. Then open GTM and list every tag that could fire on a purchase.

  2. Check the page source. Search your site code for the conversion ID. If it appears both in the theme and in GTM, that is your duplicate.

  3. Run one real test conversion and watch the network requests. Count the calls going to Google.

  4. Add transaction IDs to every purchase conversion so refreshes are ignored.

  5. Set counting correctly. Every for purchases, One for leads.

  6. Retire duplicate conversion actions rather than leaving them active but unused. Anything still marked primary is still shaping your bidding.

  7. Re test and confirm you now get exactly one event per action.

The part people forget

Fixing duplicates will make your reported performance drop. That is the point, but it can be alarming if nobody is warned.

Tell whoever reads the reports before you make the change. “Conversions will fall by roughly 40 percent this week because we removed double counting” is a much easier conversation before it happens than after.

Your Smart Bidding will also need a short learning period to adjust to accurate data. Expect a couple of unsettled weeks, then better decisions.

Need this fixed properly?

If your conversion numbers look too good and you suspect double counting, an audit will usually find it in an hour. I set up and repair tracking for ecommerce stores and lead generation businesses, so the numbers in your ad accounts match the money in your bank account.

Have a look at what I do, or book a call and we can go through your setup together.

Need accurate tracking?

Its Free

500+ Happy Clients ⭐️

Keep Reading

See exactly where you’re wasting ad spend and how better tracking can double your sales.

See exactly where you’re wasting ad spend and how better tracking can double your sales.

Tracking in 3 Hours

Tracking in 3 Hours

I Manage Everything

I Manage Everything

24/7 Expert Support

24/7 Expert Support

TESTIMONIALS

Trusted by 500+ satisfied clients

Discover how we’ve driven growth and innovation.

500+ Tracking

500+ Tracking

Adélaïde De Vos

3,922 followers

I had the pleasure to work with Abdul and I can say that he exceeded my expectations. He was professional, patient, and clear in his explanations and committed to client satisfaction. If you're looking for someone who is not only highly skilled but also reliable and committed to client satisfaction, I highly recommend Kayium!

Dean Watson

1,030 followers

Kayium setup our tracking for Google Ads and Meta Ads, which helped us get 20%+ more conversions on the same ad spend. He didn’t just handle the technical setup,he also took the time to explain why it works and how it improves results. If you’re looking for someone skilled, reliable, and committed to delivering real results, I highly recommend him!

David Friend

CEO: Profitable Sites

Kayium set up accurate tracking that helped us scale ads fast and boost conversions by over 25%. He gave us clear insight into which ads drive revenue.

Lalita Sundari

7,924 followers

I've worked with Kayium; his strategic mindset and expertise in GTM, GA4, Pixel & Server Side Tracking, are invaluable! I highly recommend Kayium!