Knowledge base article

Eliminate Duplicate Transactions in GA4 & Google Ads: Why & How

3 minutes reading time

As marketeers in the digital age, data accuracy and integrity is paramount. With every campaign we run, every decision we make, and every strategy we implement, data sits at the core. So, when inconsistencies like duplicate transactions creep into our analytics, it not only affects the accuracy of our data but also hampers our decision-making capabilities.

In this article, we dive deep into the importance of deduplicating your GA4 and Google Ads transactions, understanding the root causes, and presenting an actionable solution using Google Tag Manager (GTM).

Why transaction deduplication matters

Duplicate conversions are a bane for any marketeer. Here’s why:

  • Data Integrity: Accurate data is the lifeblood of marketing. Duplicates can mislead teams into believing they’re performing better than they are.
  • Resource Allocation: Based on inflated data, businesses might invest more resources in channels or campaigns that may not be as effective.
  • Cost Implications: Paying for ads on misrepresented conversion data can have significant cost implications.

The culprits behind duplicate transactions

While there are several protective measures in place, certain scenarios can lead to duplicate transactions:

  • User Behavior: A user might revisit the ‘Thank You’ or ‘Order Confirmation’ page multiple times, causing the tag to fire each time.
  • Technical Glitches: Network lags or browser issues might prompt users to refresh or resubmit a form or transaction, leading to double counting.
  • Tagging Errors: Incorrect or redundant tagging can also be a cause.

The solution: deduplication with GTM

Enter Google Tag Manager, with its vast array of tools and templates that allow us to refine our data collection processes. As mentioned in our earlier post, one such tool is Simo Ahava’s Transaction ID logger , which can be a game-changer.

Transaction ID logger - Simo Ahava

Here’s how it works: The logger captures and logs the transaction ID in a cookie and/or localStorage with the key __tid_gtm. With a regex table, this transaction ID is then compared to the value of the cookie. If they match, the tag is prevented from triggering, thereby blocking the duplicate transaction.

Let’s dive into the steps to set this up:

  1. Download: Start by downloading the tag template from the Community template gallery.
  2. Trigger Setup: Link it with a purchase trigger, ensuring the transaction ID gets saved to the cookie.
  3. 1st Party Cookie Variable: Create this variable with the value __tid_gtm to interpret the cookie.
  4. Regex Table Creation: Input the cookie variable you’ve just created into a regex table variable.
  5. Add a Row: Here, enter the transaction ID variable as the pattern and “true” as its output.
  6. Custom Event Trigger: Initiate it using regex matching with .* to correspond with any event name.
  7. Custom Event Firing Conditions: This trigger should only activate on specific custom events where the outcome of the previous regex table variable equals true.
  8. Blocking Trigger: Lastly, employ this trigger as a blocking mechanism for your purchase events, ensuring no further transactions with the same ID get through.

However, remember the golden rule: always test your setup before full-scale implementation.


In a world driven by data, ensuring its authenticity and accuracy is our prime responsibility. By addressing and eliminating issues like duplicate conversions, we lay the foundation for more insightful, effective, and successful marketing strategies.

Deduplicating GA4 or Google Ads transactions, while seemingly technical, is an essential step, and with tools like GTM at our disposal, it’s one that’s easily achievable. Dedicate time to refine, test, and implement – the rewards, in the form of impeccable data, are worth it!

Profielfoto Freek Kampen

By Freek Kampen

Data & Analytics specialist and co-owner of New North Digital. With a background in online advertising, I solve tracking and data issues for entrepreneurs and agencies. Feel free to get in touch!


Continue learning

Looking for more answers?

Check out our knowledge base for more articles and glossary terms. Level up your knowledge with our articles on core concepts in web analytics.

Continue learning
Compare list
Get help

Send us a message