← Back to Skills Marketplace
simonfunk

Google Tag Manager

by simonfunk · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
648
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install google-tag-manager
Description
Manage Google Tag Manager containers, tags, triggers, variables, and versions via the GTM API v2. Use when the user wants to list, create, update, delete, or...
README (SKILL.md)

Google Tag Manager Skill

Interact with the GTM API v2 to manage containers, workspaces, tags, triggers, variables, and versions.

Authentication

The GTM API uses OAuth2 via a Google Cloud service account.

Setup

  1. Enable Tag Manager API in Google Cloud Console
  2. Create a service account with key (JSON)
  3. Grant the service account access in GTM (Admin → User Management → add service account email)
  4. Set env vars:
    • GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
    • GTM_ACCOUNT_ID=123456
    • GTM_CONTAINER_ID=789012

Script

All operations use scripts/gtm.sh. Run without args to see usage:

scripts/gtm.sh \x3Ccommand> [args...]

Commands

Command Description
accounts List all GTM accounts
containers [accountId] List containers in account
workspaces List workspaces in container
tags [workspaceId] List tags in workspace (default: latest)
tag \x3CtagId> [workspaceId] Get a specific tag
create-tag \x3CjsonFile> [workspaceId] Create a tag from JSON
update-tag \x3CtagId> \x3CjsonFile> [workspaceId] Update a tag
delete-tag \x3CtagId> [workspaceId] Delete a tag
triggers [workspaceId] List triggers
trigger \x3CtriggerId> [workspaceId] Get a specific trigger
create-trigger \x3CjsonFile> [workspaceId] Create a trigger from JSON
update-trigger \x3CtriggerId> \x3CjsonFile> [workspaceId] Update a trigger
delete-trigger \x3CtriggerId> [workspaceId] Delete a trigger
variables [workspaceId] List variables
variable \x3CvariableId> [workspaceId] Get a specific variable
create-variable \x3CjsonFile> [workspaceId] Create a variable from JSON
update-variable \x3CvariableId> \x3CjsonFile> [workspaceId] Update a variable
delete-variable \x3CvariableId> [workspaceId] Delete a variable
built-in-vars [workspaceId] List enabled built-in variables
enable-built-in \x3Ctype,...> [workspaceId] Enable built-in variable(s)
versions List container version headers
version \x3CversionId> Get a specific version
version-live Get the live (published) version
create-version [workspaceId] [name] [notes] Create version from workspace
publish \x3CversionId> Publish a container version

Workspace Resolution

Most commands accept an optional workspaceId. If omitted, the script auto-resolves to the Default Workspace (the first workspace returned by the API — typically "Default Workspace").

Common Recipes

Create a Google Ads Conversion Tag

See references/recipes.md for JSON templates for:

  • Google Ads Conversion Tracking tag
  • GA4 Event tag
  • Custom Event trigger (dataLayer)
  • Cross-domain tracking linker

Workflow: Add Tag → Create Version → Publish

# 1. Create trigger
scripts/gtm.sh create-trigger trigger.json

# 2. Create tag referencing the trigger
scripts/gtm.sh create-tag tag.json

# 3. Create version from workspace
scripts/gtm.sh create-version "" "v1.2 - Added conversion tag"

# 4. Publish
scripts/gtm.sh publish \x3CversionId>

API Reference

For full resource schemas and trigger types, see references/api-reference.md.

Usage Guidance
This skill appears to be a straightforward GTM API CLI, but before installing or providing credentials: 1) confirm why the registry metadata omits the environment variables declared in SKILL.md — treat that as a publisher oversight until clarified; 2) only provide a Google service-account JSON limited to the required GTM scopes and grant the service account the minimum GTM user permissions (avoid broader project credentials); 3) be aware the script can create/update/publish containers (high privilege) — review any JSON you pass to create/update operations; 4) the recipes include example domains (geo.creaitor.ai / app.creaitor.ai) — replace with your own domains to avoid accidentally linking to third-party hosts; 5) the Python JWT helper needs PyJWT/cryptography if gcloud isn't available — installing those is required for the script to mint tokens. If the publisher can fix the metadata to declare the required env vars and clarify example placeholders, that would raise confidence.
Capability Analysis
Type: OpenClaw Skill Name: google-tag-manager Version: 1.0.0 The OpenClaw skill `google-tag-manager` is designed to manage Google Tag Manager resources via the GTM API v2. The `SKILL.md` clearly outlines its purpose and required environment variables, including `GOOGLE_APPLICATION_CREDENTIALS` for a service account key. The core script `scripts/gtm.sh` securely handles authentication by either leveraging `gcloud` or generating JWT tokens via an embedded Python script, using appropriate OAuth2 scopes (`tagmanager.edit.containers`, `tagmanager.publish`, `tagmanager.readonly`). All network calls are directed to legitimate Google API endpoints, and JSON parsing/construction is handled safely. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, obfuscation, or prompt injection attempts against the agent. The skill's functionality is entirely aligned with its stated purpose of GTM administration.
Capability Assessment
Purpose & Capability
Name/description match the included CLI script (scripts/gtm.sh) which talks to the GTM API. The script requires GTM_ACCOUNT_ID, GTM_CONTAINER_ID and GOOGLE_APPLICATION_CREDENTIALS — all appropriate for GTM operations. However, the registry metadata claims no required env vars/credentials, which is inconsistent with the SKILL.md and the script.
Instruction Scope
SKILL.md instructs the agent/user to set the service-account JSON path and account/container IDs and to run the provided script; the script only calls tagmanager.googleapis.com and does not attempt to read unrelated system files. It does read the service account JSON (expected) and may call gcloud if present (expected).
Install Mechanism
No install spec — instruction + script only. The script uses curl and python; there is no remote download or extraction of third-party archives. Note: the embedded Python helper requires PyJWT/cryptography if gcloud is not present, so users may need to install those packages locally.
Credentials
The env vars the script uses (GOOGLE_APPLICATION_CREDENTIALS, GTM_ACCOUNT_ID, GTM_CONTAINER_ID) are appropriate. The OAuth scopes used (tagmanager.edit.containers, tagmanager.publish, tagmanager.readonly) allow modification and publishing of GTM containers — this is necessary for create/update/publish operations but is a high-privilege capability. Also note the registry metadata lists no required credentials while SKILL.md expects them; that's an inconsistency to resolve.
Persistence & Privilege
The skill does not request always:true, does not claim to run persistently, and does not alter other skills or system-wide settings. Autonomous invocation (disable-model-invocation=false) is normal for skills but increases blast radius only if the skill were malicious.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install google-tag-manager
  3. After installation, invoke the skill by name or use /google-tag-manager
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: GTM API v2 CLI for tags, triggers, variables, versions, and publishing.
Metadata
Slug google-tag-manager
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Google Tag Manager?

Manage Google Tag Manager containers, tags, triggers, variables, and versions via the GTM API v2. Use when the user wants to list, create, update, delete, or... It is an AI Agent Skill for Claude Code / OpenClaw, with 648 downloads so far.

How do I install Google Tag Manager?

Run "/install google-tag-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Google Tag Manager free?

Yes, Google Tag Manager is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Google Tag Manager support?

Google Tag Manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Google Tag Manager?

It is built and maintained by simonfunk (@simonfunk); the current version is v1.0.0.

💬 Comments