eventcolumns

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package eventcolumns provides column implementations for event data tracking.

Package eventcolumns provides column implementations for event data tracking.

Package eventcolumns provides column implementations for event data tracking.

Package eventcolumns provides column implementations for event data tracking.

Package eventcolumns provides event column implementations for session-scoped data.

Package eventcolumns provides column implementations for event data tracking.

Index

Constants

This section is empty.

Variables

View Source
var ClickIDsDclidColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventClickIDDclid.ID,
	columns.CoreInterfaces.EventClickIDDclid.Field,
	"dclid",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventClickIDDclid.ID)),
	),
)

ClickIDsDclidColumn is the column for the DCLID of an event

View Source
var ClickIDsGbraidColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventClickIDGbraid.ID,
	columns.CoreInterfaces.EventClickIDGbraid.Field,
	"gbraid",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventClickIDGbraid.ID)),
	),
)

ClickIDsGbraidColumn is the column for the GBRAID of an event

View Source
var ClickIDsGclidColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventClickIDGclid.ID,
	columns.CoreInterfaces.EventClickIDGclid.Field,
	"gclid",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventClickIDGclid.ID)),
	),
)

ClickIDsGclidColumn is the column for the GCLID of an event

View Source
var ClickIDsMsclkidColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventClickIDMsclkid.ID,
	columns.CoreInterfaces.EventClickIDMsclkid.Field,
	"msclkid",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventClickIDMsclkid.ID)),
	),
)

ClickIDsMsclkidColumn is the column for the MSCLKID of an event

View Source
var ClickIDsSrsltidColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventClickIDSrsltid.ID,
	columns.CoreInterfaces.EventClickIDSrsltid.Field,
	"srsltid",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventClickIDSrsltid.ID)),
	),
)

ClickIDsSrsltidColumn is the column for the SRSLTID of an event

View Source
var ClickIDsWbraidColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventClickIDWbraid.ID,
	columns.CoreInterfaces.EventClickIDWbraid.Field,
	"wbraid",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventClickIDWbraid.ID)),
	),
)

ClickIDsWbraidColumn is the column for the WBRAID of an event

View Source
var ClientIDColumn = columns.NewSimpleEventColumn(
	columns.CoreInterfaces.EventClientID.ID,
	columns.CoreInterfaces.EventClientID.Field,
	func(event *schema.Event) (any, error) {
		return event.BoundHit.ClientID, nil
	},
)

ClientIDColumn is the column for the client ID of an event

View Source
var DateColumn = columns.NewSimpleEventColumn(
	columns.CoreInterfaces.EventDate.ID,
	columns.CoreInterfaces.EventDate.Field,
	func(event *schema.Event) (any, error) {
		return event.BoundHit.Timestamp, nil
	},
)

DateColumn is the column for the date of an event

View Source
var EventIDColumn = columns.NewSimpleEventColumn(
	columns.CoreInterfaces.EventID.ID,
	columns.CoreInterfaces.EventID.Field,
	func(event *schema.Event) (any, error) {
		return event.BoundHit.ID, nil
	},
)

EventIDColumn is the column for the event ID of an event

View Source
var GeoCityStubColumn = columns.AlwaysNilEventColumn(
	columns.CoreInterfaces.GeoCity.ID,
	columns.CoreInterfaces.GeoCity.Field,
)

GeoCityStubColumn is the column for the geo city of an event

View Source
var GeoContinentStubColumn = columns.AlwaysNilEventColumn(
	columns.CoreInterfaces.GeoContinent.ID,
	columns.CoreInterfaces.GeoContinent.Field,
)

GeoContinentStubColumn is the column for the geo continent of an event

View Source
var GeoCountryStubColumn = columns.AlwaysNilEventColumn(
	columns.CoreInterfaces.GeoCountry.ID,
	columns.CoreInterfaces.GeoCountry.Field,
)

GeoCountryStubColumn is the column for the geo country of an event

View Source
var GeoMetroStubColumn = columns.AlwaysNilEventColumn(
	columns.CoreInterfaces.GeoMetro.ID,
	columns.CoreInterfaces.GeoMetro.Field,
)

GeoMetroStubColumn is the column for the geo metro of an event

View Source
var GeoRegionStubColumn = columns.AlwaysNilEventColumn(
	columns.CoreInterfaces.GeoRegion.ID,
	columns.CoreInterfaces.GeoRegion.Field,
)

GeoRegionStubColumn is the column for the geo region of an event

View Source
var GeoSubContinentStubColumn = columns.AlwaysNilEventColumn(
	columns.CoreInterfaces.GeoSubContinent.ID,
	columns.CoreInterfaces.GeoSubContinent.Field,
)

GeoSubContinentStubColumn is the column for the geo subcontinent of an event

View Source
var IPAddressColumn = columns.NewSimpleEventColumn(
	columns.CoreInterfaces.EventIPAddress.ID,
	columns.CoreInterfaces.EventIPAddress.Field,
	func(event *schema.Event) (any, error) {
		return event.BoundHit.IP, nil
	},
)

IPAddressColumn is the column for the IP address of an event

View Source
var PropertyIDColumn = columns.NewSimpleEventColumn(
	columns.CoreInterfaces.EventPropertyID.ID,
	columns.CoreInterfaces.EventPropertyID.Field,
	func(event *schema.Event) (any, error) {
		return event.BoundHit.PropertyID, nil
	},
)

