Piwik PRO can collect a lot of data about how visitors use your site or mobile app. This can be data like visited pages or screens, session duration, device type, browser used, operating system, referring site, visitor location and so on. Some of this data may contain personally identifiable information or personal information, and in most countries you have to ask the visitor for permission to collect and use it.
The tables below show all the data that is or may be collected. We’ve marked the data that is or may store personally identifiable information or personal information. The tables are long but contain all the details you need.
Analytics
Session
Data | Visitor’s identity | Description |
---|---|---|
session_custom_dimension_* | Maybe | Custom data collected if a custom dimension is set up. It may contain personally identifiable information or personal information like a visitor’s email address or name. |
session_custom_variable_key_* | No | A custom variable name collected if a custom variable is set up. |
session_custom_variable_value_* | Maybe | A custom variable value collected if a custom variable is set up. It may contain personally identifiable information or personal information like a visitor’s email address or name. |
session_entry_title | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_entry_url | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_exit_title | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_exit_url | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_goals | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_second_title | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_second_url | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_content_impressions | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_content_interactions | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_custom_events | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_downloads | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_events | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_goal_conversions | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_goal_revenue | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_outlinks | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_page_views | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_site_searches | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_time | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_unique_content_impressions | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_unique_content_interactions | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_unique_custom_events | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_unique_downloads | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_unique_outlinks | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_unique_page_views | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_unique_searches | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
user_id | Yes | Custom data collected if the user ID is set up. It may contain personally identifiable information or personal information like a customer ID. |
visitor_days_since_first_session | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
visitor_days_since_last_session | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
cookie_id | Yes | A randomly generated identifier for a visitor and stored in a _pk_id cookie (browsers) or mobile app (SDKs). Read more |
visitor_id | Yes | A value taken from the cookie_id or derived from the user_id . It is used to calculate the number of unique visitors and recognize new and returning visitors, but plays no direct role in recognizing the visitor’s session. Read more |
visitor_returning | No | Set when a session is created after checking the visitor’s identity in previously collected data. |
visitor_session_number | No | Set when a session is created after checking the visitor’s identity in previously collected data. |
campaign_gclid | Maybe | Google Click ID, which shows the parameter passed in the URL with Google Ads clicks. |
Event
Data | Visitor’s identity | Description |
---|---|---|
is_bounce | No | Assigned to the event after data collection. |
content_interaction | No | Description of the content interaction event. |
content_name | No | Description of the content interaction event. |
content_piece | No | Description of the content interaction event. |
content_target | No | Description of the content interaction event. |
custom_event_action | No | Custom data collected if a custom event is set up. |
custom_event_category | No | Custom data collected if a custom event is set up. |
custom_event_name | No | Custom data collected if a custom event is set up. |
custom_event_value | No | Custom data collected if a custom event is set up. |
download_url | No | Download event description |
event_custom_dimension_* | Maybe | Custom data collected if a custom dimension is set up. It may contain personally identifiable information or personal information like a visitor’s email address or name. |
event_custom_variable_key_* | No | A custom variable name collected if a custom variable is set up. |
event_custom_variable_value_* | Maybe | Custom data collected if a custom variable is set up. It may contain personally identifiable information or personal information like a visitor’s email address or name. |
event_index | No | The index of a given event in the session’s event sequence. The sequence starts with 0. |
event_title | No | Event description |
event_type | No | Event type like page view, custom event, goal conversion, download, outlink and so on. |
event_url | No | The URL of the page view or the URL of the page view associated with the event. |
goal_revenue | No | Revenue that can optionally be tracked along with the goal. |
is_entry | No | Set after data collection. Determines whether the page view is a session entry. |
is_exit | No | Set after data collection. Determines whether the page view is a session exit. |
next_event_title | No | Set after data collection as an additional dimension. |
next_event_url | No | Set after data collection as an additional dimension. |
outlink_url | No | Captured when a visitor clicks on a link to an external site (different domain). |
page_view_index | No | An iterator of page views within a session. It starts at 0. |
previous_event_title | No | Set during data collection as an additional dimension. |
previous_event_url | No | Set during collecting data as an additional dimension. |
search_category | No | Search event description. Tracked if there is a custom JavaScript implementation. |
search_keyword | No | Search event description. Tracked if there is a custom JavaScript implementation. |
search_results_count | No | Search event description. Tracked if there is a custom JavaScript implementation. |
time_on_page | No | Time spent on the page, calculated as the difference between the timestamp of the page view and the next page view in the session. For the last page view in a session, time can be calculated using the optional heartbeat function. |
Device & software
Data | Visitor’s identity | Description |
---|---|---|
browser_engine | Yes | Captured from the browser’s user-agent HTTP header. |
browser_language_iso639 | Yes | Captured from the browser’s user-agent HTTP header. |
browser_name | Yes | Captured from the browser’s user-agent HTTP header. |
browser_version | Yes | Captured from the browser’s user-agent HTTP header. |
device_brand | Yes | Captured from the browser’s user-agent HTTP header. |
device_model | Yes | Captured from the browser’s user-agent HTTP header. |
device_type | Yes | Captured from the browser’s user agent HTTP header and browser parameters like resolution. |
operating_system | Yes | Captured from the browser’s user-agent HTTP header. |
operating_system_version | Yes | Captured from the browser’s user-agent HTTP header. |
plugin_cookie | No | Captured from the browser using JavaScript methods. |
plugin_director | No | Captured from the browser using JavaScript methods. |
plugin_flash | No | Captured from the browser using JavaScript methods. |
plugin_gears | No | Captured from the browser using JavaScript methods. |
plugin_java | No | Captured from the browser using JavaScript methods. |
plugin_pdf | No | Captured from the browser using JavaScript methods. |
plugin_quicktime | No | Captured from the browser using JavaScript methods. |
plugin_realplayer | No | Captured from the browser using JavaScript methods. |
plugin_silverlight | No | Captured from the browser using JavaScript methods. |
plugin_windowsmedia | No | Captured from the browser using JavaScript methods. |
resolution | Yes | Captured from the browser using JavaScript methods. |
resolution_height | Yes | Captured from the browser using JavaScript methods. |
resolution_width | Yes | Captured from the browser using JavaScript methods. |
Location
Data | Visitor’s identity | Description |
---|---|---|
location_city_geoname_id | Yes | Estimated based on IP address using GeoIP service. |
location_city_name | Yes | Estimated based on IP address using GeoIP service. |
location_continent_iso_code | Yes | Estimated based on IP address using GeoIP service. |
location_country_iso_code | Yes | Estimated based on IP address using GeoIP service. |
location_country_name | Yes | Estimated based on IP address using GeoIP service. |
location_ipv4 | Yes | The IP address is an integral part of the requests sent by the browser and is used to identify unique visitors and read geolocation. Most Piwik PRO setups have privacy settings turned on and these addresses are fully or partially anonymized before being stored in the database. |
location_ipv6 | Yes | The IP address is an integral part of the requests sent by the browser and is used to identify unique visitors and read geolocation. Most Piwik PRO setups have privacy settings turned on and these addresses are fully or partially anonymized before being stored in the database. |
location_latitude | Yes | Estimated based on IP address using GeoIP service. |
location_longitude | Yes | Estimated based on IP address using GeoIP service. |
location_organization | Yes | Estimated based on IP address using GeoIP service. |
location_provider | Yes | Estimated based on IP address using GeoIP service. |
location_subdivision_1_iso_code | Yes | Estimated based on IP address using GeoIP service. |
location_subdivision_1_name | Yes | Estimated based on IP address using GeoIP service. |
location_subdivision_2_iso_code | Yes | Estimated based on IP address using GeoIP service. |
location_subdivision_2_name | Yes | Estimated based on IP address using GeoIP service. |
Timestamps
Data | Visitor’s identity | Description |
---|---|---|
local_time | No | Captured from the HTTP request content. |
server_date | No | Captured from the HTTP request content. |
server_time | No | Captured from the HTTP request content. |
session_first_event_time | No | Created or aggregated after data collection as an additional descriptive dimension of the session header. |
session_last_event_time | No | Created or aggregated after data collection as an additional descriptive dimension of the session header. |
event_time | No | The timestamp of the event (UTC0). |
next_event_time | No | Set after data collection as an additional dimension. |
previous_event_time | No | Set during data collection as an additional dimension. |
Traffic source
Data | Visitor’s identity | Description |
---|---|---|
medium | No | Captured from query parameters. |
campaign_content | No | Captured from query parameters that have been assigned optionally. |
campaign_id | No | Captured from query parameters that have been assigned optionally. |
campaign_keyword | No | Captured from query parameters that have been assigned optionally. |
campaign_medium | No | Captured from query parameters that have been assigned optionally. |
campaign_name | No | Captured from query parameters that have been assigned optionally. |
campaign_source | No | Captured from query parameters that have been assigned optionally. |
keyword | No | Captured from query parameters. |
referrer_keyword | No | Captured from HTTP request referrer field or query parameters. |
referrer_name | No | Captured from HTTP request referrer field or query parameters. |
referrer_type | No | Captured from HTTP request referrer field or query parameters. |
referrer_url | No | Captured from HTTP request referrer field or query parameters. |
source | No | Captured from HTTP request referrer field or query parameters. |
source_medium | No | Captured from HTTP request referrer field or query parameters. |
Performance
Data | Visitor’s identity | Description |
---|---|---|
page_generation_time | No | Timing statistics collected from the visitor’s browser. |
timing_connect_end | No | Timing statistics collected from the visitor’s browser. |
timing_connect_start | No | Timing statistics collected from the visitor’s browser. |
timing_content_end | No | Timing statistics collected from the visitor’s browser. |
timing_content_start | No | Timing statistics collected from the visitor’s browser. |
timing_dom_complete | No | Timing statistics collected from the visitor’s browser. |
timing_dom_interactive | No | Timing statistics collected from the visitor’s browser. |
timing_dom_loading | No | Timing statistics collected from the visitor’s browser. |
timing_event_end | No | Timing statistics collected from the visitor’s browser. |
timing_fetch_start | No | Timing statistics collected from the visitor’s browser. |
timing_lookup_start | No | Timing statistics collected from the visitor’s browser. |
timing_redirect_end | No | Timing statistics collected from the visitor’s browser. |
timing_redirect_start | No | Timing statistics collected from the visitor’s browser. |
timing_request_start | No | Timing statistics collected from the visitor’s browser. |
timing_response_end | No | Timing statistics collected from the visitor’s browser. |
timing_response_start | No | Timing statistics collected from the visitor’s browser. |
timing_secure_start | No | Timing statistics collected from the visitor’s browser. |
timing_unload_end | No | Timing statistics collected from the visitor’s browser. |
timing_unload_start | No | Timing statistics collected from the visitor’s browser. |
Internal data identifiers
Data | Visitor’s identity | Description |
---|---|---|
app_id | No | An ID automatically assigned to each site or app. |
app_uuid | No | An ID automatically assigned to each site or app. |
session_id | No | The ID of the session object in the database. |
event_id | No | The ID of the given event record in the database. Set when creating an event. |
goal_id | No | The ID of the goal set by the user. |
Tracking source
Data | Visitor’s identity | Description |
---|---|---|
name | No | The tracking source name matched with our dictionary. Possible values: JavaScript Tracking Client, JavaScript Tracking Client using Tag Manager, JavaScript Tracking Client using Google Tag Manager, JavaScript Tracking Client using Tealium, Angular library, React library, Android SDK, iOS SDK, React Native, Flutter, SharePoint, Confluence, WordPress, Google AMP, PHP Tracking Client, Web Log Analytics, Empty, Unknown. |
orig_name | No | The original tracking source name assigned if the name is from outside of our dictionary. |
version | No | Tracking source version |
Ecommerce
Data | Visitor's identity | Description |
---|---|---|
cart_additions | No | Ecommerce event tracked if there is additional setup. |
cart_removals | No | Ecommerce event tracked if there is additional setup. |
ecommerce_abandoned_carts | No | Ecommerce event tracked if there is additional setup. |
lost_revenue | No | Ecommerce event tracked if there is additional setup. This is the value of the abandoned cart. |
order_id | Yes |
Ecommerce event tracked if there is additional setup. This is usually the order ID. The order ID can be used to look up personal information in other systems. |
product_brand | No | Ecommerce event tracked if there is additional setup. |
product_category | No | Ecommerce event tracked if there is additional setup. |
product_category1 | No | Ecommerce event tracked if there is additional setup. |
product_category2 | No | Ecommerce event tracked if there is additional setup. |
product_category3 | No | Ecommerce event tracked if there is additional setup. |
product_category4 | No | Ecommerce event tracked if there is additional setup. |
product_category5 | No | Ecommerce event tracked if there is additional setup. |
product_count | No | Ecommerce event tracked if there is additional setup. |
product_detail_views | No | Ecommerce event tracked if there is additional setup. |
product_name | No | Ecommerce event tracked if there is additional setup. |
product_price | No | Ecommerce event tracked if there is additional setup. |
product_quantity | No | Ecommerce event tracked if there is additional setup. |
product_revenue | No | Ecommerce event tracked if there is additional setup. |
product_sku | No | Ecommerce event tracked if there is additional setup. |
product_variant | No | Ecommerce event tracked if there is additional setup. |
revenue | No | Ecommerce event tracked if there is additional setup. |
revenue_discount | No | Ecommerce event tracked if there is additional setup. |
revenue_shipping | No | Ecommerce event tracked if there is additional setup. |
revenue_subtotal | No | Ecommerce event tracked if there is additional setup. |
revenue_tax | No | Ecommerce event tracked if there is additional setup. |
session_ecommerce_status | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_abandoned_carts | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_cart_additions | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_cart_removals | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_ecommerce_conversions | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
session_total_product_detail_views | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
visitor_days_since_order | No | Created or aggregated after data collection. It is an additional descriptive dimension of the session header. |
CDP
Attribute id | Visitor’s identity | Aggregation | Description |
---|---|---|---|
id | Yes | n/a | The ID of the visitor’s profile. |
user_id | Yes | list_unique | Custom data collected if the user ID is set up. It may contain personally identifiable information or personal information like a customer ID. |
visitor_id | Yes | list_unique | A value taken from the cookie_id or derived from the user_id. It is used to calculate the number of unique visitors and recognize new and returning visitors, but plays no direct role in recognizing the visitor’s session. Read more |
cookie_id | Yes | list_unique | A randomly generated identifier for a visitor and stored in a _pk_id cookie (browsers) or mobile app (SDKs). Read more |
first_activity | No | min | Time of the visitor’s first event. |
last_activity | No | max | Time of the visitor’s last event. |
last_order_time | No | max | Time of the visitor’s last order. |
first_page_url | No | first | The URL of the page view or the URL of the page view associated with the first event. |
last_page_url | No | last | The URL of the page view or the URL of the page view associated with the last event. |
goal_uuids | No | list_unique | The ID of the goal set by the user. |
total_goal_revenue | No | sum | Revenue that can optionally be tracked along with the goal. |
total_revenue | No | sum | Ecommerce event tracked if there is an additional setup. |
consent_type_analytics | No | last | Captured when a visitor consents (or doesn’t consent) to Analytics. |
consent_type_ab_testing_personalization | No | last | Captured when a visitor consents (or doesn’t consent) to A/B testing and Personalization. |
consent_type_conversion_tracking | No | last | Captured when a visitor consents (or doesn’t consent) to Conversion tracking. |
consent_type_marketing_automation | No | last | Captured when a visitor consents (or doesn’t consent) to Marketing automation. |
consent_type_remarketing | No | last | Captured when a visitor consents (or doesn’t consent) to Remarketing. |
consent_type_user_feedback | No | last | Captured when a visitor consents (or doesn’t consent) to User feedback. |
consent_type_custom_1 | No | last | Captured when a visitor consents (or doesn’t consent) to custom consent type. |
source | No | first_last | Captured from query parameters that have been assigned optionally. |
medium | No | first_last | Captured from query parameters that have been assigned optionally. |
source_medium | No | first_last | Captured from query parameters that have been assigned optionally. |
keyword | No | first_last | Captured from query parameters that have been assigned optionally. |
referrer_type | No | first_last | Captured from query parameters that have been assigned optionally. |
referrer_url | No | first_last | Captured from query parameters that have been assigned optionally. |
campaign_name | No | first_last | Captured from query parameters that have been assigned optionally. |
campaign_id | No | first_last | Captured from query parameters that have been assigned optionally. |
campaign_content | No | first_last | Captured from query parameters that have been assigned optionally. |
operating_system | No | first_last | Captured from the browser’s user-agent HTTP header. |
operating_system_version | No | first_last | Captured from the browser’s user-agent HTTP header. |
browser_engine | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
browser_name | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
browser_version | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
browser_language_iso639 | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
device_type | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
device_brand | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
device_model | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
resolution | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
resolution_width | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
resolution_height | Yes | first_last | Captured from the browser’s user-agent HTTP header. |
ipv4_address | Yes | first_last | The IP address is an integral part of the requests sent by the browser and is used to identify unique visitors and read geolocation.
Most Piwik PRO setups have privacy settings turned on and these addresses are fully or partially anonymized before being stored in the database. |
ipv6_address | Yes | first_last | The IP address is an integral part of the requests sent by the browser and is used to identify unique visitors and read geolocation.
Most Piwik PRO setups have privacy settings turned on and these addresses are fully or partially anonymized before being stored in the database. |
location_continent_iso_code | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_country_iso_code | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_subdivision_1_iso_code | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_subdivision_2_iso_code | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_city_geoname_id | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_provider | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_organization | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_latitude | Yes | first_last | Estimated based on IP address using GeoIP service. |
location_longitude | Yes | first_last | Estimated based on IP address using GeoIP service. |
session_custom_dimension_1 | Maybe | list_unique | Custom data collected if a custom dimension is set up.
It may contain personally identifiable information or personal information like a visitor’s email address or name. |
Note:
- The data schema for raw data is saved as three files: sessions (sample CSV file), events (sample CSV file) and Google Ads integration.
- The collected data is presented in reports as dimensions and metrics.