Why Documentation Matters
A Google Tag Manager container without documentation is a liability. When the person who set it up leaves, or when an audit is required six months later, nobody can answer basic questions: why does this trigger fire on that page? who added this Custom HTML tag? what does this Lookup Table do? what campaign was this conversion tag for?
Good documentation makes your container maintainable, auditable, and safe to hand over.
Layer 1: Tag Notes (Built Into GTM)
Every tag in GTM has a Notes field (click the pencil icon or find it in the tag edit panel). Use this for a minimum documentation standard:
- What this tag does (one sentence)
- Who added it and when
- Which campaign or feature it supports
- Whether it is temporary or permanent
- Any known quirks or dependencies
Example note for a Google Ads conversion tag:
"Fires on lead form thank-you page for Contact page lead. Primary conversion for all search campaigns. Added by J.Smith, 2025-03-15. Uses DLV-Form-Type to distinguish contact vs demo requests. Permanent."
Layer 2: Version Descriptions
Every published container version should have a description that summarises what changed. GTM's version history is your change log — but only if you fill in the descriptions:
- Good: "v14 - Added Meta Pixel Purchase event; fixed GA4 scroll trigger not firing on blog pages; archived 3 obsolete ad campaign tags from Q1"
- Useless: "Updates" or (empty)
Treat version descriptions like commit messages — specific, actionable, and informative for someone who was not in the room when the change was made.
Layer 3: External Documentation (Google Sheet or Notion)
For containers with 20+ tags, maintain an external reference document. A Google Sheet works well with the following columns:
| Tag Name | Platform | Trigger | Conversion Action | Status | Owner | Date Added | Notes |
|---|---|---|---|---|---|---|---|
| Tag - GADS - Conversion - Lead | Google Ads | Trig - Event - Form Submitted | Lead Form (Primary) | Active | Agency | 2025-01-10 | Enhanced conversions enabled |
| Tag - GA4 - Event - Purchase | GA4 | Trig - Event - Purchase | N/A | Active | In-house | 2025-02-01 | Reads from ecommerce data layer |
Layer 4: Data Layer Schema Document
If your site pushes custom events to the data layer, document the schema separately. For each event:
- Event name (exact string)
- When it fires (user action or page event)
- All properties pushed with it and their data types
- Which GTM tags consume it
Example entry for a purchase event:
- Event:
purchase - Fires when: order confirmed on checkout success page
- Properties:
ecommerce.transaction_id(string),ecommerce.value(number),ecommerce.currency(string, ISO 4217),ecommerce.items(array) - Consumed by: Tag - GA4 - Event - Purchase, Tag - GADS - Conversion - Purchase, Tag - Meta - Pixel - Purchase
Layer 5: Audit Trail for High-Risk Changes
For changes that could significantly impact tracking — removing a conversion tag, changing attribution models, altering enhanced conversion data — document the rationale and expected impact separately from the GTM version description:
- What changed and why
- What the old configuration was doing
- What the new configuration does
- How to validate the change worked as expected
- Rollback plan if issues arise
Summary
Documentation at four layers — tag notes, version descriptions, an external tag registry, and a data layer schema — makes your GTM container manageable at any team size. Start with tag notes (takes two minutes per tag) and build from there.
See our Google Tag Manager Setup and Audit service for container documentation reviews.
Need your GTM container documented and organised? Contact Adslytics.
Need expert tracking setup?
Our Google Tag Manager experts have delivered 500+ tracking setups with a 98% success rate.
Get a Free Consultation →