GTM Ultimate Stack

Run GTM across every container from one screen

The complete guide to the ODDVX GTM modules: inventory and clean up every container, check them against your standards, and see what depends on what before you change it, across every brand you manage.

Every container, one screen

Google Tag Manager is organised one container at a time. That is fine for one website. It becomes the bottleneck when you look after a portfolio: several brands, several markets, staging containers beside live ones, containers set up by different people in different years, and a client who wants to know whether consent is handled the same way on every site.

The GTM Ultimate Stack is the set of ODDVX modules for that work:

  • Reads run across every container of the brands you choose at once: the full inventory with what uses what, conformance to your standards, and the dependencies behind any tag, trigger or variable.
  • Writes (rename, pause, delete, create and copy) always show a dry run first, are staged into a GTM workspace in each container, and are never published by ODDVX.

This guide explains how the three modules fit together, what each one reads and writes, and how a GTM change stays reviewable from start to publish. Each section links to the module's own guide, or to a shorter guide for the job in front of you.

One read-only check across six containers. The two that don't conform are flagged with the reason.

A standards check fans out to six GTM containers: four conform, two have findings with short reasons.

The one-by-one problem in GTM's interface

Answering a simple portfolio question in GTM means opening a container, clicking through its tags, triggers and variables, noting what you see and doing it again. Does every GA4 tag declare analytics consent? Is there a trigger nothing uses any more? Does each container still have exactly one GA4 configuration tag? What stops working if this variable is deleted? A dozen brands means a dozen passes, and the difference you are looking for is easy to miss on the eleventh.

ODDVX puts the containers side by side. You pick the brands, run the module once, and the container that doesn't match stands out in one table.

QuestionIn GTM's interfaceIn ODDVX
What tags, triggers and variables exist?Tags, Triggers and Variables lists, per containerInventory & Cleanup: one table across every container of the brands you pick
Is anything no longer used?Open each item's references, per containerInventory & Cleanup: a usage verdict on every row
Does every container meet our standards?Read each tag's settings, per containerStandardization Audit: built-in and custom standards, findings per container
What breaks if I change this?Trace the references by handTag Dependency Map: everything that leads to an item and everything it leads to
How do I roll one change out everywhere?Rebuild it in each containerInventory & Cleanup: build it once, stage it in a workspace per container
The same screens repeated per container, or one table across all of them, with differences surfaced.

A comparison: GTM's interface needs the same five checks in each of six containers, while ODDVX shows all six in one table and previews any change.

How the GTM Ultimate Stack works

The modules group into four jobs, plus one rule that applies to all of them:

See, check, trace and change, with your publish in GTM after every change.

Five steps in a row: see, check, trace, change, and a final human gate where you publish in GTM.

Brands, GTM accounts and containers

ODDVX works with the brands you have set up in the app. Each brand points at a GTM account, and an account holds one or more containers: live sites, staging containers, old microsites.

Each module reads that scope slightly differently:

  • Inventory & Cleanup extracts every container in the accounts of the brands you pick. Narrow the table with the Container filter afterwards.
  • Standardization Audit checks the brands you pick. When one GTM account holds several brands, set each brand's container in the app and the audit checks only that brand's container; otherwise it checks every container in the account.
  • Tag Dependency Map loads one GTM account at a time and maps every container in it.
  • Copy reaches further than any extract: its targets include every web container your Google account can see.

If a container you expect is missing, check first that your Google account has access to it in GTM.

A brand maps to a GTM account, and the account to its containers. Staging containers come back too, so confirm the scope before you act.

A diagram linking three brands to their GTM accounts and the web containers below them, including a staging container.

What each module reads and writes

Two modules only read; one can also change your containers. Knowing which is which tells you what to expect from a run:

ModuleReadsWrites
Inventory & CleanupEvery tag, trigger and variable, its usage and what references itRename, pause, activate, delete, create and copy, staged into a workspace per container; never published
Standardization AuditEvery container's tags, triggers and variables against the standards you switch on, including settings such as consent and firing options—
Tag Dependency MapOne account's tags, triggers, variables and dataLayer events, and the links between them—
Every module reads across containers. Only Inventory & Cleanup writes, and only into workspaces.

A grid of the three GTM modules against reads many containers, writes, and where each write lands.

The three modules

Inventory & Cleanup

Extract every tag, trigger and variable from the brands you pick in one pass, read a usage verdict on each row, and stage renames, pauses, deletes, new items and copies across as many containers as the change needs. It is the stack's only writing module, and the one with a full guide series: start with the complete Inventory & Cleanup guide.

Standardization Audit

A read-only check of every container against your standards. A standard says which items it applies to and what they must satisfy, and it can read settings, not just names. About 18 standards are built in, in four groups:

  • Consent & privacy: a Consent Initialization trigger exists; GA4 tags declare analytics consent; ads and Floodlight tags declare ad consent.
  • GA4 configuration: exactly one GA4 configuration tag, no hardcoded Measurement IDs, no Universal Analytics tags, snake_case event parameter keys.
  • Naming & hygiene: no placeholder names or stray whitespace, and naming patterns for GA4 event tags, dataLayer triggers, Custom HTML tags and lookup tables.
  • Tag hygiene & structure: no document.write in Custom HTML, no orphaned tags, firing options set on purpose, open workspaces within GTM's limit, required built-in variables enabled.