PropertyIDColumn is the column for the property ID of an event

View Source
var SSESessionHitNumber = columns.NewSimpleSessionScopedEventColumn(
	columns.CoreInterfaces.SSESessionHitNumber.ID,
	columns.CoreInterfaces.SSESessionHitNumber.Field,
	func(e *schema.Event, s *schema.Session) (any, error) {
		for i, candidate := range s.Events {
			if candidate == e {
				return int64(i), nil
			}
		}
		return nil, errors.New("event not found in session")
	},
	columns.WithSessionScopedEventColumnRequired(false),
)

SSESessionHitNumber is a session-scoped event column that writes the index of the event within the session

View Source
var SSESessionPageNumber = columns.NewSimpleSessionScopedEventColumn(
	columns.CoreInterfaces.SSESessionPageNumber.ID,
	columns.CoreInterfaces.SSESessionPageNumber.Field,
	func(e *schema.Event, s *schema.Session) (any, error) {
		var currentPageNumber int64 = 0
		currentPageValue, ok := s.Events[0].Values[columns.CoreInterfaces.EventPageLocation.Field.Name].(string)
		if !ok {
			return nil, errors.New("invalid page location type")
		}
		var currentPage string = currentPageValue
		for _, candidate := range s.Events {
			candidatePageValue, ok := candidate.Values[columns.CoreInterfaces.EventPageLocation.Field.Name].(string)
			if !ok {
				return nil, errors.New("invalid page location type")
			}
			if currentPage != candidatePageValue {
				currentPageNumber++
				currentPage = candidatePageValue
			}
			if candidate == e {
				return currentPageNumber, nil
			}
		}
		return nil, errors.New("event not found in session")
	},
	columns.WithSessionScopedEventColumnRequired(false),
	columns.WithSessionScopedEventColumnDependsOn(
		schema.DependsOnEntry{
			Interface:        columns.CoreInterfaces.EventPageLocation.ID,
			GreaterOrEqualTo: columns.CoreInterfaces.EventPageLocation.Version,
		},
	),
)

SSESessionPageNumber is a session-scoped event column that tells of which page counting from beginning of the session the event is on

View Source
var TimestampColumn = columns.NewSimpleEventColumn(
	columns.CoreInterfaces.EventTimestamp.ID,
	columns.CoreInterfaces.EventTimestamp.Field,
	func(event *schema.Event) (any, error) {
		return event.BoundHit.Timestamp, nil
	},
)

TimestampColumn is the column for the timestamp of an event

View Source
var UserIDColumn = columns.NewSimpleEventColumn(
	columns.CoreInterfaces.EventUserID.ID,
	columns.CoreInterfaces.EventUserID.Field,
	func(event *schema.Event) (any, error) {
		return event.BoundHit.UserID, nil
	},
)

UserIDColumn is the column for the user ID of an event

View Source
var UtmCampaignColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventUtmCampaign.ID,
	columns.CoreInterfaces.EventUtmCampaign.Field,
	"utm_campaign",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventUtmCampaign.ID)),
	),
)

UtmCampaignColumn is the column for the UTM campaign of an event

View Source
var UtmContentColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventUtmContent.ID,
	columns.CoreInterfaces.EventUtmContent.Field,
	"utm_content",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventUtmContent.ID)),
	),
)

UtmContentColumn is the column for the UTM content of an event

View Source
var UtmCreativeFormatColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventUtmCreativeFormat.ID,
	columns.CoreInterfaces.EventUtmCreativeFormat.Field,
	"utm_creative_format",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventUtmCreativeFormat.ID)),
	),
)

UtmCreativeFormatColumn is the column for the UTM creative format of an event

UtmIDColumn is the column for the UTM ID of an event

View Source
var UtmMarketingTacticColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventUtmMarketingTactic.ID,
	columns.CoreInterfaces.EventUtmMarketingTactic.Field,
	"utm_marketing_tactic",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventUtmMarketingTactic.ID)),
	),
)

UtmMarketingTacticColumn is the column for the UTM marketing tactic of an event

View Source
var UtmMediumColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventUtmMedium.ID,
	columns.CoreInterfaces.EventUtmMedium.Field,
	"utm_medium",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventUtmMedium.ID)),
	),
)

UtmMediumColumn is the column for the UTM medium of an event

View Source
var UtmSourceColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventUtmSource.ID,
	columns.CoreInterfaces.EventUtmSource.Field,
	"utm_source",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventUtmSource.ID)),
	),
)

UtmSourceColumn is the column for the UTM source of an event

View Source
var UtmSourcePlatformColumn = columns.FromPageURLEventColumn(
	columns.CoreInterfaces.EventUtmSourcePlatform.ID,
	columns.CoreInterfaces.EventUtmSourcePlatform.Field,
	"utm_source_platform",
	columns.WithEventColumnCast(
		columns.StrNilIfErrorOrEmpty(columns.CastToString(columns.CoreInterfaces.EventUtmSourcePlatform.ID)),
	),
)

UtmSourcePlatformColumn is the column for the UTM source platform of an event

UtmTermColumn is the column for the UTM term of an event

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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