Documentation
¶
Index ¶
- Constants
- type Config
- type ConversionLinker
- type Cookiebot
- type CookiebotRegionSetting
- type Criteo
- type Emarsys
- type Facebook
- type FacebookConversionAPITag
- type FacebookServerContainer
- type GoogleAPI
- type GoogleAds
- type GoogleAdsConversion
- type GoogleAdsConversionServerContainer
- type GoogleAdsConversionTracking
- type GoogleAdsRemarketing
- type GoogleAnalytics
- type GoogleAnalyticsGTagJSOverride
- type GoogleConsent
- type GoogleTag
- type GoogleTagManager
- type GoogleTagManagerContainer
- type GoogleTagManagerServerContainerVariables
- type GoogleTagManagerWebContainerVariables
- type Hotjar
- type LookupTable
- type MicrosoftAds
- type MicrosoftAdsConversion
- type MicrosoftAdsConversionTag
- type MicrosoftAdsServerContainer
- type Mixpanel
- type MixpanelServerContainer
- type Tracify
- type TypeScript
- type Umami
Constants ¶
View Source
const Version = "1.1"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Config version
Version string `json:"version" yaml:"version" jsonschema:"required"`
// Globally redact visitor ip
RedactVisitorIP bool `json:"redactVisitorIp" yaml:"redactVisitorIp"`
// Enable region specific settings
// https://developers.google.com/tag-platform/tag-manager/server-side/enable-region-specific-settings
EnableGeoResolution bool `json:"enableGeoResolution" yaml:"enableGeoResolution"`
// Google Tag settings
GoogleTag GoogleTag `json:"googleTag" yaml:"googleTag"`
// Google API settings
GoogleAPI GoogleAPI `json:"googleApi" yaml:"googleApi"`
// Google Tag Manager settings
GoogleTagManager GoogleTagManager `json:"googleTagManager" yaml:"googleTagManager"`
// Google Ads provider settings
GoogleAds GoogleAds `json:"googleAds" yaml:"googleAds"`
// CookieBot provider settings
Cookiebot Cookiebot `json:"cookiebot" yaml:"cookiebot"`
// Google Analytics provider settings
GoogleAnalytics GoogleAnalytics `json:"googleAnalytics" yaml:"googleAnalytics"`
// Conversion Linker provider settings
ConversionLinker ConversionLinker `json:"conversionLinker" yaml:"conversionLinker"`
// Facebook provider settings
Facebook Facebook `json:"facebook" yaml:"facebook"`
// MicrosoftAds provider settings
MicrosoftAds MicrosoftAds `json:"microsoftAds" yaml:"microsoftAds"`
// Mixpanel provider settings
Mixpanel Mixpanel `json:"mixpanel" yaml:"mixpanel"`
// Emarsys provider settings
Emarsys Emarsys `json:"emarsys" yaml:"emarsys"`
// Hotjar provider settings
Hotjar Hotjar `json:"hotjar" yaml:"hotjar"`
// Criteo provider settings
Criteo Criteo `json:"criteo" yaml:"criteo"`
// Tracify provider settings
Tracify Tracify `json:"tracify" yaml:"tracify"`
// Umami provider settings
Umami Umami `json:"umami" yaml:"umami"`
}
type ConversionLinker ¶ added in v0.3.0
type ConversionLinker struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Accept incoming linker parameters
EnableLinkerParams bool `json:"enableLinkerParams" yaml:"enableLinkerParams"`
}
type Cookiebot ¶ added in v0.4.0
type Cookiebot struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Name of the manually installed Cookiebot CMP tag template
TemplateName string `json:"templateName" yaml:"templateName"`
// Create an account on Cookiebot.com and copy 'Domain Group ID' from the tab 'Your Scripts' in Cookiebot
CookiebotID string `json:"cookiebotId" yaml:"cookiebotId"`
// Select which CDN region Cookiebot uses
CDNRegion string `json:"cdnRegion" yaml:"cdnRegion"`
// When using URL passthrough, a few query parameters may be appended to links as users navigate through pages on your website
URLPassthrough bool `json:"urlPassthrough" yaml:"urlPassthrough"`
// If enabled, Google will deduce ad_storage, ad_user_data and ad_personalization data from the TC string.
AdvertiserConsentModeEnabled bool `json:"advertiserConsentModeEnabled" yaml:"advertiserConsentModeEnabled"`
// Default Consent state
RegionSettings []CookiebotRegionSetting `json:"regionSettings" yaml:"regionSettings"`
}
type CookiebotRegionSetting ¶ added in v0.18.0
type CookiebotRegionSetting struct {
// Region (leave blank to apply globally)
Region string `json:"region" yaml:"region"`
// Default consent for functionality_storage and personalization_storage
Preferences string `json:"preferences" yaml:"preferences"`
// Default consent for analytics_storage
Statistics string `json:"statistics" yaml:"statistics"`
// Default consent for ad_storage
Marketing string `json:"marketing" yaml:"marketing"`
// Default consent ad_user_data
AdUserData string `json:"adUserData" yaml:"adUserData"`
// Default consent ad_personalization
AdPersonalization string `json:"adPersonalization" yaml:"adPersonalization"`
}
type Criteo ¶ added in v0.7.0
type Criteo struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Criteo caller id
CallerID string `json:"callerId" yaml:"callerId"`
// Criteo partner id
PartnerID string `json:"partnerId" yaml:"partnerId"`
// Criteo application id
ApplicationID string `json:"applicationId" yaml:"applicationId"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Google Tag Manager server container settings
ServerContainer contemplate.Config `json:"serverContainer" yaml:"serverContainer"`
}
type Emarsys ¶ added in v0.3.1
type Emarsys struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Emarsys merchant id
MerchantID string `json:"merchantId" yaml:"merchantId"`
// Enable test mode
TestMode bool `json:"testMode" yaml:"testMode"`
// Enable debug mode
DebugMode bool `json:"debugMode" yaml:"debugMode"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Google Tag Manager web container settings
WebContainer contemplate.Config `json:"webContainer" yaml:"webContainer"`
// Google Tag Manager server container settings
ServerContainer contemplate.Config `json:"serverContainer" yaml:"serverContainer"`
}
type Facebook ¶ added in v0.3.0
type Facebook struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
PixelID string `json:"pixelId" yaml:"pixelId"`
APIAccessToken string `json:"apiAccessToken" yaml:"apiAccessToken"`
TestEventToken string `json:"testEventToken" yaml:"testEventToken"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Google Tag Manager server container settings
ServerContainer FacebookServerContainer `json:"serverContainer" yaml:"serverContainer"`
}
type FacebookConversionAPITag ¶ added in v0.9.0
type FacebookConversionAPITag struct {
// Extend Meta Pixel cookies (fbp/fbc)
ExtendCookies bool `json:"extendCookies" yaml:"extendCookies"`
// Enable Use of HTTP Only Secure Cookie (gtmeec) to Enhance Event Data
EnableEventEnhancement bool `json:"enableEventEnhancement" yaml:"enableEventEnhancement"`
}
type FacebookServerContainer ¶ added in v0.9.0
type FacebookServerContainer struct {
contemplate.Config `json:",inline" yaml:",squash"`
Settings map[string]FacebookConversionAPITag `json:"settings" yaml:"settings"`
}
func (*FacebookServerContainer) Setting ¶ added in v0.9.0
func (s *FacebookServerContainer) Setting(eventName string) FacebookConversionAPITag
type GoogleAPI ¶ added in v0.3.0
type GoogleAPI struct {
Credentials string `json:"credentials" yaml:"credentials"`
CredentialsFile string `json:"credentialsFile" yaml:"credentialsFile"`
RequestQuota int `json:"requestQuota" yaml:"requestQuota"`
}
func (GoogleAPI) GetClientOption ¶ added in v0.3.0
func (c GoogleAPI) GetClientOption() googleapioption.ClientOption
type GoogleAds ¶ added in v0.3.0
type GoogleAds struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Conversion id
ConversionID string `json:"conversionId" yaml:"conversionId"`
// Google Ads Conversion settings
Conversion GoogleAdsConversion `json:"conversion" yaml:"conversion"`
// Google Ads Remarketing settings
Remarketing GoogleAdsRemarketing `json:"remarketing" yaml:"remarketing"`
}
type GoogleAdsConversion ¶ added in v0.3.0
type GoogleAdsConversion struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Google Tag Manager server container settings
ServerContainer GoogleAdsConversionServerContainer `json:"serverContainer" yaml:"serverContainer"`
}
type GoogleAdsConversionServerContainer ¶ added in v0.9.0
type GoogleAdsConversionServerContainer struct {
contemplate.Config `json:",inline" yaml:",squash"`
// Conversion settings map
Settings map[string][]GoogleAdsConversionTracking `json:"settings" yaml:"settings"`
}
func (*GoogleAdsConversionServerContainer) Setting ¶ added in v0.9.0
func (s *GoogleAdsConversionServerContainer) Setting(eventName string) []GoogleAdsConversionTracking
type GoogleAdsConversionTracking ¶ added in v0.8.0
type GoogleAdsRemarketing ¶ added in v0.4.2
type GoogleAnalytics ¶ added in v0.3.0
type GoogleAnalytics struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Google Analytics account id
AccountID string `json:"accountId" yaml:"accountId"`
// Google Analytics property id
PropertyID string `json:"propertyId" yaml:"propertyId"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// GTag.js override configuration
GoogleGTagJSOverride GoogleAnalyticsGTagJSOverride `json:"googleGTagJSOverride" yaml:"googleGTagJSOverride"`
// Enable mpv2 user data transformation (experimental)
EnableMPv2UserDataTransformation bool `json:"enableMPv2UserDataTransformation" yaml:"enableMPv2UserDataTransformation"`
// Google Tag Manager web container settings
WebContainer contemplate.Config `json:"webContainer" yaml:"webContainer"`
// Google Tag Manager server container settings
ServerContainer contemplate.Config `json:"serverContainer" yaml:"serverContainer"`
}
type GoogleAnalyticsGTagJSOverride ¶ added in v0.11.0
type GoogleConsent ¶ added in v0.4.0
type GoogleTag ¶ added in v0.3.0
type GoogleTag struct {
// A tag ID is an identifier that you put on your page to load a given Google tag
TagID string `json:"tagId" yaml:"tagId"`
// Whether a page_view should be sent on initial load
SendPageView bool `json:"sendPageView" yaml:"sendPageView"`
// Optional custom server container url
ServerContainerURL string `json:"serverContainerUrl" yaml:"serverContainerUrl"`
// Data layer variables to be added to the event settings
DataLayerVariables map[string]string `json:"dataLayerVariables" yaml:"dataLayerVariables"`
// TypeScript settings
TypeScript TypeScript `json:"typeScript" yaml:"typeScript"`
}
type GoogleTagManager ¶ added in v0.3.0
type GoogleTagManager struct {
// Google Tag Manager account id
AccountID string `json:"accountId" yaml:"accountId"`
// Google Tag Manager web container settings
WebContainer GoogleTagManagerContainer `json:"webContainer" yaml:"webContainer"`
// Google Tag Manager server container settings
ServerContainer GoogleTagManagerContainer `json:"serverContainer" yaml:"serverContainer"`
// Google Tag Manager web container variables
WebContaienrVariables GoogleTagManagerWebContainerVariables `json:"webContainerVariables" yaml:"webContainerVariables"`
// Google Tag Manager server container variables
ServerContaienrVariables GoogleTagManagerServerContainerVariables `json:"serverContainerVariables" yaml:"serverContainerVariables"`
}
type GoogleTagManagerContainer ¶ added in v0.3.0
type GoogleTagManagerContainer struct {
// The container tag id
TagID string `json:"tagId" yaml:"tagId"`
// The container id
ContainerID string `json:"containerId" yaml:"containerId"`
// (Optional) The workspace id that should be used by the api
WorkspaceID string `json:"workspaceId" yaml:"workspaceId"`
// (Optional) The workspace name that should be used by the api
Workspace string `json:"workspace" yaml:"workspace"`
}
type GoogleTagManagerServerContainerVariables ¶ added in v0.13.0
type GoogleTagManagerServerContainerVariables struct {
// List of event data variables
EventData []string `json:"eventData" yaml:"eventData"`
// Map of lookup table variables
LookupTables map[string]LookupTable `json:"lookupTables" yaml:"lookupTables"`
}
type GoogleTagManagerWebContainerVariables ¶ added in v0.13.2
type GoogleTagManagerWebContainerVariables struct {
// List of event data variables
DataLayer []string `json:"dataLayer" yaml:"dataLayer"`
// Map of lookup table variables
LookupTables map[string]LookupTable `json:"lookupTables" yaml:"lookupTables"`
}
type LookupTable ¶ added in v0.13.0
type MicrosoftAds ¶ added in v0.8.1
type MicrosoftAds struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Microsoft Ads UET Tag ID
TagID string `json:"tagId" yaml:"tagId"`
// Microsoft Ads Conversion settings
Conversion MicrosoftAdsConversion `json:"conversion" yaml:"conversion"`
}
type MicrosoftAdsConversion ¶ added in v0.8.1
type MicrosoftAdsConversion struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Google Tag Manager server container settings
ServerContainer MicrosoftAdsServerContainer `json:"serverContainer" yaml:"serverContainer"`
}
type MicrosoftAdsConversionTag ¶ added in v0.8.1
type MicrosoftAdsServerContainer ¶ added in v0.8.1
type MicrosoftAdsServerContainer struct {
contemplate.Config `json:",inline" yaml:",squash"`
Settings map[string]MicrosoftAdsConversionTag `json:"settings" yaml:"settings"`
}
func (*MicrosoftAdsServerContainer) Setting ¶ added in v0.8.1
func (s *MicrosoftAdsServerContainer) Setting(eventName string) MicrosoftAdsConversionTag
type Mixpanel ¶ added in v0.22.0
type Mixpanel struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Mixpanel project token
ProjectToken string `json:"projectToken" yaml:"projectToken"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Google Tag Manager server container settings
ServerContainer MixpanelServerContainer `json:"serverContainer" yaml:"serverContainer"`
}
type MixpanelServerContainer ¶ added in v0.22.0
type MixpanelServerContainer struct {
// Set events
Set contemplate.Config `json:"set" yaml:"set"`
// SetOnce events
SetOnce contemplate.Config `json:"setOnce" yaml:"setOnce"`
// Reset events
Reset contemplate.Config `json:"reset" yaml:"reset"`
// Track events
Track contemplate.Config `json:"track" yaml:"track"`
// Identify events
Identify contemplate.Config `json:"identify" yaml:"identify"`
}
type Tracify ¶ added in v0.5.0
type Tracify struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
// Tracify token
Token string `json:"token" yaml:"token"`
// Tracify customer site id
CustomerSiteID string `json:"customerSiteId" yaml:"customerSiteId"`
// Enable stating mode
StagingModeEnabled bool `json:"stagingModeEnabled" yaml:"stagingModeEnabled"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Google Tag Manager server container settings
ServerContainer contemplate.Config `json:"serverContainer" yaml:"serverContainer"`
}
type TypeScript ¶ added in v0.3.0
type TypeScript struct {
contemplate.Config `json:",inline" yaml:",squash"`
OutputPath string `json:"outputPath" yaml:"outputPath"`
}
type Umami ¶ added in v0.3.0
type Umami struct {
// Enable provider
Enabled bool `json:"enabled" yaml:"enabled"`
Domain string `json:"domain" yaml:"domain"`
WebsiteID string `json:"websiteId" yaml:"websiteId"`
EndpointURL string `json:"endpointUrl" yaml:"endpointUrl"`
// Google Consent settings
GoogleConsent GoogleConsent `json:"googleConsent" yaml:"googleConsent"`
// Google Tag Manager server container settings
ServerContainer contemplate.Config `json:"serverContainer" yaml:"serverContainer"`
}
Source Files
¶
- config.go
- conversionlinker.go
- cookiebot.go
- cookiebotregionsetting.go
- criteo.go
- emarsys.go
- facebook.go
- facebookconversionapitag.go
- googleads.go
- googleadsconversion.go
- googleadsconversiontracking.go
- googleadsremarketing.go
- googleanalytics.go
- googleanalyticsgtagjsoverride.go
- googleapi.go
- googleconsent.go
- googletag.go
- googletagmanager.go
- googletagmanagercontainer.go
- googletagmanagerservercontainervariables.go
- googletagmanagerwebcontainervariables.go
- hotjar.go
- lookuptable.go
- microsoftads.go
- microsoftadsconversion.go
- mixpanel.go
- tracify.go
- typescript.go
- umami.go
- version.go
Click to show internal directories.
Click to hide internal directories.