Switch each standard on or off, delete the ones you don't use, and add your own: a name pattern, a word a name must not contain, the consent types a tag must declare, a count. Each standard carries a severity. Results come back per container and name every item that doesn't conform. The audit never changes anything: stage the fix in Inventory & Cleanup, or make it in GTM. Read the complete Standardization Audit guide.

Findings per container, against the standards you switched on.

A table of standards results per container: most conform, while one container is missing analytics consent on GA4 tags and another has a hardcoded Measurement ID.

Tag Dependency Map

Load one GTM account and search for any tag, trigger, variable or dataLayer event. The map shows what leads to it and what it leads to: the triggers that fire or block a tag, the variables a tag or trigger reads, variables that read other variables, and the dataLayer event a Custom Event trigger listens for. Built-in variables such as Page URL appear too, because a reference to one is still a dependency.

Use it before you rename, pause or delete something, to see what else would be affected. It only reads, and there is nothing to schedule: it is a viewer you open when you need it. Read the complete Tag Dependency Map guide.

One variable, everything that uses it and everything it uses.

A dependency map centred on a dataLayer variable, linked to the tag and trigger that use it, the lookup variable it feeds and its dataLayer key.

GTM changes are staged, not published

This is the biggest difference from the GA4 Ultimate Stack. GA4 has no workspace, so a confirmed GA4 change is live. GTM has workspaces and a publish step, and ODDVX keeps both between your change and your live site:

  • Stage the change in the inventory table.
  • Run the dry run. It writes nothing, not even a workspace, and shows what will happen in each container, including anything skipped and why.
  • Apply sends exactly that batch into a workspace per container, under one name you choose.
  • Publish in GTM, container by container, after your own checks. ODDVX never publishes.

Until you publish, a change can still be discarded by deleting its workspace in GTM; after publishing, GTM's version history is your rollback. See Read the Review & apply preview and Workspaces, publishing and recovery.

Stage, dry run, apply into workspaces, then your publish in GTM.

Four steps: stage the change, a dry run that writes nothing, apply into a workspace per container, and the human gate where you publish in GTM.

Free and Premium for GTM work

Every GTM module is available on Free, one GTM account per run. Within that account, Inventory & Cleanup extracts every container and creates and copies between them, Standardization Audit runs every built-in standard and keeps one custom standard, and Tag Dependency Map maps the whole account.

Premium removes the scope limit, so you can select brands in several GTM accounts in one run and create and copy across accounts. It also keeps any number of custom standards, and adds export, email delivery and scheduled reports and audits. Compare the plans.

Free covers every module inside one GTM account. Premium adds several accounts in one run, custom standards, exports and schedules.

Two panels comparing Free and Premium for the GTM modules.

What the GTM stack does not do

  • Publish. You publish in GTM, container by container.
  • Edit an existing item's configuration. You can rename, pause, activate, delete, create or copy. For other edits, use GTM itself.
  • Fix what an audit finds. Standardization Audit and Tag Dependency Map only read. Stage the fix in Inventory & Cleanup, or make it in GTM.
  • Analyse usage for server, AMP or app containers. Those rows show n/a, because clients and transformations there are outside the analysis.
  • Schedule a change. Only reads run on a schedule.
  • Delete workspaces. Remove a workspace you no longer need in GTM.
The edges of the GTM stack.

A list of limits: no publishing, no configuration edits, audits don't fix, no usage analysis outside web containers, changes never scheduled, workspaces not deleted.

Choose your workflow

Each guide covers one job:

If you need to…Read
Learn the whole inventory and cleanup workflowThe complete Inventory & Cleanup guide
Take over a portfolio and understand what is in itInventory every brand in one extract
Understand what In use, Only inactive users and Orphaned meanRead the usage verdicts
Remove orphaned triggers and variables everywhereClean up orphans in one batch
Decide what to do with a tag that looks oldPause, delete or retain
Apply a naming convention across brandsRoll out a naming convention
Launch the same tag, trigger or variable everywhereCreate in every brand at once
Clone a working setup into a new brandCopy a setup to other brands
Roll out a Community Template tagRoll out a template tag
Replace one vendor's tag with anotherSwap a vendor tag everywhere
Understand exactly what Apply will doRead the review preview
Publish, roll back or resume a batchWorkspaces, publishing, recovery
Get a regular orphan or inventory reportSchedule an orphan report
Check every container against your standardsThe complete Standardization Audit guide
See what breaks before you change somethingThe complete Tag Dependency Map guide
Four kinds of job, and the module for each.

A branching diagram from your job today to see, check, trace and change, each leading to the matching module or guides.

Questions people ask first

?

Does ODDVX publish my containers?

No. Every change is staged into a workspace in each container. You review and publish it in GTM yourself.

?

Can I undo a change?

Before Apply, discard it in ODDVX. After Apply but before publishing, delete the workspace in GTM. After publishing, use GTM's version history.

?

Do the audits change anything?

No. Standardization Audit and Tag Dependency Map only read. Only Inventory & Cleanup writes, and only into a workspace.

?

Which containers can it see?

Any container your Google account has access to in GTM. If one is missing, check that access first.

?

Can it work on server-side containers?

They appear in the inventory and can be renamed or deleted, but usage analysis shows n/a for server, AMP and app containers, and Copy only offers web containers as targets.

?

Do I need Premium?

Not to use any module inside one GTM account. Premium is for several accounts in one run, more than one custom standard, exports, email and schedules.

ODDVX for Windows

Every container, one screen.

Start free on one GTM account. Premium adds several accounts in one run, exports and scheduled reports.