Documentation
¶
Overview ¶
Package matomo provides Matomo protocol specific column definitions.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ProtocolInterfaces = struct { EventParamsSiteId schema.Interface EventParamsPageViewID schema.Interface EventParamsGoalID schema.Interface EventParamsCategory schema.Interface EventParamsAction schema.Interface EventParamsLinkURL schema.Interface EventParamsDownloadURL schema.Interface EventParamsSearchTerm schema.Interface EventParamsValue schema.Interface EventParamsMediaAssetID schema.Interface EventParamsMediaType schema.Interface EventParamsContentInteraction schema.Interface EventParamsContentName schema.Interface EventParamsContentPiece schema.Interface EventParamsContentTarget schema.Interface EventParamsProductPrice schema.Interface EventParamsProductSKU schema.Interface EventParamsProductName schema.Interface EventParamsProductCategory1 schema.Interface EventParamsProductCategory2 schema.Interface EventParamsProductCategory3 schema.Interface EventParamsProductCategory4 schema.Interface EventParamsProductCategory5 schema.Interface EventParamsSearchKeyword schema.Interface EventParamsSearchCategory schema.Interface EventParamsSearchCount schema.Interface EventCustomVariables schema.Interface EventCustomDimensions schema.Interface SessionCustomVariables schema.Interface SessionCustomDimensions schema.Interface EventEcommercePurchaseRevenue schema.Interface EventEcommerceShippingValue schema.Interface EventEcommerceSubtotalValue schema.Interface EventEcommerceTaxValue schema.Interface EventEcommerceDiscountValue schema.Interface EventEcommerceOrderID schema.Interface EventEcommerceItems schema.Interface EventEcommerceItemsTotalQuantity schema.Interface EventNextPageLocation schema.Interface EventNextPageTitle schema.Interface EventPreviousPageLocation schema.Interface EventPreviousPageTitle schema.Interface SessionTotalGoalConversions schema.Interface SessionTotalContentImpressions schema.Interface SessionTotalContentInteractions schema.Interface SessionReturningUser schema.Interface }{ EventParamsSiteId: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_site_id", Field: &arrow.Field{Name: "params_site_id", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsCategory: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_category", Field: &arrow.Field{Name: "params_category", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsAction: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_action", Field: &arrow.Field{Name: "params_action", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventCustomVariables: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/custom_variables", Field: repeatedNameValueField("custom_variables"), }, EventCustomDimensions: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/custom_dimensions", Field: repeatedSlotValueField("custom_dimensions"), }, SessionCustomVariables: schema.Interface{ ID: "matomo.protocols.d8a.tech/session/session_custom_variables", Field: repeatedNameValueField("session_custom_variables"), }, SessionCustomDimensions: schema.Interface{ ID: "matomo.protocols.d8a.tech/session/session_custom_dimensions", Field: repeatedSlotValueField("session_custom_dimensions"), }, EventParamsLinkURL: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_link_url", Field: &arrow.Field{Name: "params_link_url", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsDownloadURL: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_download_url", Field: &arrow.Field{Name: "params_download_url", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsSearchTerm: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_search_term", Field: &arrow.Field{Name: "params_search_term", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsValue: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_value", Field: &arrow.Field{Name: "params_value", Type: arrow.PrimitiveTypes.Float64, Nullable: true}, }, EventParamsMediaAssetID: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_media_asset_id", Field: &arrow.Field{Name: "params_media_asset_id", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsMediaType: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_media_type", Field: &arrow.Field{Name: "params_media_type", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsContentInteraction: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_content_interaction", Field: &arrow.Field{Name: "params_content_interaction", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsContentName: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_content_name", Field: &arrow.Field{Name: "params_content_name", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsContentPiece: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_content_piece", Field: &arrow.Field{Name: "params_content_piece", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsContentTarget: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_content_target", Field: &arrow.Field{Name: "params_content_target", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventNextPageTitle: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/next_page_title", Field: &arrow.Field{Name: "next_page_title", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsProductPrice: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_price", Field: &arrow.Field{Name: "params_product_price", Type: arrow.PrimitiveTypes.Float64, Nullable: true}, }, EventParamsProductSKU: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_sku", Field: &arrow.Field{Name: "params_product_sku", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsProductName: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_name", Field: &arrow.Field{Name: "params_product_name", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsProductCategory1: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_category_1", Field: &arrow.Field{Name: "params_product_category_1", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsProductCategory2: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_category_2", Field: &arrow.Field{Name: "params_product_category_2", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsProductCategory3: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_category_3", Field: &arrow.Field{Name: "params_product_category_3", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsProductCategory4: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_category_4", Field: &arrow.Field{Name: "params_product_category_4", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsProductCategory5: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_product_category_5", Field: &arrow.Field{Name: "params_product_category_5", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsPageViewID: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_page_view_id", Field: &arrow.Field{Name: "params_page_view_id", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsGoalID: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_goal_id", Field: &arrow.Field{Name: "params_goal_id", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsSearchKeyword: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_search_keyword", Field: &arrow.Field{Name: "params_search_keyword", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsSearchCategory: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_search_category", Field: &arrow.Field{Name: "params_search_category", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventParamsSearchCount: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/params_search_count", Field: &arrow.Field{Name: "params_search_count", Type: arrow.PrimitiveTypes.Int64, Nullable: true}, }, EventEcommercePurchaseRevenue: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_purchase_revenue", Field: &arrow.Field{Name: "ecommerce_purchase_revenue", Type: arrow.PrimitiveTypes.Float64, Nullable: true}, }, EventEcommerceShippingValue: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_shipping_value", Field: &arrow.Field{Name: "ecommerce_shipping_value", Type: arrow.PrimitiveTypes.Float64, Nullable: true}, }, EventEcommerceSubtotalValue: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_subtotal_value", Field: &arrow.Field{Name: "ecommerce_subtotal_value", Type: arrow.PrimitiveTypes.Float64, Nullable: true}, }, EventEcommerceTaxValue: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_tax_value", Field: &arrow.Field{Name: "ecommerce_tax_value", Type: arrow.PrimitiveTypes.Float64, Nullable: true}, }, EventEcommerceDiscountValue: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_discount_value", Field: &arrow.Field{Name: "ecommerce_discount_value", Type: arrow.PrimitiveTypes.Float64, Nullable: true}, }, EventEcommerceOrderID: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_order_id", Field: &arrow.Field{Name: "ecommerce_order_id", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventEcommerceItems: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_items", Field: &arrow.Field{ Nullable: true, Name: "ecommerce_items", Type: arrow.ListOf(arrow.StructOf( arrow.Field{Name: ecommerceSKU, Type: arrow.BinaryTypes.String, Nullable: true}, arrow.Field{Name: ecommerceName, Type: arrow.BinaryTypes.String, Nullable: true}, arrow.Field{Name: ecommerceCategory1, Type: arrow.BinaryTypes.String, Nullable: true}, arrow.Field{Name: ecommerceCategory2, Type: arrow.BinaryTypes.String, Nullable: true}, arrow.Field{Name: ecommerceCategory3, Type: arrow.BinaryTypes.String, Nullable: true}, arrow.Field{Name: ecommerceCategory4, Type: arrow.BinaryTypes.String, Nullable: true}, arrow.Field{Name: ecommerceCategory5, Type: arrow.BinaryTypes.String, Nullable: true}, arrow.Field{Name: ecommercePrice, Type: arrow.PrimitiveTypes.Float64, Nullable: true}, arrow.Field{Name: ecommerceQuantity, Type: arrow.PrimitiveTypes.Float64, Nullable: true}, )), }, }, EventEcommerceItemsTotalQuantity: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/ecommerce_items_total_quantity", Field: &arrow.Field{Name: "ecommerce_items_total_quantity", Type: arrow.PrimitiveTypes.Int64, Nullable: true}, }, EventPreviousPageLocation: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/previous_page_location", Field: &arrow.Field{Name: "previous_page_location", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventNextPageLocation: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/next_page_location", Field: &arrow.Field{Name: "next_page_location", Type: arrow.BinaryTypes.String, Nullable: true}, }, EventPreviousPageTitle: schema.Interface{ ID: "matomo.protocols.d8a.tech/event/previous_page_title", Field: &arrow.Field{Name: "previous_page_title", Type: arrow.BinaryTypes.String, Nullable: true}, }, SessionTotalGoalConversions: schema.Interface{ ID: "matomo.protocols.d8a.tech/session/total_goal_conversions", Field: &arrow.Field{Name: "session_total_goal_conversions", Type: arrow.PrimitiveTypes.Int64, Nullable: true}, }, SessionTotalContentImpressions: schema.Interface{ ID: "matomo.protocols.d8a.tech/session/total_content_impressions", Field: &arrow.Field{Name: "session_total_content_impressions", Type: arrow.PrimitiveTypes.Int64, Nullable: true}, }, SessionTotalContentInteractions: schema.Interface{ ID: "matomo.protocols.d8a.tech/session/total_content_interactions", Field: &arrow.Field{Name: "session_total_content_interactions", Type: arrow.PrimitiveTypes.Int64, Nullable: true}, }, SessionReturningUser: schema.Interface{ ID: "matomo.protocols.d8a.tech/session/returning_user", Field: &arrow.Field{Name: "session_returning_user", Type: arrow.PrimitiveTypes.Int64, Nullable: true}, }, }
ProtocolInterfaces are the columns specific to the Matomo protocol.
Functions ¶
func NewFromIDSiteExtractor ¶
func NewFromIDSiteExtractor(psr properties.SettingsRegistry) protocol.PropertyIDExtractor
NewFromIDSiteExtractor creates a PropertyIDExtractor that extracts property ID from the "idsite" query parameter using the property settings registry.
func NewMatomoProtocol ¶
func NewMatomoProtocol(extractor protocol.PropertyIDExtractor, opts ...MatomoProtocolOption) protocol.Protocol
Types ¶
type MatomoProtocolOption ¶ added in v0.44.0
type MatomoProtocolOption func(*matomoProtocol)
func WithExtraTrackingEndpoints ¶ added in v0.44.0
func WithExtraTrackingEndpoints(paths []string) MatomoProtocolOption
Click to show internal directories.
Click to hide internal directories.