Auditing a GTM Container You Did Not Build

The usual version goes like this. An agency or a freelancer set up Google Tag Manager two or three years ago. They have since left. Google Ads reports more purchases than Shopify has orders, Meta reports a different number again, and nobody can say which one is right. You open the container and find dozens of tags with names like “GA4 – Copy” and “Test pixel DO NOT DELETE”, and you have no idea which of them matter.

I read the pages ranking for “google tag manager audit” before writing this. They are good housekeeping guides: naming conventions, folders, consolidating tags. Every one of them assumes you built the container yourself. None of them asks who still has the keys, none tells you to take a backup first, and none looks at the tracking running outside the container, which on a Shopify store is where most of the double counting comes from. That is the audit this post covers.

What does an inherited container look like?

An inherited container is one where the person who understood it is gone. You can recognize one by its symptoms long before you open it:

  • The platforms disagree with the store. Google Ads or Meta shows more purchases than your Shopify orders report, or far fewer.
  • Nobody knows who has access. The login belongs to a former employee, a former agency, or an email address nobody checks.
  • Changes are frightening. Nobody touches the container because the last time someone did, a conversion stopped recording and it took a month to notice.
  • Tags exist that nobody can explain. Old Universal Analytics tags, pixels for tools you cancelled, custom HTML blocks with no notes.

Google Tag Manager (GTM) is the tool that loads your tracking tags, the small scripts that tell Google, Meta and others what happened on your site. If it is wrong, every report built on top of it is wrong, including the ones your ad budget decisions rest on. So the audit starts with control, not with tags.

Who actually controls your container?

Whoever holds Administrator rights on the GTM account controls your container, and on an inherited store that is often not you. Open Admin, then User Management, at both the account level and the container level, and write down every email listed.

GTM has two layers of permission, and Google’s documentation on users and permissions sets them out. At the account level a user is either a User, who can see basic account information, or an Administrator, who can create containers and change everyone’s permissions. At the container level the rights run from Read through Edit and Approve up to Publish, and only Publish can push a change live.

CheckWhat you want to seeWhat to do if not
Account AdministratorAt least one email you own and control, ideally two.Ask the current Administrator to add you. If nobody can, this becomes the most urgent item in the audit, because nobody can grant access later either.
Container Publish rightsOnly people currently working on the site.Downgrade or remove former agencies and staff. Anyone with Publish can change what fires on your checkout today.
Personal vs shared addressesAccess tied to an address the business owns.Add a business-owned address as Administrator before removing a personal one, never after.
Linked accountsThe GA4 property and Google Ads account the tags send to are yours.Check the IDs inside the tags against the accounts you actually log in to.

Add yourself before you remove anyone. Removing the last Administrator on an account you do not fully control is the one mistake in this audit that cannot be fixed from inside GTM.

Back it up before you change anything

Export the live container version to a file before you change a single tag. Google’s container export and import guide covers it: Admin, Export Container, choose the published version, and download it as a JSON file. That file can be imported back later if something breaks.

Then open the Versions tab. GTM keeps a history of every published version with the name of who published it and when, as its publishing and versions documentation describes. On an inherited container this history is the closest thing you have to notes. A version published the week your conversions changed is where to look first.

Two habits for everything that follows. Make changes in a new workspace, not the default one, and give every version you publish a name that says what changed. The next person to inherit this container may be you in a year.

Is GTM even the thing firing your tags?

Often it is not, and this is the check the ranking guides skip. On a Shopify store tracking can live in at least four places, and the GTM container is only one of them. Auditing the container alone tells you nothing about the other three.

