{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/foomo/sesamy-cli/pkg/config/github.com.foomo.sesamy-cli.pkg.config.-config", "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Config", "$defs": { "[]*contemplate.PackageConfig": { "items": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.PackageConfig" }, "type": "array" }, "[]config.CookiebotRegionSetting": { "items": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.CookiebotRegionSetting" }, "type": "array" }, "[]config.GoogleAdsConversionTracking": { "items": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionTracking" }, "type": "array" }, "[]string": { "items": { "type": "string" }, "type": "array" }, "github.com.foomo.gocontemplate.pkg.contemplate.Config": { "properties": { "directory": { "type": "string" }, "packages": { "$ref": "#/$defs/[]*contemplate.PackageConfig" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.gocontemplate.pkg.contemplate.PackageConfig": { "properties": { "path": { "type": "string" }, "types": { "$ref": "#/$defs/[]string" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Config": { "properties": { "version": { "type": "string", "description": "Config version" }, "redactVisitorIp": { "type": "boolean", "description": "Globally redact visitor ip" }, "enableGeoResolution": { "type": "boolean", "description": "Enable region specific settings\nhttps://developers.google.com/tag-platform/tag-manager/server-side/enable-region-specific-settings" }, "googleTag": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTag", "description": "Google Tag settings" }, "googleApi": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAPI", "description": "Google API settings" }, "googleTagManager": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManager", "description": "Google Tag Manager settings" }, "googleAds": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAds", "description": "Google Ads provider settings" }, "cookiebot": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Cookiebot", "description": "CookieBot provider settings" }, "googleAnalytics": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAnalytics", "description": "Google Analytics provider settings" }, "conversionLinker": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.ConversionLinker", "description": "Conversion Linker provider settings" }, "facebook": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Facebook", "description": "Facebook provider settings" }, "microsoftAds": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAds", "description": "MicrosoftAds provider settings" }, "mixpanel": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Mixpanel", "description": "Mixpanel provider settings" }, "pinterest": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Pinterest", "description": "Pinterest provider settings" }, "emarsys": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Emarsys", "description": "Emarsys provider settings" }, "hotjar": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Hotjar", "description": "Hotjar provider settings" }, "criteo": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Criteo", "description": "Criteo provider settings" }, "tracify": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Tracify", "description": "Tracify provider settings" }, "umami": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Umami", "description": "Umami provider settings" } }, "additionalProperties": false, "type": "object", "required": [ "version" ] }, "github.com.foomo.sesamy-cli.pkg.config.ConversionLinker": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "enableLinkerParams": { "type": "boolean", "description": "Accept incoming linker parameters" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Cookiebot": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "templateName": { "type": "string", "description": "Name of the manually installed Cookiebot CMP tag template" }, "cookiebotId": { "type": "string", "description": "Create an account on Cookiebot.com and copy 'Domain Group ID' from the tab 'Your Scripts' in Cookiebot" }, "cdnRegion": { "type": "string", "description": "Select which CDN region Cookiebot uses" }, "urlPassthrough": { "type": "boolean", "description": "When using URL passthrough, a few query parameters may be appended to links as users navigate through pages on your website" }, "advertiserConsentModeEnabled": { "type": "boolean", "description": "If enabled, Google will deduce ad_storage, ad_user_data and ad_personalization data from the TC string." }, "regionSettings": { "$ref": "#/$defs/[]config.CookiebotRegionSetting", "description": "Default Consent state" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.CookiebotRegionSetting": { "properties": { "region": { "type": "string", "description": "Region (leave blank to apply globally)" }, "preferences": { "type": "string", "description": "Default consent for functionality_storage and personalization_storage" }, "statistics": { "type": "string", "description": "Default consent for analytics_storage" }, "marketing": { "type": "string", "description": "Default consent for ad_storage" }, "adUserData": { "type": "string", "description": "Default consent ad_user_data" }, "adPersonalization": { "type": "string", "description": "Default consent ad_personalization" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Criteo": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "callerId": { "type": "string", "description": "Criteo caller id" }, "partnerId": { "type": "string", "description": "Criteo partner id" }, "applicationId": { "type": "string", "description": "Criteo application id" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Emarsys": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "merchantId": { "type": "string", "description": "Emarsys merchant id" }, "testMode": { "type": "boolean", "description": "Enable test mode" }, "debugMode": { "type": "boolean", "description": "Enable debug mode" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "webContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager web container settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Facebook": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "pixelId": { "type": "string" }, "apiAccessToken": { "type": "string" }, "testEventToken": { "type": "string" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.FacebookServerContainer", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.FacebookConversionAPITag": { "properties": { "extendCookies": { "type": "boolean", "description": "Extend Meta Pixel cookies (fbp/fbc)" }, "enableEventEnhancement": { "type": "boolean", "description": "Enable Use of HTTP Only Secure Cookie (gtmeec) to Enhance Event Data" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.FacebookServerContainer": { "properties": { "directory": { "type": "string" }, "packages": { "$ref": "#/$defs/[]*contemplate.PackageConfig" }, "settings": { "$ref": "#/$defs/map[string]config.FacebookConversionAPITag" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAPI": { "properties": { "credentials": { "type": "string" }, "credentialsFile": { "type": "string" }, "requestQuota": { "type": "integer" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAds": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "conversionId": { "type": "string", "description": "Conversion id" }, "conversion": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversion", "description": "Google Ads Conversion settings" }, "remarketing": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsRemarketing", "description": "Google Ads Remarketing settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversion": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionServerContainer", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionServerContainer": { "properties": { "directory": { "type": "string" }, "packages": { "$ref": "#/$defs/[]*contemplate.PackageConfig" }, "settings": { "$ref": "#/$defs/map[string][]config.GoogleAdsConversionTracking", "description": "Conversion settings map" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionTracking": { "properties": { "label": { "type": "string", "description": "Conversion label" }, "conversionId": { "type": "string", "description": "Optional conversion id overriding the default" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAdsRemarketing": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "enableConversionLinker": { "type": "boolean" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAnalytics": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "accountId": { "type": "string", "description": "Google Analytics account id" }, "propertyId": { "type": "string", "description": "Google Analytics property id" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "googleGTagJSOverride": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAnalyticsGTagJSOverride", "description": "GTag.js override configuration" }, "enableMPv2UserDataTransformation": { "type": "boolean", "description": "Enable mpv2 user data transformation (experimental)" }, "webContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager web container settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleAnalyticsGTagJSOverride": { "properties": { "enabled": { "type": "boolean", "description": "Enable override" }, "priority": { "type": "integer", "description": "Client priority" }, "ecommerceItems": { "type": "boolean", "description": "Allow sending items for non ecommerce events" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleConsent": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "mode": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleTag": { "properties": { "tagId": { "type": "string", "description": "A tag ID is an identifier that you put on your page to load a given Google tag" }, "sendPageView": { "type": "boolean", "description": "Whether a page_view should be sent on initial load" }, "serverContainerUrl": { "type": "string", "description": "Optional custom server container url" }, "dataLayerVariables": { "$ref": "#/$defs/map[string]string", "description": "Data layer variables to be added to the event settings" }, "typeScript": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.TypeScript", "description": "TypeScript settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleTagManager": { "properties": { "accountId": { "type": "string", "description": "Google Tag Manager account id" }, "webContainer": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerContainer", "description": "Google Tag Manager web container settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerContainer", "description": "Google Tag Manager server container settings" }, "webContainerVariables": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerWebContainerVariables", "description": "Google Tag Manager web container variables" }, "serverContainerVariables": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerServerContainerVariables", "description": "Google Tag Manager server container variables" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerContainer": { "properties": { "tagId": { "type": "string", "description": "The container tag id" }, "containerId": { "type": "string", "description": "The container id" }, "workspaceId": { "type": "string", "description": "(Optional) The workspace id that should be used by the api" }, "workspace": { "type": "string", "description": "(Optional) The workspace name that should be used by the api" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerServerContainerVariables": { "properties": { "eventData": { "$ref": "#/$defs/[]string", "description": "List of event data variables" }, "lookupTables": { "$ref": "#/$defs/map[string]config.LookupTable", "description": "Map of lookup table variables" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerWebContainerVariables": { "properties": { "dataLayer": { "$ref": "#/$defs/[]string", "description": "List of event data variables" }, "lookupTables": { "$ref": "#/$defs/map[string]config.LookupTable", "description": "Map of lookup table variables" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Hotjar": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "siteId": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.LookupTable": { "properties": { "input": { "type": "string", "description": "Input source" }, "keyTable": { "$ref": "#/$defs/map[string]string", "description": "Key value data map" }, "valueTable": { "$ref": "#/$defs/map[string]string", "description": "Vaule key data map" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.MicrosoftAds": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "tagId": { "type": "string", "description": "Microsoft Ads UET Tag ID" }, "conversion": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversion", "description": "Microsoft Ads Conversion settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversion": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsServerContainer", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversionTag": { "properties": { "pageType": { "type": "string" }, "eventType": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsServerContainer": { "properties": { "directory": { "type": "string" }, "packages": { "$ref": "#/$defs/[]*contemplate.PackageConfig" }, "settings": { "$ref": "#/$defs/map[string]config.MicrosoftAdsConversionTag" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Mixpanel": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "projectToken": { "type": "string", "description": "Mixpanel project token" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MixpanelServerContainer", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.MixpanelServerContainer": { "properties": { "set": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Set events" }, "setOnce": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "SetOnce events" }, "reset": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Reset events" }, "track": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Track events" }, "identify": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Identify events" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Pinterest": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "advertiserId": { "type": "string", "description": "Pinterest advertiser id" }, "apiAccessToken": { "type": "string", "description": "Pinterest API access token" }, "testModeEnabled": { "type": "boolean", "description": "Enable test mode" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Tracify": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "token": { "type": "string", "description": "Tracify token" }, "customerSiteId": { "type": "string", "description": "Tracify customer site id" }, "stagingModeEnabled": { "type": "boolean", "description": "Enable stating mode" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.TypeScript": { "properties": { "directory": { "type": "string" }, "packages": { "$ref": "#/$defs/[]*contemplate.PackageConfig" }, "outputPath": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "github.com.foomo.sesamy-cli.pkg.config.Umami": { "properties": { "enabled": { "type": "boolean", "description": "Enable provider" }, "domain": { "type": "string" }, "websiteId": { "type": "string" }, "endpointUrl": { "type": "string" }, "googleConsent": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent", "description": "Google Consent settings" }, "serverContainer": { "$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config", "description": "Google Tag Manager server container settings" } }, "additionalProperties": false, "type": "object" }, "map[string][]config.GoogleAdsConversionTracking": { "additionalProperties": { "$ref": "#/$defs/[]config.GoogleAdsConversionTracking" }, "type": "object" }, "map[string]config.FacebookConversionAPITag": { "additionalProperties": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.FacebookConversionAPITag" }, "type": "object" }, "map[string]config.LookupTable": { "additionalProperties": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.LookupTable" }, "type": "object" }, "map[string]config.MicrosoftAdsConversionTag": { "additionalProperties": { "$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversionTag" }, "type": "object" }, "map[string]string": { "additionalProperties": { "type": "string" }, "type": "object" } } }