# Consent Management Platform (CMP) analytics

{% hint style="success" %}
**Access Type**: Analytics - Viewer
{% endhint %}

Didomi Consent Management Platform (CMP) analytics provides your organization with a variety of dashboards that can be subsequently filtered to review key data on how your consent notices are performing on your domains/apps. In this article, we will cover the following for CMP analytics:

* [Dashboard updates](#dashboard-updates)
* [Historical data limits](#historical-data-limits)
* [Measured events](#measured-events)
* [Data sampling](#data-sampling)

{% hint style="warning" %}
**Note**: The following refers to aggregated analytics data captured in Didomi structured CMP dashboards. Consent proofs (the individual historical records of an end-user's consent choices are stored by Didomi for 5 years).&#x20;
{% endhint %}

***

### Dashboard updates

Didomi CMP analytics dashboards are updated daily (at approximately 7:00 AM UTC) with a 1-day delay.&#x20;

### Historical data limits

The look-back window for data is dependent on the available date aggregation for a particular dashboard. Please refer to the table for the historical data limits for each dashboard:

<table><thead><tr><th width="184">Shortest aggregation</th><th width="181.166748046875">Historical data limit</th><th>Dashboards</th></tr></thead><tbody><tr><td>Hourly</td><td>14 days</td><td><ul><li>Exploration</li></ul></td></tr><tr><td>Daily</td><td>1 year</td><td><ul><li>Domains &#x26; Apps</li><li>Countries</li><li>Tech</li><li>Web Pageviews</li><li>App Sessions</li><li>North America</li><li>AB Tests</li><li>Notice implementation</li></ul></td></tr></tbody></table>

### Measured events

Didomi SDKs automatically collect events when an end-user interacts with your website, mobile app, etc... The following events are collected and aggregated to generate CMP analytics dashboards:

{% hint style="info" %}
Events with an invalid domain or containing localhost are filtered out from the CMP analytics in your dashboard.
{% endhint %}

<table><thead><tr><th width="226.50006103515625">Events</th><th>Description</th></tr></thead><tbody><tr><td>Website pageviews</td><td><p>A pageview event is fired on every page browsed by an end-user on your website where the Didomi SDK is present. </p><p></p><p><mark style="background-color:$warning;"><strong>Note</strong>: Pageviews are only tracked when the Didomi SDK is present on the page so ensure to embed the Didomi SDK tag on every page of your website.</mark></p><p></p><p>This event includes the following data points:</p><p></p><ul><li>Date and time</li><li>Consent status of the end-user for purposes and vendors</li><li>Domain name (but not the actual URL/page visited by the user)</li><li>Country of the end-user</li><li>Experiment (if any)</li></ul></td></tr><tr><td>Mobile app sessions</td><td><p>App sessions are tracked every time your mobile app is launched. </p><p></p><p><mark style="background-color:$warning;"><strong>Note</strong>: App sessions are only tracked when the Didomi SDK is initialized so ensure to embed the Didomi SDK in your app and initialize it on every app launch.</mark></p><p></p><p>This event includes the following data points:</p><p></p><ul><li>Date and time</li><li>Consent status of the end-user for purposes and vendors</li><li>Mobile app ID</li><li>Country of the end-user</li></ul></td></tr><tr><td>Notice display</td><td><p>Event tracks when consent notices are shown to end-users for collecting their consent.</p><p></p><p>This event includes the following data points:</p><p></p><ul><li>Date and time</li><li>Purposes and vendors shown to the end-user</li><li>Consent status of the end-user</li><li>Domain or mobile app ID</li><li>Country of the end-user</li></ul></td></tr><tr><td>End-user consent decisions</td><td><p>Event tracks consent decisions made by the end-user (both positive and negative). <code>consent.given</code> is sent every time an end-user agrees or declines purposes or vendors in a consent notice (or any other UI displayed by Didomi) in order to register the new consent status of the end-user.</p><p>This event includes the following data points:</p><p></p><ul><li>Date and time</li><li>New consent status of the user for purposes and vendors</li><li>Previous consent status of the user for purposes and vendors</li><li>Domain or mobile app ID</li><li>Country of the user</li></ul><p><mark style="background-color:$warning;"><strong>Note</strong>: This event is stored as a legal proof of consent.</mark></p></td></tr><tr><td>UI interactions</td><td><p>Event tracks the end-user's interactions within the consent UI (showing the list of purposes, expanding vendor details, etc.).</p><p></p><p>This event includes the following data points:</p><p></p><ul><li>Date and time</li><li>Identifier of the interaction with the UI</li><li>Domain or mobile app ID</li><li>Country of the user</li></ul></td></tr></tbody></table>

### Data sampling

Aside from the end-user consent decisions event (which is collected and stored by Didomi as legal proof of consent and to demonstrate end-user choices), the remaining events collected by the Didomi SDKs on websites and mobile apps are sampled.&#x20;

Sampling refers to the collection of events from random end-users and then extrapolating the analytics data in your organization's CMP dashboards. The Didomi sampling strategy is currently:

* Every end-user is associated with a unique and random user ID
* User IDs are uniformly distributed into N random buckets through hashing
* Users from the top X% buckets are selected as being part of the sample
* All events from users in the sample are collected

{% hint style="warning" %}
**Note**: The sampling rate varies across event types and platforms.
{% endhint %}

This strategy ensures that the sample is representative of the entire end-use base by selecting purely random end-users and logging all events for those end-users (which ensures that we capture the full behavior of those end-users).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.didomi.io/analytics/consent-management-platform-cmp-analytics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
