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_storageThe $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 serverThe first run will show every tag, trigger, and variable as created.
3. Provision
Apply the changes:
sesamy provision web
sesamy provision serverThis creates / updates entities in the configured workspace. Rerun sesamy diff afterward — it should report no changes.
4. Inspect
sesamy list web
sesamy list serverLists 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 typescriptOutput 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.
