Matomo protocol
This schema document is auto-generated for the matomo protocol.
| Name | Display Name | Scope | Type | Description |
|---|---|---|---|---|
| id | Event ID | event | String | A unique event identifier, generated server-side when the hit is received, used to deduplicate events. |
| name | Event Name | event | String | The name of the event. This identifies the action the user performed (e.g., 'page_view', 'click', 'purchase', 'sign_up'). |
| property_id | Property ID | event | String | The unique identifier for the property that sent this event, used to distinguish between different tracked properties and route data to appropriate destinations. |
| property_name | Property Name | event | String | The name of the property that sent this event, used for display and reporting purposes, mapped from configuration, not tracked directly from the event data. |
| date_utc | Event Date (UTC) | event | Date | The date when the event occurred in the UTC timezone, formatted as YYYY-MM-DD. |
| timestamp_utc | Event Timestamp (UTC) | event | Datetime (s, UTC) | The precise UTC timestamp of when the event occurred, with second-level precision. This represents the time recorded when the hit is received by the server. |
| client_id | Client ID | event | String | The Client ID is a unique, randomly generated identifier assigned to each device-browser pair or app installation. It is stored client-side and sent with every event, enabling the analytics system to calculate the number of unique users. It is also used as one of the identifiers that merge events into a session. |
| user_id | User ID | event | String | An optional, user-provided identifier for authenticated users. It is set by the tracking implementation when a user is logged in (and can be identified) and enables tracking across devices and sessions for the same user. |
| ip_address | IP Address | event | String | The IP address (IPv4 or IPv6) from which the tracking request originates, used as the source for geolocation data. |
| page_location | Page Location | event | String | The complete URL of the page where the event occurred, including protocol, domain, path, and query parameters (e.g., 'https://www.example.com/products/shoes?color=red&size=10'). Tracking parameters (UTM, click IDs) are excluded once extracted into dedicated columns. |
| page_hostname | Page Hostname | event | String | The hostname of the page where the event occurred, as specified in the URL (e.g., 'www.example.com', 'shop.example.com'). |
| page_path | Page Path | event | String | The path of the page where the event occurred, as specified in the URL (e.g., '/products/shoes', '/blog/article-name'). |
| page_title | Page Title | event | String | The title of the page where the event occurred, as specified in the action_name parameter. |
| page_referrer | Page Referrer | event | String | The URL of the page that referred the user to the current page, set to empty string for direct traffic or when referrer information is not available. |
| platform | Platform | event | String | The platform from which the event was sent. Identifies whether the event originated from a website, mobile app, or another source (e.g., 'web', 'ios', or 'android'). |
| utm_campaign | UTM Campaign | event | String | The campaign name from the 'utm_campaign' URL parameter, used to identify specific marketing campaigns (e.g., 'summer_sale', 'product_launch_2024'). |
| utm_source | UTM Source | event | String | The traffic source from the 'utm_source' URL parameter, identifies where the traffic originated (e.g., 'google', 'facebook', 'newsletter'). |
| utm_medium | UTM Medium | event | String | The traffic medium from the 'utm_medium' URL parameter, identifies the marketing medium (e.g., 'cpc', 'email', 'social', 'organic'). |
| utm_content | UTM Content | event | String | The content identifier from the 'utm_content' URL parameter, used to differentiate similar content or links within the same campaign (e.g., 'banner_top', 'button_cta'). |
| utm_term | UTM Term | event | String | The search term from the 'utm_term' URL parameter, used primarily for paid search campaigns to identify the keywords that triggered the ad. |
| utm_id | UTM ID | event | String | The campaign ID from the 'utm_id' URL parameter, used to identify a specific campaign with a unique identifier for integration with advertising platforms. |
| utm_source_platform | UTM Source Platform | event | String | The source platform from the 'utm_source_platform' URL parameter, identifies the platform of the traffic source (e.g., 'Google Ads', 'Display & Video 360', 'Meta Ads'). |
| utm_creative_format | UTM Creative Format | event | String | The creative format from the 'utm_creative_format' URL parameter, identifies the format of the creative asset. |
| utm_marketing_tactic | UTM Marketing Tactic | event | String | The marketing tactic from the 'utm_marketing_tactic' URL parameter, describes the targeting criteria (e.g., 'remarketing', 'prospecting'). |
| click_id_gclid | Google gclid | event | String | Google Click ID from Google Ads campaigns, extracted from the 'gclid' parameter in the page URL, used for tracking ad clicks and linking conversions to Google Ads. |
| click_id_dclid | Google dclid | event | String | Google Click ID from Google Display & Video 360 campaigns, extracted from the 'dclid' parameter in the page URL, used for tracking display ad clicks and conversions. |
| click_id_gbraid | Google gbraid | event | String | Google Click ID for iOS app-to-web conversions, extracted from the 'gbraid' parameter in the page URL, used for privacy-preserving attribution from iOS apps. |
| click_id_srsltid | Google srsltid | event | String | Google Shopping Result Click ID, extracted from the 'srsltid' parameter in the page URL, used for tracking clicks from Google Shopping results. |
| click_id_wbraid | Google wbraid | event | String | Google Click ID for iOS web-to-app conversions, extracted from the 'wbraid' parameter in the page URL, used for privacy-preserving attribution to iOS apps. |
| click_id_fbclid | Facebook fbclid | event | String | Meta Click ID from Meta Ads campaigns (Facebook, Instagram, WhatsApp), extracted from the 'fbclid' parameter in the page URL, used for tracking ad clicks and linking conversions to Meta Ads. |
| click_id_msclkid | Microsoft msclkid | event | String | Microsoft Click ID from Microsoft Advertising campaigns, extracted from the 'msclkid' parameter in the page URL, used for tracking Bing/Microsoft ad clicks and conversions. |
| geo_city | City | event | String | Stub column, always returns null, since your geolocation provider does not implement this column. |
| geo_region | Region | event | String | Stub column, always returns null, since your geolocation provider does not implement this column. |
| geo_metro | Metro Area | event | String | Stub column, always returns null, since your geolocation provider does not implement this column. |
| geo_country | Country | event | String | Stub column, always returns null, since your geolocation provider does not implement this column. |
| geo_continent | Continent | event | String | Stub column, always returns null, since your geolocation provider does not implement this column. |
| geo_sub_continent | Sub-Continent | event | String | Stub column, always returns null, since your geolocation provider does not implement this column. |
| device_category | Device Category | event | String | The type of device used to access the site, extracted from the User-Agent header (e.g., 'smartphone', 'desktop', 'tablet', ...). |
| device_language | Device Language | event | String | The language setting of the user's device, extracted from the lang query parameter or Accept-Language header, based on ISO 639 standard for languages and ISO 3166 for country codes (e.g., 'en-us', 'en-gb', 'de-de'). |
| device_mobile_brand_name | Device Brand (mobile) | event | String | The brand name of the mobile device, populated only for mobile devices, extracted from User-Agent header (e.g., 'Apple', 'Samsung', 'Google'). |
| device_mobile_model_name | Device Model (mobile) | event | String | The model name of the mobile device, populated only for mobile devices, extracted from User-Agent header (e.g., 'iPhone 13', 'Galaxy S21'). |
| device_operating_system | Operating System | event | String | The operating system running on the user's device, extracted from the User-Agent header (e.g., 'iOS', 'Android', 'Windows', 'macOS', 'GNU/Linux'). |
| device_operating_system_version | Operating System Version | event | String | The version of the operating system running on the user's device, extracted from the User-Agent header (e.g., '26.0.1', '18.7'). |
| device_web_browser | Web Browser | event | String | The browser used to access the site, extracted from the User-Agent header (e.g., 'Chrome', 'Safari', 'Firefox', 'Mobile Safari'). |
| device_web_browser_version | Web Browser Version | event | String | The version of the browser used to access the site, extracted from the User-Agent header (e.g., '141.0.0.0', '26.0.1'). |
| tracking_protocol | Tracking Protocol | event | String | The tracking protocol implementation used to send this event. Identifies which protocol parser processed the incoming hit (e.g., 'ga4_gtag', 'ga4_firebase'). |
| ignore_referrer | Ignore Referrer | event | Boolean | Whether the referrer should be ignored for this hit. True when ignore_referrer or ignore_referer query parameter is set to "1". |
| params_site_id | Site ID | event | String | The Matomo website id tracking identifier, extracted from the idsite query parameter. |
| params_page_view_id | Page View ID | event | String | The page view identifier, extracted from the pv_id query parameter. |
| params_goal_id | Goal ID | event | String | The goal identifier, extracted from the idgoal query parameter. |
| params_category | Category | event | String | The category of the event, extracted from the e_c query parameter. |
| params_action | Action | event | String | The action of the event, extracted from the e_a query parameter. |
| params_link_url | Link URL | event | String | The URL of an outbound link clicked by the user, extracted from the link query parameter. |
| params_download_url | Download URL | event | String | The URL of a file downloaded by the user, extracted from the download query parameter. |
| params_search_term | Search Term | event | String | The keyword used in a site search, extracted from the search query parameter. |
| params_value | Value | event | Numeric (Float64) | The numeric value of the event, extracted from the e_v query parameter. |
| params_media_asset_id | Media Asset ID | event | String | The raw media asset identifier, extracted from the ma_id query parameter. |
| params_media_type | Media Type | event | String | The raw media type or context, extracted from the ma_mt query parameter. |
| params_content_interaction | Content Interaction | event | String | The content interaction name, extracted from the c_i query parameter. To track a content interaction, set c_i (typically together with c_n/c_p/c_t). |
| params_content_name | Content Name | event | String | The content name, extracted from the c_n query parameter. To track a content impression, set c_n and optionally c_p and c_t. |
| params_content_piece | Content Piece | event | String | The content piece, extracted from the c_p query parameter. |
| params_content_target | Content Target | event | String | The content target, extracted from the c_t query parameter. |
| params_product_price | Product Price | event | Numeric (Float64) | The price of the product being viewed, extracted from the _pkp query parameter. |
| params_product_sku | Product SKU | event | String | The SKU of the product being viewed, extracted from the _pks query parameter. |
| params_product_name | Product Name | event | String | The name of the product being viewed, extracted from the _pkn query parameter. |
| params_product_category_1 | Product Category 1 | event | String | The first product category, extracted from the _pkc query parameter. |
| params_product_category_2 | Product Category 2 | event | String | The second product category, extracted from the _pkc query parameter. |
| params_product_category_3 | Product Category 3 | event | String | The third product category, extracted from the _pkc query parameter. |
| params_product_category_4 | Product Category 4 | event | String | The fourth product category, extracted from the _pkc query parameter. |
| params_product_category_5 | Product Category 5 | event | String | The fifth product category, extracted from the _pkc query parameter. |
| params_search_keyword | Search Keyword | event | String | The site-search keyword extracted from the search query parameter. This is not the external referrer keyword (for example, not referer_keyword). |
| params_search_category | Search Category | event | String | The search category used in a site search, extracted from the search_cat query parameter. |
| params_search_count | Search Count | event | Numeric (Int64) | The number of search results displayed, extracted from the search_count query parameter. |
| custom_variables | Custom Variables | event | Array<item: Object<name: String, value: String>, nullable> | Matomo custom variables from the cvar query parameter. |
| custom_dimensions | Custom Dimensions | event | Array<item: Object<slot: Numeric (Int64), value: String>, nullable> | Matomo custom dimensions from query parameters like dimension1, dimension2, and so on. |
| ecommerce_purchase_revenue | Ecommerce Purchase Revenue | event | Numeric (Float64) | The grand total for the ecommerce order, extracted from the revenue query parameter. |
| ecommerce_shipping_value | Ecommerce Shipping Value | event | Numeric (Float64) | The shipping cost of the ecommerce order, extracted from the ec_sh query parameter. |
| ecommerce_subtotal_value | Ecommerce Subtotal Value | event | Numeric (Float64) | The subtotal of the ecommerce order excluding shipping, extracted from the ec_st query parameter. |
| ecommerce_tax_value | Ecommerce Tax Value | event | Numeric (Float64) | The tax amount of the ecommerce order, extracted from the ec_tx query parameter. |
| ecommerce_discount_value | Ecommerce Discount Value | event | Numeric (Float64) | The discount offered for the ecommerce order, extracted from the ec_dt query parameter. |
| ecommerce_order_id | Ecommerce Order ID | event | String | The order ID for the ecommerce order, extracted from the ec_id query parameter. |
| ecommerce_items | Ecommerce Items | event | Array<item: Object<sku: String, name: String, category_1: String, category_2: String, category_3: String, category_4: String, category_5: String, price: Numeric (Float64), quantity: Numeric (Float64)>, nullable> | An array of ecommerce item snapshots extracted from the ec_items query parameter. |
| ecommerce_items_total_quantity | Ecommerce Items Total Quantity | event | Numeric (Int64) | The total quantity of ecommerce items, calculated by summing quantity values from ecommerce_items. |
| session_hit_number | Session Hit Number | session-scoped-event | Numeric (Int64) | The sequential number of this event within its session, starting from 0. This is the index position of the event in the chronological sequence of all events in the same session. |
| session_page_number | Session Page Number | session-scoped-event | Numeric (Int64) | The sequential page number within the session, starting from 0. Increments when the page location changes. Tracks which page view in the session this event occurred on. |
| time_on_page | Time On Page | session-scoped-event | Numeric (Int64) | Time spent on a particular page, calculated as the interval between subsequent page view events in seconds, or using other events timestamps if no subsequent page view was recorded. |
| session_is_entry_page | Session Is Entry Page | session-scoped-event | Numeric (Int64) | An integer flag indicating whether this event is the first page view in the session. Returns 1 for the first page view event in the session, 0 for all other events. Returns 0 if there are no page views in the session. |
| session_is_exit_page | Session Is Exit Page | session-scoped-event | Numeric (Int64) | An integer flag indicating whether this event is the last page view in the session. Returns 1 for the last page view event in the session, 0 for all other events. Returns 0 if there are no page views in the session. |
| traffic_filter_name | Traffic Type | session-scoped-event | String | Name of the traffic filter that matched this event in testing mode. If the filter were active, this event would have been excluded. |
| next_page_location | Next Page Location | session-scoped-event | String | The URL of the next page viewed in the session after the current page. Only populated when a page transition is detected. Returns nil for the last page or when no page change has occurred. |
| next_page_title | Next Page Title | session-scoped-event | String | The title of the next page viewed in the session after the current page. Only populated when a page transition is detected. Returns nil for the last page or when no page change has occurred. |
| previous_page_location | Previous Page Location | session-scoped-event | String | The URL of the previous page viewed in the session before the current page. Only populated when a page transition is detected. Returns nil for the first page or when no page change has occurred. |
| previous_page_title | Previous Page Title | session-scoped-event | String | The title of the previous page viewed in the session before the current page. Only populated when a page transition is detected. Returns nil for the first page or when no page change has occurred. |
| session_id | Session ID | session | String | A unique identifier for the session, derived from the first event's ID in the session, used to group all events that belong to the same user session. |
| session_source | Session Source | session | String | Traffic origin (e.g., google, facebook, direct) detected from referrer, click IDs, or UTM parameters. For details, see the D8A documentation on traffic attribution. |
| session_medium | Session Medium | session | String | Marketing channel (e.g., organic, cpc, social, email, referral) classifying how traffic arrived. For details, see the D8A documentation on traffic attribution. |
| session_term | Session Term | session | String | Search keyword or campaign term extracted from referrer query parameters or UTM tags. For details, see the D8A documentation on traffic attribution. |
| session_referrer | Session Referrer | session | String | The referrer of the session. Collected from the first event in the session. |
| session_duration | Session Duration | session | Numeric (Int64) | The duration of the session in seconds, calculated as the difference between the last event time and the first event time. Zero for single-event sessions. |
| session_total_events | Session Total Events | session | Numeric (Int64) | The total number of events that occurred during this session. Includes all event types (page views, clicks, custom events, etc.). |
| session_first_event_time | Session First Event Time | session | Datetime (s, UTC) | The timestamp of the first event in the session. Marks the beginning of the user's session and is used as the baseline for calculating session duration. |
| session_last_event_time | Session Last Event Time | session | Datetime (s, UTC) | The timestamp of the last event in the session. Marks the end of the user's session and is used along with first_event_time to calculate session duration. |
| session_entry_page_location | Session Entry Page Location | session | String | The URL of the first page view in the session. |
| session_second_page_location | Session Second Page Location | session | String | The URL of the second page view in the session. |
| session_exit_page_location | Session Exit Page Location | session | String | The URL of the last page view in the session. |
| session_entry_page_title | Session Entry Page Title | session | String | The title of the first page view in the session. |
| session_second_page_title | Session Second Page Title | session | String | The title of the second page view in the session. |
| session_exit_page_title | Session Exit Page Title | session | String | The title of the last page view in the session. |
| session_utm_campaign | Session UTM Campaign | session | String | The UTM campaign from the first page view event in the session. |
| session_utm_source | Session UTM Source | session | String | The UTM source from the first page view event in the session. |
| session_utm_medium | Session UTM Medium | session | String | The UTM medium from the first page view event in the session. |
| session_utm_content | Session UTM Content | session | String | The UTM content from the first page view event in the session. |
| session_utm_term | Session UTM Term | session | String | The UTM term from the first page view event in the session. |
| session_utm_id | Session UTM ID | session | String | The UTM ID from the first page view event in the session. |
| session_utm_source_platform | Session UTM Source Platform | session | String | The UTM source platform from the first page view event in the session. |
| session_utm_creative_format | Session UTM Creative Format | session | String | The UTM creative format from the first page view event in the session. |
| session_utm_marketing_tactic | Session UTM Marketing Tactic | session | String | The UTM marketing tactic from the first page view event in the session. |
| session_click_id_gclid | Session Click ID GCLID | session | String | The Google Click ID (gclid) from the first page view event in the session. |
| session_click_id_dclid | Session Click ID DCLID | session | String | The Google Display & Video 360 Click ID (dclid) from the first page view event in the session. |
| session_click_id_gbraid | Session Click ID GBRAID | session | String | The Google Click ID for iOS app-to-web conversions (gbraid) from the first page view event in the session. |
| session_click_id_srsltid | Session Click ID SRSLTID | session | String | The Google Shopping Result Click ID (srsltid) from the first page view event in the session. |
| session_click_id_wbraid | Session Click ID WBRAID | session | String | The Google Click ID for iOS web-to-app conversions (wbraid) from the first page view event in the session. |
| session_click_id_fbclid | Session Click ID FBCLID | session | String | The Meta Click ID (fbclid) from the first page view event in the session. |
| session_click_id_msclkid | Session Click ID MSCLKID | session | String | The Microsoft Advertising Click ID (msclkid) from the first page view event in the session. |
| session_total_page_views | Total Page Views | session | Numeric (Int64) | The total number of page views (event name: page_view) in the session. |
| session_unique_page_views | Unique Page Views | session | Numeric (Int64) | The unique number of page views (event name: page_view) in the session. Deduplicated by page_location. |
| session_total_purchases | Total Purchases | session | Numeric (Int64) | The total number of completed ecommerce orders (event name: ecommerce_order) in the session. Detected via idgoal=0 with a non-empty ec_id parameter. |
| session_total_scrolls | Total Scrolls | session | Numeric (Int64) | Not supported in the Matomo protocol. Scroll depth tracking has no standard query-parameter mapping and is always null. |
| session_total_outbound_clicks | Total Outbound Clicks | session | Numeric (Int64) | The total number of outbound link clicks (event name: outlink) in the session. |
| session_unique_outbound_clicks | Unique Outbound Clicks | session | Numeric (Int64) | The unique number of outbound link clicks (event name: outlink) in the session. Deduplicated by params_link_url. |
| session_total_site_searches | Total Site Searches | session | Numeric (Int64) | The total number of site searches (event name: site_search) in the session. |
| session_unique_site_searches | Unique Site Searches | session | Numeric (Int64) | The unique number of site searches (event name: site_search) in the session. Deduplicated by params_search_term. |
| session_total_form_interactions | Total Form Interactions | session | Numeric (Int64) | Not supported in the Matomo protocol. Form interaction tracking has no standard query-parameter mapping and is always null. |
| session_unique_form_interactions | Unique Form Interactions | session | Numeric (Int64) | Not supported in the Matomo protocol. Form interaction tracking has no standard query-parameter mapping and is always null. |
| session_total_video_engagements | Total Video Engagements | session | Numeric (Int64) | The total number of video play events (event name: video_play) in the session. |
| session_total_file_downloads | Total File Downloads | session | Numeric (Int64) | The total number of file download events (event name: download) in the session. |
| session_unique_file_downloads | Unique File Downloads | session | Numeric (Int64) | The unique number of file downloads (event name: download) in the session. Deduplicated by params_download_url. |
| session_split_cause | Session Split Cause | session | String | The cause of the split of the session. If the session was not split, this will be null. Possible values: null, utm_campaign_changed, user_id_changed, max_events_reached, max_time_since_first_event_reached. |
| session_custom_variables | Session Custom Variables | session | Array<item: Object<name: String, value: String>, nullable> | Merged Matomo custom variables from the _cvar query parameter across session events. |
| session_custom_dimensions | Session Custom Dimensions | session | Array<item: Object<slot: Numeric (Int64), value: String>, nullable> | Merged Matomo custom dimensions from query parameters like dimension1, dimension2, and so on across session events. |
| session_total_goal_conversions | Total Goal Conversions | session | Numeric (Int64) | The total number of goal conversions (event name: goal_conversion) in the session. |
| session_total_content_impressions | Total Content Impressions | session | Numeric (Int64) | The total number of content impressions (event name: content_impression) in the session. Uses Matomo content tracking semantics: set c_n and optionally c_p and c_t. See https://matomo.org/guide/reports/content-tracking/. |
| session_total_content_interactions | Total Content Interactions | session | Numeric (Int64) | The total number of content interactions (event name: content_interaction) in the session. Uses Matomo content tracking semantics: set c_i for interaction tracking. See https://matomo.org/guide/reports/content-tracking/. |
| session_returning_user | Session Returning User | session | Numeric (Int64) | Returning user indicator derived from Matomo _idn on the first event in the session. Set to 1 when _idn=0, otherwise 0. |