GTM Ultimate Stack
Tune the built-in GTM standards to your house rules
The 18 standards ODDVX ships, which are on from the start, which need your convention first, and how to switch, edit, delete and restore them.
What ships
The library starts with 18 standards in four groups. Eleven are on from the start, two are off, and five need your house convention before they can run:
| Standard | Group | Severity | From the start |
|---|---|---|---|
| Consent Initialization trigger exists | Consent & privacy | error | on |
| GA4 tags declare analytics consent | Consent & privacy | error | on |
| Ads / Floodlight tags declare ad consent | Consent & privacy | error | on |
| No hardcoded Measurement IDs | GA4 configuration | error | on |
| Exactly one GA4 configuration tag | GA4 configuration | error | on |
| No Universal Analytics tags | GA4 configuration | warning | on |
| GA4 event parameter keys are snake_case | GA4 configuration | info | off |
| No placeholder / junk names | Naming & hygiene | warning | on |
| No stray whitespace in names | Naming & hygiene | info | on |
| GA4 event tags follow a naming pattern | Naming & hygiene | warning | needs setup |
| DataLayer triggers use a “DL - ” prefix | Naming & hygiene | info | needs setup |
| Custom HTML tags follow a naming pattern | Naming & hygiene | info | needs setup |
| Lookup / RegEx table variables are prefixed | Naming & hygiene | info | needs setup |
| No document.write in Custom HTML | Tag hygiene & structure | error | on |
| No orphaned tags (no firing trigger) | Tag hygiene & structure | warning | on |
| Firing options set intentionally | Tag hygiene & structure | info | off |
| Open workspace count within GTM's limit | Tag hygiene & structure | warning | on |
| Required built-in variables enabled | Tag hygiene & structure | warning | needs setup |
A grid of the four standard groups with how many standards each holds and how many are on by default.
Set up the five that need your convention
Four naming standards ship with an example pattern, such as ^Google Analytics 4 - Event - for GA4 event tags or ^DL - for dataLayer triggers. Edit each pattern to your own convention, then switch it on. Required built-in variables enabled ships with a list of eight built-ins; trim it to the ones your tags actually rely on.
Switching one on before it's set up checks your containers against an example convention, and every name will fail.
An edit form for the GA4 event tag naming standard with a pattern field, severity choice and an enabled switch.
Switch, edit, delete
Every standard has a switch: off standards stay in the library but don't run. Edit any standard to change what it applies to, what it checks or its severity. Severity is yours to set: if a missing Consent Initialization trigger is a hard rule for your clients, keep it an error; if a stray space doesn't matter, make it info or switch it off.
Built-in standards can be deleted like your own. A deleted built-in stays deleted when ODDVX updates.
A standards library listing five standards with their category, severity and state: on, off or needs setup.
Updates and restoring defaults
When an ODDVX update adds a new built-in standard, it arrives switched off, so an update never changes what your audit checks without you choosing it. Restore defaults puts back the shipped library: every built-in, at its shipped setting, including any you deleted.
A four-step flow of the standards library over time.
Questions about the library
Why does every name fail a naming standard?
It's still on the example pattern. Edit the pattern to your convention.
What does Restore defaults do to my custom standards?
It resets the library to what ships. Note your custom standards before you use it.
Can I change a built-in's severity?
Yes. Edit the standard and choose error, warning or info.
ODDVX for Windows
One standard, every container.
Start free on one GTM account with every built-in standard. Premium adds several accounts in one run, any number of custom standards, exports and scheduled audits.