GTM Ultimate Stack
Manage GTM across every brand from one table
The complete guide to ODDVX Inventory & Cleanup: extract every tag, trigger and variable across your brands, clean up with evidence, and build a change once to stage it in every container. Publishing stays with you.
One table for every brand you manage
If you look after more than one brand in Google Tag Manager, you already know the shape of the work. A new conversion has to go into every site. An old vendor has to come out of every container. A naming rule has to hold across accounts that were set up by different people in different years. Each of those jobs is simple once, and slow and error-prone when it has to be repeated container by container.
Inventory & Cleanup is the ODDVX module for that work. It puts every tag, trigger and variable from the brands you choose into one table. From that table you can rename, pause, delete, create and copy items across as many containers as the change needs. All of it is staged into a GTM workspace and shown to you in a preview before anything is written.
ODDVX never publishes. You open each container in GTM, check the workspace and publish it yourself, so the human gate stays exactly where it is today.
This guide walks through the whole module: how it reads your brands, what the inventory shows, what each action does, how changes are kept safe, and what the module deliberately does not do. Each section links to a shorter guide for the job you have in front of you.
A create-tag card for GA4 - Event - generate_lead is wired to six brand containers, each marked staged.
The one-by-one problem
Here is what adding one GA4 event to six brands looks like in GTM's own interface. You open the first container and create a workspace. You recreate the Data Layer Variable, the Custom Event trigger and the tag, then check the names and settings. Then you go back to the container list and do it again, five more times.
The repetition isn't the only cost. Every pass is a chance for a name to drift, a setting to be mistyped or a brand to be forgotten. The more brands you manage, the more the containers drift apart, and the harder the next audit becomes.
ODDVX doesn't replace GTM. It removes the repetition between you and GTM. You fill in the change once, choose the containers, read one preview and apply it. Then you publish each container in GTM as you always would.
The same change, two ways
| Step | In GTM's interface | In ODDVX |
|---|---|---|
| Find the containers | Open each container from the account list | One extract across the brands you choose |
| Prepare a workspace | Create one per container, by hand | Created per container, under one name you choose |
| Build the variable, trigger and tag | Re-enter every field in every container | Fill in one form, choose every target |
| Check for gaps | Notice them as you go, if you notice them | The preview lists every container and every skipped item with its reason |
| Publish | In GTM, per container | In GTM, per container: unchanged |
A comparison: GTM's interface needs five steps per brand across six brands, while ODDVX fills the change once, picks six containers, previews and stages them together.
How Inventory & Cleanup works, in five stages
Every job in this module follows the same five stages. Knowing them makes the rest of the series easy to follow.
- Extract. Pick the brands you want to review and press Extract. Every tag, trigger and variable in every container of those brands comes back in one pass. There is no filter to set first: you narrow the results afterwards.
- Filter. Narrow the table to one question: orphaned triggers, tags of one type, items whose name breaks a rule, one container.
- Stage. Select rows and choose an action, or add new items. Every change appears in the same table as a pending row. Nothing has been written yet.
- Review & apply. ODDVX runs a dry run of the whole batch and shows what will happen in each container. Apply sends exactly that batch into a workspace per container.
- Publish in GTM. You open each workspace in GTM, test it and publish it. ODDVX stops at the workspace.
Five steps in a row: extract, filter, stage, review and apply, then publish in GTM, which is marked as the human gate.
Brands, GTM accounts and containers
ODDVX works with the brands you have set up in the app, and each brand points at a GTM account. When you pick a brand and extract, ODDVX walks every container in that GTM account: production sites, staging containers, old microsites. That is deliberate. It gives you the full picture, and you can narrow it with the Container filter afterwards.
Two things are worth knowing before your first extract:
- One GTM account can hold several brands. Some groups keep several sites in one GTM account. Picking any of those brands returns every container in that account. Use the Container filter to focus on the one you need.
- Copy reaches further than the extract. When you copy an item, the target list includes every web container your Google account can see, whether or not you extracted it. Create, by contrast, targets the containers in your current extract.
If a container you expect is missing, check first that your Google account has access to it in GTM.
A diagram linking three brands to their GTM accounts and from there to five web containers, including one staging container.
Reading the inventory
The extracted table has one row per tag, trigger and variable. The columns are:
- Name. You can double-click it to rename a single item.
- Type. Shown with GTM's own type names. Community Template items show the template's name.
- Status. Active or Paused, for tags only.
- Usage. Whether anything that can fire actually depends on the item.
- Account and Container. The Container column appears once more than one container is in the extract.
Above the table, five tiles count Tags, Triggers, Variables, Orphaned and Only inactive users. Clicking a tile applies it as a filter; clicking it again clears it.
The Usage column is the one people misread most, so it gets its own guide. In short:
- In use means something that can fire depends on the item.
- Only inactive users means it is referenced, but only by things that can't fire, such as a paused tag.
- Orphaned means nothing references it at all.
None of these is the same as a tag being paused. Reading GTM usage verdicts explains each case.
An inventory table with five count tiles. The Orphaned tile highlights and the table narrows to three orphaned rows across brands.
The seven actions
Everything you can do from the inventory table falls into seven actions. Each one applies to particular kinds of item:
| Action | Applies to | What happens |
|---|---|---|
| Rename | Tags, triggers, variables | Find & replace across the selected or shown rows, or double-click one name |
| Pause / Activate | Tags only | Staged per tag; triggers and variables have no paused state |
| Delete | Tags, triggers, variables | Staged; 10 or more deletes in one batch ask you to type DELETE |
| Create | Tags, triggers, variables | A GTM-style form for GTM's common built-in types, staged once per target container |
| Copy to… | Any existing row | Copies into other web containers, optionally with the triggers and variables it needs |
| Export / email | The table | A CSV of the inventory, or the same file sent by email (Premium) |
| Scheduled report | The extract only | A recurring extract with your filters; it never changes anything (Premium) |
A grid of seven actions against tags, triggers and variables, with the plan each action needs.
One batch, many kinds of change
You don't have to apply one kind of change at a time. A single batch can create a variable, a trigger and a tag, copy a template tag, rename three old tags and pause one more. The bar at the bottom of the panel keeps count, for example 9 pending changes · 4 creates, 3 renames, 1 pause, 1 delete. Discard all or Revert undoes staged work before anything is written.
When you apply, ODDVX works through each container in dependency order: new variables first, then new triggers, then new tags, then the edits to existing items. That ordering is what lets a tag you create fire on a trigger you created in the same batch. It is also what makes a vendor swap possible in one review: stage the new tag, pause the old one and rename it, together. See Swap a vendor tag across brands in one reviewed batch.
Four columns, variables, triggers, tags and edits, fill with pending changes in the order they are applied.
The safety model
Writing to many containers at once only makes sense if you can see exactly what will happen first. These guarantees hold for every batch:
- Preview first. Review & apply always starts with a dry run that writes nothing, not even a workspace. Apply then re-sends that identical batch.
- A workspace per container. By default each container gets a new workspace under one name you choose. You can use the Default Workspace instead, and the review warns you that this is the one your team publishes from.
- Never published by ODDVX. The change sits in the workspace until you publish it in GTM.
- Copies never overwrite. If a target already has a trigger or variable with the same name, ODDVX reuses it, and flags it when its settings differ.
- Re-run to resume. If a batch stops part-way, run it again with the same workspace name. Whatever already landed is skipped, and the rest is created.
- Large deletions ask twice. A batch with 10 or more deletes asks you to type DELETE before Apply.
Two guides cover the details: Read the Review & apply preview and Workspaces, publishing and recovery.
A checklist: preview first, a named workspace per container, never published by ODDVX, copies never overwrite, re-run to resume, and typed confirmation for large deletions.
Free and Premium for multi-brand work
Every action in this module is available on Free. The limit is scope: one GTM account per run. Within that account you can extract every container, create in all of them and copy between them.
Premium removes that limit. You can:
- Select several brands, or all of them, in one extract.
- Create and copy across GTM accounts.
- Export the inventory as CSV or send it by email.
- Save an extract as a scheduled report.
If you run one brand, Free may be all you need. If your brands sit in separate GTM accounts, which is common for agencies, a portfolio change happens in one run only on Premium. Compare the plans.
Two panels: Free shows one account with all its containers unlocked and other brands locked; Premium shows brands A to H selected together.
What the module does not do
Knowing the edges saves time. Inventory & Cleanup does not:
- Publish. You publish in GTM, container by container.
- Edit an existing item's configuration. You can rename, pause, activate or delete it. For other edits, use GTM itself.
- Create every type from a form. The form covers GTM's common built-in tag, trigger and variable types. Trigger Groups, YouTube Video triggers and Community Template items are copied from a container that already has them.
- Use folders or tag sequencing. New items land at the container root, and a copy never carries setup or cleanup tags.
- Set consent settings in the Create form. A copy keeps the source's consent settings.
- Analyse usage for server, AMP or app containers. Those rows show n/a, because clients and transformations there are outside the analysis.
- Delete workspaces. Remove a workspace you no longer need in GTM.
A list of limits: publishing, editing an existing item's settings, some types in the form, folders, tag sequencing, consent settings in the form, non-web usage and deleting workspaces.
Choose your workflow
Each guide in this series covers one job. Start with the one in front of you:
| If you need to… | Read |
|---|---|
| Take over a portfolio and understand what is in it | Inventory every tag, trigger and variable across your brands |
| Understand what In use, Only inactive users and Orphaned mean | Reading GTM usage verdicts |
| Remove orphaned triggers and variables everywhere | Clean up orphans across brands in one batch |
| Decide what to do with a tag that looks old | Pause, delete or retain a GTM tag? |
| Apply a naming convention across brands | Apply a naming convention with find & replace |
| Launch the same tag, trigger or variable in every brand | Create the same item in every brand at once |
| Clone a working setup into a new brand or market | Copy a working setup from one brand to the rest |
| Roll out a Community Template Gallery tag | Roll out a Community Template tag to every container |
| Replace one vendor's tag with another everywhere | Swap a vendor tag across brands in one batch |
| Understand exactly what Apply will do | Read the Review & apply preview |
| Publish safely, resume or roll back | Workspaces, publishing and recovery |
| Get a recurring orphan or hygiene report | Schedule a recurring orphan report |
A branching diagram from 'your job today' to see, clean and build, each leading to the matching 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 batch?
Before Apply, use Discard all or Revert. After Apply but before publishing, delete the workspace in GTM. After publishing, use GTM's version history, or stage a pause in ODDVX and publish that.
What happens if one brand is missing a trigger my new tag needs?
That container is skipped, and the preview gives the reason. The other containers still go ahead. Add the trigger to the same batch, or create it and run the batch again.
Does Copy overwrite anything in the target?
No. A trigger or variable with the same name is reused and flagged if its settings differ. A tag with the same name is skipped, so you can choose a new name.
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. Copy only offers web containers as targets.
Do I need Premium?
Not for any action inside one GTM account. Premium is for several accounts in one run, CSV export, email and scheduled reports.
ODDVX for Windows
Build once. Stage it in every brand.
Start free on one GTM account. Premium adds several accounts in one run, exports and scheduled reports.