Configuration reference
The full top-level schema of sesamy.yaml (version 1.1). For provider-specific blocks see the Providers section.
Top-level fields
| Field | Type | Purpose |
|---|---|---|
version | string | Schema version. Currently 1.1. |
redactVisitorIp | bool | Globally redact visitor IPs in collected events. |
enableGeoResolution | bool | Enable region-specific settings. |
googleApi | object | Service account credentials and API quota. |
googleTagManager | object | GTM account / container IDs and shared container variables. |
googleTag | object | The site-wide Google Tag (gtag) and TypeScript generation. |
googleAnalytics | object | GA4 provider config. |
googleAds | object | Google Ads provider config. |
conversionLinker | object | Conversion Linker provider config. |
facebook | object | Facebook provider config. |
pinterest | object | Pinterest provider config. |
microsoftAds | object | Microsoft Ads provider config. |
criteo | object | Criteo provider config. |
emarsys | object | Emarsys provider config. |
mixpanel | object | Mixpanel provider config. |
umami | object | Umami provider config. |
tracify | object | Tracify provider config. |
hotjar | object | Hotjar provider config. |
cookiebot | object | Cookiebot provider config. |
googleApi
yaml
googleApi:
credentials: '{...}' # inline service account JSON (single line)
credentialsFile: ./creds.json # OR path to the JSON file
requestQuota: 15 # GTM API requests per minuteUse credentialsFile for local dev, credentials for CI. The CLI throttles itself to requestQuota r/m.
googleTagManager
yaml
googleTagManager:
accountId: '6099238525'
webContainer:
tagId: GTM-XXXXXXXX
containerId: '175355532'
workspaceId: '23' # optional
workspace: 'Default' # optional, by name
serverContainer:
tagId: GTM-YYYYYYYY
containerId: '175348980'
workspaceId: '10'
workspace: 'Default'
webContainerVariables:
dataLayer: [link_url]
lookupTables:
link_url_conversion_label:
input: '{{dlv.link_url}}'
valueTable:
123456: 'https://foomo.org/'
serverContainerVariables:
eventData: [link_url]
lookupTables: { ... }| Field | Purpose |
|---|---|
accountId | GTM account ID. |
<container>.tagId | The GTM- container tag identifier. |
<container>.containerId | Numeric container ID. |
<container>.workspaceId / workspace | Optional workspace selector. Defaults to the default workspace. |
<container>Variables.dataLayer | Container-level DataLayer variables (web) or event data (server). |
<container>Variables.lookupTables | Reusable GTM lookup tables. |
googleTag
Documented in Google Tag provider.
Schema validation
Point your editor at the JSON schema:
yaml
# yaml-language-server: $schema=https://raw.githubusercontent.com/foomo/sesamy-cli/refs/heads/main/sesamy.schema.json
version: '1.1'VS Code (YAML extension), JetBrains IDEs (built-in), and Neovim (yamlls) will autocomplete and validate inline.
Multiple files
bash
sesamy provision web -c base.yaml -c env/prod.yamlFiles are merged in argument order. Later files override earlier ones. Run sesamy config -c ... to see the resolved result.
