2.3 KiB
Quick start
This walkthrough takes you from zero to a provisioned GTM web container in a few minutes.
Prerequisites
- A Google Tag Manager account with both a web and server container created.
- A Google Cloud Service Account with access to the GTM API. See Google API setup.
- The service account email added as a user of your GTM account (with publish rights).
1. Create sesamy.yaml
In your project root, create a minimal sesamy.yaml:
# yaml-language-server: $schema=https://raw.githubusercontent.com/foomo/sesamy-cli/refs/heads/main/sesamy.schema.json
version: '1.1'
redactVisitorIp: true
enableGeoResolution: true
googleApi:
credentialsFile: ./google_service_account_creds.json
requestQuota: 15
googleTagManager:
accountId: '6099238525'
webContainer:
tagId: GTM-XXXXXXXX
containerId: '175355532'
serverContainer:
tagId: GTM-YYYYYYYY
containerId: '175348980'
googleTag:
tagId: G-XXXXXXXXXX
sendPageView: true
googleAnalytics:
enabled: true
googleConsent:
enabled: true
mode: analytics_storage
The $schema comment gives you autocomplete and validation in editors with YAML language server support (VS Code, JetBrains, Neovim).
2. Preview the diff
Before touching GTM, see what sesamy plans to change:
sesamy diff web
sesamy diff server
The first run will show every tag, trigger, and variable as created.
3. Provision
Apply the changes:
sesamy provision web
sesamy provision server
This creates / updates entities in the configured workspace. Rerun sesamy diff afterward — it should report no changes.
4. Inspect
sesamy list web
sesamy list server
Lists every tag, trigger, and variable managed under the workspace, including ones the CLI considers unused.
5. Generate TypeScript events (optional)
If you use sesamy-go to define your event model, generate TypeScript types:
sesamy typescript
Output goes to the outputPath configured under googleTag.typeScript. See the sesamy-go integration guide for details.
Next steps
- Browse the full Configuration reference.
- Enable additional Providers one at a time and re-provision.
- Wire
sesamy diffinto CI to catch drift.