Data reference · Google Tag Manager

Every Google Tag Manager metric and dimension you can ask for.

GTM is configuration, not reporting, so this reference lists entities instead of metrics: the containers, tags, triggers and variables the gtm_list tools read when you ask what is deployed where. Everything is read-only; nothing here can publish or change a container.

51Fields
0Metrics
51Dimensions
0Breakdowns

Source: GTM API v2, read scopes · Updated August 2026

51 shown

Accounts and containers

9 fields

The top of the tree: what exists and where it runs.

Try it in Claude, ChatGPT or Copilot Studio

List our GTM containers with their public IDs and platforms.
FieldTypeWhat it is
account.accountIdDimensionNumeric GTM account ID.
account.nameDimensionAccount display name.
container.containerIdDimensionNumeric container ID.
container.publicIdDimensionThe GTM-XXXXXXX code on the page. “which containers do we have”
container.nameDimensionContainer display name.
container.usageContextDimensionweb, iOS, Android or server. “list server-side containers”
container.notesDimensionFree-text notes on the container.
workspace.workspaceIdDimensionWorkspace being read.
workspace.nameDimensionWorkspace name, usually Default Workspace.

Tags

12 fields

What fires. Type codes are the API's shorthand for tag templates.

Try it in Claude, ChatGPT or Copilot Studio

Audit container GTM-XXXXXXX: every tag with its type and firing triggers.
FieldTypeWhat it is
tag.tagIdDimensionNumeric tag ID.
tag.nameDimensionTag display name. “list all tags in container X”
tag.typeDimensionTemplate code: googtag, gaawe, html, sp, cvt_ custom templates. “which custom HTML tags exist”
tag.type:googtagDimensionThe Google tag: GA4 config layer.
tag.type:gaaweDimensionGA4 event tag.
tag.type:htmlDimensionCustom HTML: the audit hotspot.
tag.firingTriggerIdDimensionTriggers that fire the tag. “what fires the purchase tag”
tag.blockingTriggerIdDimensionTriggers that block it.
tag.pausedDimensiontrue when the tag is paused. “any paused tags left behind”
tag.tagFiringOptionDimensionOnce per event, once per load, or unlimited.
tag.priorityDimensionFiring priority number.
tag.parameterDimensionThe tag's settings: IDs, event names, field values.

Triggers

14 fields

When things fire. Types map to the trigger picker in the UI.

Try it in Claude, ChatGPT or Copilot Studio

Which triggers listen for the purchase dataLayer event?
FieldTypeWhat it is
trigger.triggerIdDimensionNumeric trigger ID.
trigger.nameDimensionTrigger display name.
trigger.typeDimensionpageview, click, customEvent, and the rest below. “list triggers by type”
trigger.type:pageviewDimensionPage View.
trigger.type:domReadyDimensionDOM Ready.
trigger.type:windowLoadedDimensionWindow Loaded.
trigger.type:clickDimensionAll Elements click.
trigger.type:linkClickDimensionJust Links click.
trigger.type:formSubmissionDimensionForm Submit.
trigger.type:customEventDimensiondataLayer event by name: the workhorse. “triggers listening for purchase”
trigger.type:historyChangeDimensionSPA route changes.
trigger.type:scrollDepthDimensionScroll depth thresholds.
trigger.type:elementVisibilityDimensionElement visibility.
trigger.filterDimensionThe conditions on the trigger.

Variables

10 fields

Where values come from. Type codes again.

Try it in Claude, ChatGPT or Copilot Studio

List all custom JavaScript variables so we can review them.
FieldTypeWhat it is
variable.variableIdDimensionNumeric variable ID.
variable.nameDimensionVariable display name.
variable.typeDimensionv dataLayer, jsm custom JS, c constant, k cookie, u URL, remm lookup. “list all dataLayer variables”
variable.type:vDimensionData Layer Variable.
variable.type:jsmDimensionCustom JavaScript. “audit custom JS variables”
variable.type:cDimensionConstant.
variable.type:kDimensionFirst-party cookie.
variable.type:uDimensionURL component.
variable.type:remmDimensionRegEx or lookup table.
variable.parameterDimensionThe variable's configuration.

Versions and publishing

6 fields

What is actually live versus what is drafted.

Try it in Claude, ChatGPT or Copilot Studio

Summarize the live version: how many tags, triggers and variables, and what changed last.
FieldTypeWhat it is
containerVersion.containerVersionIdDimensionVersion number.
containerVersion.nameDimensionVersion name given at publish.
containerVersion.descriptionDimensionPublish notes.
liveVersionDimensionThe version currently serving: the truth on the site. “summarize the live version of container X”
containerVersion.fingerprintDimensionChange fingerprint for the version.
builtInVariable.typeDimensionWhich built-ins are enabled: Click URL, Page Path and friends.

Good to know

Google Tag Manager questions.

Can the assistant change or publish anything?

No. The GTM tools are read-only by scope: they can list and describe, never create, edit, pause or publish. Audits are safe by construction.

What are those short type codes like gaawe and jsm?

The API's template identifiers. The assistant translates them: gaawe is a GA4 event tag, jsm a custom JavaScript variable, remm a lookup table, and so on, so you can ask in plain words.

Does this see workspace drafts or what is live?

Both, and it keeps them apart: workspace reads show the draft state, while the live version summary reflects exactly what the published container does on your site.

Does it work for server-side containers?

Yes. Server containers list the same way with usageContext server, including their clients and transport tags.