Where tracking livesHow to find itWhat goes wrong
The GTM containerGTM itself, the Tags list.Covered below. The only one of the four most audit guides look at.
Hardcoded in the themeSearch theme.liquid and the theme files for gtag(, fbq( and GTM-.A GA4 or Ads tag pasted in years ago, still firing next to the same tag in GTM.
Shopify app pixelsShopify admin, Settings, Customer events. Also the Google & YouTube and Facebook & Instagram sales channels.The app sends purchases to Google Ads or Meta while a GTM tag sends the same purchase again.
Custom pixelsSettings, Customer events, Custom pixels.A developer added GTM or a vendor script here and nobody wrote it down.

Custom pixels matter more than they look. Shopify’s custom pixels documentation says they can collect events on the checkout and post-purchase pages, and that they run in a sandbox where not every piece of pixel functionality works. In practice that means purchase tracking on a modern Shopify store may be running from Customer events rather than from the container you are looking at.

So the first real output of the audit is a list: every place a Google, Meta or other tag is loaded, and which conversion each one sends. Until you have that list, you cannot say whether a tag in GTM is the only copy or the third.

Am I counting the same sale twice?

Probably, if Google Ads or Meta reports more purchases than Shopify has orders over the same dates. That comparison is the ten-minute test, and you can run it without opening GTM at all.

  1. Pick the last full month. Note the order count from Shopify Analytics.
  2. Note the purchase conversions Google Ads reports for the same month, using the Conversions column for your primary purchase action.
  3. Divide one by the other. Google Ads will never see every order, because some customers arrive from other channels, so its number should be lower than Shopify’s. If it is higher, something is counting the same sale more than once.
  4. Repeat for Meta, keeping in mind that Meta credits sales differently and its numbers are never directly comparable to Google’s.

To find which tags are responsible, place a test order with GTM in preview mode. Google’s preview and debug guide explains the setup. Watch the purchase step and count how many tags fire for one order. Then check the Customer events and sales channel settings for anything sending the same event outside GTM. Two Google Ads purchase tags on one order, one from GTM and one from the Google & YouTube app, is the pattern I find most often in an inherited account.

Do not fix double counting by deleting the tag you understand least. Decide which source should own each conversion, usually the Shopify app or a single GTM tag, then switch the others off one at a time and watch the conversion count for a week after each change.

What to check inside the container

Once you know what GTM is responsible for, the container review itself is quick. Work through the Tags list with the preview open and sort each tag into keep, fix or remove.

  • Dead tags. Universal Analytics stopped processing data years ago. Any tag for it is clutter. So is a pixel for a tool you no longer pay for.
  • Custom HTML tags. Read every one. They can contain anything, including a second copy of a tag that also exists as a proper template.
  • Triggers set to All Pages. Fine for a base tag. A conversion tag on All Pages counts every page view as a sale.
  • Paused tags. Decide whether each is meant to come back. If nobody knows, export it in your backup and delete it.
  • Consent settings. If you sell to shoppers in regions with consent rules, check whether the tags respect your cookie banner. Google’s consent mode setup guide is the reference for how Google tags should behave before and after a shopper answers it.
  • IDs. Check every measurement ID and conversion ID against the accounts you own. An inherited container sometimes still sends data to the old agency’s test property.

Naming and folders matter, and the ranking guides cover them well. They come last here because a tidy container that double counts purchases is still wrong.

Which fixes come first?

Fix control first, then counting, then tidiness. The order is set by what each problem costs you while it stays broken.

OrderFixWhy it is here
1Get Administrator access on an address the business ownsEvery later fix depends on it, and it can only get harder to recover.
2Export a backup of the live versionMakes every change after it reversible.
3Map every place tags load, in and out of GTMWithout the map you cannot tell a duplicate from the only copy.
4Remove duplicate purchase trackingOverstated conversions mislead the people and the automated bidding spending your budget.
5Remove former agencies and staff from PublishCloses the door on changes nobody asked for.
6Delete dead tags and check consent behaviorLower risk, still worth doing in the same pass.
7Rename, document and organize into foldersUseful, and the easiest to postpone without harm.

Step four is the one with money attached. Google Ads uses the conversions you send it to decide what to bid, so a purchase counted twice teaches automated bidding that a campaign is working better than it is. That ties GTM directly to the questions in my Google Analytics audit and to the checks in what to verify before trusting a GA4 ecommerce report. If you are weighing whether to move tracking server side once the container is clean, server-side tracking on Shopify covers when it is worth it.

The unglamorous part is that most of this audit is not inside GTM at all. It is access, a backup file and a list of where tags live. The container clean-up everyone writes about is the last step, and the one that matters least.

Questions people ask

What is a Google Tag Manager audit?
A review of what your GTM container loads, who can change it, and whether the conversions it sends to Google, Meta and others match what actually happened in your store. On an inherited container it should also cover the tracking that runs outside GTM.
How often should you audit a GTM container?
Whenever the people managing it change, and after any site migration or theme change. A container nobody has changed is not the risk; one that several people have changed without notes is.
Can I audit GTM without admin access?
You can review tags with Read access, but you cannot see or fix user permissions, and you cannot publish anything you find. Getting Administrator access on a business-owned address is the first step for that reason.
Why does Google Ads show more conversions than Shopify orders?
Usually because the same purchase is sent more than once, for example by a GTM tag and by the Google and YouTube app at the same time. Place a test order in preview mode and count the purchase tags that fire.

Want this run properly?

I am Greg Asuncion, an ecommerce paid media consultant. I run Google Ads, Meta, Amazon and Microsoft for direct‑to‑consumer brands on Shopify — one person, published pricing, and a free audit after a call. Here is the advertising audits, which verify conversion tracking end to end.