Skip to main content

gtm-telemetry-wizard

Declarative GTM Container IaC Compiler, Playwright E2E Live Verifier, and GA4 Telemetry Ingestion Setup Wizard.

gtm-telemetry-wizard is a standalone CLI tool and Python library for automating Google Tag Manager (GTM) container setups, compiling declarative IaC specs, verifying live webpage telemetry with Playwright, and warming up GA4 measurement streams to achieve Container Quality: Excellent.


Features

  • 5-Phase Setup Wizard: Diagnostic check, container spec compilation, live Playwright verification, GA4 ingest warm-up, and container quality reporting.
  • GA4 Ingest Warm-Up: Delivers initial telemetry pings directly to GA4 (/g/collect), automatically clearing 48-hour missing traffic quality alerts.
  • Playwright E2E Verification: Headless/Headful browser verification inspecting gtm.js snippet loading, dataLayer events, and UTM parameters.
  • Dual Deployment Options: Automated browser import (via Playwright CDP persistent Chrome profile) or GTM REST API v2 deployment.
  • Borderless Terminal UI: Clean Rich-powered terminal interface.

Installation

uv tool install gtm-telemetry-wizard

Or install from source:

git clone https://github.com/bizkite-co/gtm-telemetry-wizard.git
cd gtm-telemetry-wizard
uv sync --group dev

uv sync installs this checkout as an editable development package. The repository's mise.toml adds .venv/bin to PATH only while working in this directory, so telemetry-wizard uses the local checkout here and the PyPI installation everywhere else.

Use mise run check to verify the CLI, mise run build to build distributions, and mise run release to create and push the next patch release with verkit.


Quick Start

1. Guided Setup Wizard

Run the 5-phase setup wizard for any website and container ID:

telemetry-wizard wizard --domain example.com --container-id GTM-XXXXXXX --ga4-id G-YYYYYYYY

2. Using telemetry.toml Configuration File

Create a telemetry.toml in your project directory:

[site]
domain = "example.com"
container_id = "GTM-53F6J2WX"
ga4_measurement_id = "G-HJJ9TK2TKY"

[deployment]
mode = "browser"
headful = true

Then run:

telemetry-wizard wizard --config telemetry.toml

Python API Usage

from gtm_telemetry_wizard import TelemetryConfig, TelemetryProvider

# Initialize provider
config = TelemetryConfig(domain="example.com", container_id="GTM-XXXXXXX")
provider = TelemetryProvider(config)

# Run live telemetry verification
results = provider.verify_live_telemetry()
print("GTM Loaded:", results["gtm_script_loaded"])

# Send initial GA4 warm-up ping
ping_res = provider.ping_ga4_measurement_id("G-YYYYYYYY")
print("Ping Status:", ping_res["status"])

CLI Reference

  • telemetry-wizard wizard - Guided 5-phase telemetry setup wizard.
  • telemetry-wizard sync - Compile GTM container IaC spec.
  • telemetry-wizard verify - Run Playwright E2E live URL verification.
  • telemetry-wizard ping - Deliver initial GA4 warm-up measurement hit.

License

MIT License © 2026 Bizkite Co.

Metadata

Release files for gtm-telemetry-wizard 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gtm-telemetry-wizard 0.1.1
File Size Uploaded
gtm_telemetry_wizard-0.1.1.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gtm-telemetry-wizard 0.1.1
File Interpreter ABI Platform
gtm_telemetry_wizard-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.2 kB

Release files / gtm_telemetry_wizard-0.1.1.tar.gz

Download URL gtm_telemetry_wizard-0.1.1.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
eecb25d13c68097dd423264a2b822aad5e82bde26ae348afb966a0e29ca8750d
BLAKE2b-256 checksum
How to use checksums
52a45809e1015e5b00b0d0d9cc8c938748b573ce2eec8f94313bea4a84dccf16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / gtm_telemetry_wizard-0.1.1-py3-none-any.whl

Download URL gtm_telemetry_wizard-0.1.1-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
621b8793fb72420fbefc7e69d2e0e4a4c56b80a6367856292e07ce75e7ee301b
BLAKE2b-256 checksum
How to use checksums
0954715d417e4922bafec66a1e10109b57f8316c22fe161fa18902b150ebfc25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page