Skip to content

Configuration reference

The full top-level schema of sesamy.yaml (version 1.1). For provider-specific blocks see the Providers section.

Top-level fields

FieldTypePurpose
versionstringSchema version. Currently 1.1.
redactVisitorIpboolGlobally redact visitor IPs in collected events.
enableGeoResolutionboolEnable region-specific settings.
googleApiobjectService account credentials and API quota.
googleTagManagerobjectGTM account / container IDs and shared container variables.
googleTagobjectThe site-wide Google Tag (gtag) and TypeScript generation.
googleAnalyticsobjectGA4 provider config.
googleAdsobjectGoogle Ads provider config.
conversionLinkerobjectConversion Linker provider config.
facebookobjectFacebook provider config.
pinterestobjectPinterest provider config.
microsoftAdsobjectMicrosoft Ads provider config.
criteoobjectCriteo provider config.
emarsysobjectEmarsys provider config.
mixpanelobjectMixpanel provider config.
umamiobjectUmami provider config.
tracifyobjectTracify provider config.
hotjarobjectHotjar provider config.
cookiebotobjectCookiebot 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 minute

Use 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: { ... }
FieldPurpose
accountIdGTM account ID.
<container>.tagIdThe GTM- container tag identifier.
<container>.containerIdNumeric container ID.
<container>.workspaceId / workspaceOptional workspace selector. Defaults to the default workspace.
<container>Variables.dataLayerContainer-level DataLayer variables (web) or event data (server).
<container>Variables.lookupTablesReusable 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.yaml

Files are merged in argument order. Later files override earlier ones. Run sesamy config -c ... to see the resolved result.