GTM Ultimate Stack

Write your own GTM standard

Turn a house rule into a standard: choose what it applies to, pick one of 14 checks, set the severity, and read it back as a sentence before you save.

When to write one

Write a custom standard when a rule matters to you and the built-ins don't check it: every pixel tag declares ad consent, no tag is named after a person, every container keeps its Facebook tags in Custom Templates rather than Custom HTML. Choose Custom in the library to open the builder.

Choose what it applies to

Start with the entity: tags, triggers, variables, any of them, or the container itself. Then narrow it, or leave it wide:

  • Types: pick from the types actually used in your containers. Fetch types reads them across your accounts, including Community Template types, so you never type a type code from memory.
  • Name contains: any of a list of words.
  • Name pattern: a regular expression the name must match.
Types come from your own containers, templates included.

A checklist: Fetch types reads the types in use, listing GA4 Event, Custom HTML and a Community Template type.

Pick the check

A standard makes one check. There are 14, grouped by what they read:

  • Names: matches a pattern; must not contain a list of words; no stray or double whitespace.
  • Existence: at least one exists; must not exist (every match is a finding); the count is exactly, at most or at least a number.
  • Tag settings: declares these consent types; a parameter references a {{variable}}, not a literal; has at least one firing trigger; Custom HTML must not contain a word; the firing option isn't left on the default; event parameter keys are snake_case.
  • Container: open workspaces at most N; these built-in variables are enabled.
Names, existence, tag settings and container checks: 14 in all.

A grid of the four kinds of check a standard can make and which items each applies to.

Severity, category and a sentence

Choose error, warning or info, and a category: an existing one or a new one such as Server-side. Before you save, the builder reads the standard back in plain words, for example Tags of type Custom HTML named like "pixel" that don't declare ad_storage, ad_user_data. If the sentence isn't what you meant, the standard isn't either.

Entity, applies to, the check, the severity.

A custom standard form: tag entity, types and a name filter on the left, the consent check and an error severity on the right.

Test it, then trust it

Run the audit on one brand you know well. If a standard flags things that are fine, its Applies to is too wide; if it flags nothing in a container you know breaks the rule, it's too narrow. Adjust, run again, then roll it out to every brand.

Free keeps one custom standard. Premium keeps any number.

Questions about custom standards

?

Can one standard check two things?

No. Write two standards. They'll appear together if you give them the same category.

?

Can a standard apply to only some brands?

No. Every enabled standard runs against every container you pick. Choose brands per run, or switch the standard off for runs where it doesn't apply.

?

What's the difference between Must not exist and Name must not contain?

Must not exist flags every item the standard applies to. Name must not contain flags only the items whose names include one of the words.

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.