eventcolumns

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 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

AclidColumn is the column for the ACLID tag of an event

AnidColumn is the column for the ANID tag 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

DclidColumn is the column for the DCLID tag 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

GclidColumn is the column for the GCLID tag 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

SrsltidColumn is the column for the SRSLTID tag of an event

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