Help us shape the future of Go! Take the 2026 Go Developer Survey

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