config

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const Version = "1.0"

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"`
	// 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"`
	// 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"`
}

type Cookiebot added in v0.4.0

type Cookiebot struct {
	// Enable provider
	Enabled                      bool   `json:"enabled" yaml:"enabled"`
	TemplateName                 string `json:"templateName" yaml:"templateName"`
	CookiebotID                  string `json:"cookiebotId" yaml:"cookiebotId"`
	CDNRegion                    string `json:"cdnRegion" yaml:"cdnRegion"`
	URLPassthrough               bool   `json:"urlPassthrough" yaml:"urlPassthrough"`
	AdvertiserConsentModeEnabled bool   `json:"advertiserConsentModeEnabled" yaml:"advertiserConsentModeEnabled"`
}

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"`
	// 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"`
	// 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

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 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"`
	Settings           map[string]GoogleAdsConversionTracking `json:"settings" yaml:"settings"`
}

func (*GoogleAdsConversionServerContainer) Setting added in v0.9.0

type GoogleAdsConversionTracking added in v0.8.0

type GoogleAdsConversionTracking struct {
	Label string `json:"label" yaml:"label"`
}

type GoogleAdsRemarketing added in v0.4.2

type GoogleAdsRemarketing struct {
	// Enable provider
	Enabled                bool `json:"enabled" yaml:"enabled"`
	EnableConversionLinker bool `json:"enableConversionLinker" yaml:"enableConversionLinker"`
}

type GoogleAnalytics added in v0.3.0

type GoogleAnalytics struct {
	// Enable provider
	Enabled    bool       `json:"enabled" yaml:"enabled"`
	GoogleGTag GoogleGTag `json:"googleGTag" yaml:"googleGTag"`
	// Google Consent settings
	GoogleConsent GoogleConsent      `json:"googleConsent" yaml:"googleConsent"`
	WebContainer  contemplate.Config `json:"webContainer" yaml:"webContainer"`
	// Google Tag Manager server container settings
	ServerContainer contemplate.Config `json:"serverContainer" yaml:"serverContainer"`
}

type GoogleConsent added in v0.4.0

type GoogleConsent struct {
	// Enable provider
	Enabled bool   `json:"enabled" yaml:"enabled"`
	Mode    string `json:"mode" yaml:"mode"`
}

type GoogleGTag added in v0.3.1

type GoogleGTag struct {
	// Enable provider
	Enabled        bool  `json:"enabled" yaml:"enabled"`
	Priority       int64 `json:"priority" yaml:"priority"`
	EcommerceItems bool  `json:"ecommerceItems" yaml:"ecommerceItems"`
}

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"`
	// Enable debug mode for all user devices
	DebugMode bool `json:"debugMode" yaml:"debugMode"`
	// Whether a page_view should be sent on initial load
	SendPageView bool `json:"sendPageView" yaml:"sendPageView"`
	// TypeScript settings
	TypeScript TypeScript `json:"typeScript" yaml:"typeScript"`
}

type GoogleTagManager added in v0.3.0

type GoogleTagManager struct {
	AccountID    string                    `json:"accountId" yaml:"accountId"`
	WebContainer GoogleTagManagerContainer `json:"webContainer" yaml:"webContainer"`
	// Google Tag Manager server container settings
	ServerContainer GoogleTagManagerContainer `json:"serverContainer" yaml:"serverContainer"`
}

type GoogleTagManagerContainer added in v0.3.0

type GoogleTagManagerContainer struct {
	TagID       string `json:"tagId" yaml:"tagId"`
	ContainerID string `json:"containerId" yaml:"containerId"`
	WorkspaceID string `json:"workspaceId" yaml:"workspaceId"`
}

type Hotjar added in v0.6.0

type Hotjar struct {
	// Enable provider
	Enabled bool   `json:"enabled" yaml:"enabled"`
	SiteID  string `json:"siteId" yaml:"siteId"`
}

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 MicrosoftAdsConversionTag struct {
	PageType  string `json:"pageType" yaml:"pageType"`
	EventType string `json:"eventType" yaml:"eventType"`
}

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

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"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL