Skip to content

Analytics8 min

Google Tag Manager setup: what to check, what doubles up

Installing Google Tag Manager is easy. Setup mistakes stay for years. The most common one: GA4 is installed through a plugin and through Tag Manager, so every purchase is counted twice. Below are six checks for EU stores, before and after you publish. Audit €200 + VAT.

In short

  • GA4 goes through one path: the Google tag or Tag Manager, not both
  • Before installing, check whether a theme or plugin already added GA4
  • Consent Mode v2 defaults are set before any other tag fires
  • Every purchase carries a unique transaction_id
  • Publish only after Preview and one test order

Google tag or Google Tag Manager: which path to choose

The Google tag (gtag.js) is a single code snippet that sends data to Google products only. Google Tag Manager is a container: it manages Google, third-party and custom tags without changing the site code. If you already use Tag Manager, Google recommends keeping it.

What matters is not which path you pick but that you pick one. Google's GA4 help page says it plainly: using both at once overcounts data. On a small site with one goal, Tag Manager often just adds a layer someone has to maintain.

How to install the Tag Manager container in one place

The container has two snippets. The first goes as high in the page head as possible, the second right after the opening body tag. WordPress, Shopify or Wix do the same through an integration or a plugin, but choose one place: the theme or the plugin.

Before adding the container, check what is already there. Open the page source and search for GTM- and G- IDs:

  • two different GTM- IDs mean two containers
  • a G- next to a GTM- means GA4 already arrives by another path
  • on WordPress the usual sources are the theme, Site Kit, a WooCommerce analytics plugin and the consent platform

Why GA4 counts purchases twice

In our audits the most common cause is two paths into the same GA4 property: a plugin with its own Google tag and Tag Manager with a GA4 tag. Other causes:

  • two Tag Manager containers on the same page
  • a purchase tag with two triggers, e.g. a page view and a custom event
  • leftover Universal Analytics or old Google Ads conversion tags

Reloading the thank-you page sends the purchase again. GA4 merges such duplicates only when the purchase carries the same transaction_id, and only for web streams. In one store we found a third path: a second website mixed its traffic into the same property through a shared container.

How to test before publishing: Preview and one order

Preview mode opens the site as if the draft were already published. Tag Assistant shows which tags fired and in what order. The Consent tab shows the default and updated consent state: if it is empty, Consent Mode is not installed.

The last test is one real order. Count how many purchase events reached GA4, Google Ads and Meta, whether the amount matches and whether a transaction_id was sent. Publish the version with a clear name, so there is something to roll back to.

Server-side Tag Manager: when it pays off and what it does not fix

A server-side container processes data on a server you control, not in the visitor's browser. That means a separate server and separate costs. It makes sense for a store with several ad platforms, not for a brochure site.

Consent is still set by the web container. A server-side path without a consent check is the hardest violation to spot, because nothing shows in the browser, and that is exactly what we found in one store. Start with an audit: €200, and the fix is quoted from the findings. Get in touch.

End

FAQ.

Next article

When GA4 shows half the purchases: a tracking audit in an online store