GTM container audit · demonstration — a Project5 sandbox container seeded with the tag rot we typically find; not a client's data
Project5 Demo GTM-W44B54PP
Account 6370292845 · Container 260639462 · Workspace Default Workspace · Audited 2026-08-08
87/100B
Sound, with loose ends. Nothing here is costing you data today.
4 tags · 3 triggers · 1 variable · 15 findings: 1 high, 12 medium, 2 low.
Category scores
| Category | Score | Grade | Findings | High | Med | Low |
|---|---|---|---|---|---|---|
| Zombie tags | 93 | A | 1 | 0 | 1 | 0 |
| Consent posture | 73 | C | 3 | 1 | 2 | 0 |
| Duplicates | 93 | A | 1 | 0 | 1 | 0 |
| Performance weight | 84 | B | 3 | 0 | 3 | 0 |
| Orphaned entities | 90 | A | 2 | 0 | 1 | 1 |
| Version hygiene | 93 | A | 1 | 0 | 1 | 0 |
| Naming hygiene | 83 | B | 4 | 0 | 3 | 1 |
What we would fix first
-
1
High1 third-party tag firing before consent
Declare the consent types each one needs, or gate it behind a consent trigger, and confirm the privacy notice lists them.
Consent posture: “Hotjar tracking” (tag 17)
-
2
Medium4 placeholder or leftover names
Rename it to the container convention, or delete it if it is dead.
Naming hygiene: “Copy of Hotjar test” (tag 15), “Copy of test trigger” (trigger 12), “Untitled trigger” (trigger 13), …
-
3
Medium3 custom HTML tags on every page
Restrict it to the pages that need it, or replace it with the vendor template.
Performance weight: “Copy of Hotjar test” (tag 15), “E2E Marker Tag” (tag 4), “Hotjar tracking” (tag 17)
-
4
Medium2 tags with no consent settings
Record the consent types it requires so the container documents its own obligations.
Consent posture: “Copy of Hotjar test” (tag 15), “E2E Marker Tag” (tag 4)
-
5
Medium1 paused tag
Delete it if the campaign is over, or note in the tag why it is parked.
Zombie tags: “FB Pixel OLD - do not delete??” (tag 16)
Detail
Zombie tags
93/100A20% of the total
4 tags: 1 paused, 0 with no trigger, 0 pointing at deleted triggers.
- Tags
- 4
- Paused
- 1
- Never fires
- 0
- Dangling trigger refs
- 0
-
Medium
Tag "FB Pixel OLD - do not delete??" is paused and has been left in the container.
FixDelete it if the campaign is over, or note in the tag why it is parked.
Consent posture
73/100C18% of the total
0 of 3 active tags declare consent settings; 1 third-party tag fires unconditionally. Review, not legal advice.
- Active tags
- 3
- Consent configured
- 0
- Consent not set
- 3
- Third party unconditional
- 1
-
High
Third-party tag "Hotjar tracking" fires on every page with no consent conditions.
Type html, loading static.hotjar.com. It runs before a visitor has agreed to anything.
FixDeclare the consent types each one needs, or gate it behind a consent trigger, and confirm the privacy notice lists them.
-
Medium
Tag "Copy of Hotjar test" has no consent settings configured.
GTM reports its additional consent checks as NOT_SET, so nothing in the container records what this tag needs.
FixRecord the consent types it requires so the container documents its own obligations.
-
Medium
Tag "E2E Marker Tag" has no consent settings configured.
GTM reports its additional consent checks as NOT_SET, so nothing in the container records what this tag needs.
FixRecord the consent types it requires so the container documents its own obligations.
Duplicates
93/100A15% of the total
0 duplicate tag sets and 1 duplicate trigger set.
- Duplicate tag sets
- 0
- Duplicate tags
- 0
- Duplicate trigger sets
- 1
- Duplicate triggers
- 3
-
Medium
3 triggers have identical type and conditions: "E2E All Pages", "Copy of test trigger", "Untitled trigger".
FixPoint every tag at one of them and delete the copies.
Performance weight
84/100B15% of the total
3 active tags: 3 custom HTML (100%), 3 firing on every page.
- Active tags
- 3
- Custom html tags
- 3
- Custom html share
- 100
- Custom image tags
- 0
- All pages tags
- 3
- All pages share
- 100
-
Medium
Custom HTML tag "Copy of Hotjar test" fires on every page.
FixRestrict it to the pages that need it, or replace it with the vendor template.
-
Medium
Custom HTML tag "E2E Marker Tag" fires on every page.
FixRestrict it to the pages that need it, or replace it with the vendor template.
-
Medium
Custom HTML tag "Hotjar tracking" fires on every page and loads static.hotjar.com.
FixRestrict it to the pages that need it, or replace it with the vendor template.
Orphaned entities
90/100A12% of the total
1 of 3 triggers and 1 of 1 variable are referenced nowhere.
- Triggers
- 3
- Unused triggers
- 1
- Variables
- 1
- Unused variables
- 1
-
Medium
Trigger "Untitled trigger" is not used by any tag.
FixDelete it, or attach the tag it was built for.
-
Low
Variable "temp var 2" is referenced nowhere in the container.
FixDelete it, or wire it into the tag that was supposed to send it.
Version hygiene
93/100A12% of the total
Version 2 is live out of 2 versions in history, published today; 6 unpublished workspace changes.
- Versions
- 2
- Live version id
- 2
- Live version name
- E2E v1
- Workspace changes
- 6
- Days since last publish
- 0
-
Medium
The workspace holds 6 unpublished changes (6 added, 0 modified, 0 removed).
The live site is running an older configuration than the one this audit reads.
FixPublish the work that is ready and revert the rest, so the workspace stops hiding drift.
Naming hygiene
83/100B8% of the total
8 named entities: 4 placeholder or leftover names, 0 entity types with mixed conventions.
- Entities
- 8
- Placeholder names
- 4
- Mixed convention kinds
- 0
-
Medium
Tag "Copy of Hotjar test" still carries a "copy" name from duplication.
FixRename it to the container convention, or delete it if it is dead.
-
Medium
Trigger "Copy of test trigger" still carries a "copy" name from duplication.
FixRename it to the container convention, or delete it if it is dead.
-
Medium
Trigger "Untitled trigger" was never renamed from the GTM default.
FixRename it to the container convention, or delete it if it is dead.
-
Low
Variable "temp var 2" reads as scratch or abandoned work.
FixRename it to the container convention, or delete it if it is dead.