You can use this guide to create a report that shows how the number of customers with active consents changes over time. It helps you monitor the health of your consent base, spot trends, and evaluate the impact of your opt-in strategies.
Consent attribute vs. consent event
When building reports based on consents, it's essential to understand the difference between consent attributes and consent events. Choosing the wrong source leads to misleading results, especially when tracking changes over time.
Consent attribute
- A current-state value in the customer profile
- The value is always true or false
- Reflects only whether the customer currently has a given consent
- Useful when you want to filter for customers with active consents in scenarios or targeted campaigns
- Not timestamped, therefore, you can't use it for time-based reporting
Consent event
- Created every time a customer gives or revokes consent.
- Stored as an event with attributes like:
• action (for example, accept, reject)
• category (for example, email)
• timestamp
• valid_until - Ideal for showing how consent numbers change over time (daily, monthly, yearly, and more).
Why you should use consent events for reporting
You must use consent events to understand how your active consent base grows over time.
Consent customer attributes show only the current state. They don't tell you when the consent was given or whether the customer has changed their preferences.
Step-by-step: Building the report
- Go to Reports and create a new report.
- Create a metric that counts either the first or last consent event where:
- action = "accept"
- category = your desired category (for example, email)
timestamp = aggregate of the last consent timestamp with your desired category
Using the first or last event alongside the timestamp comparison with aggregate ensures that you can each customer only once.
If a customer granted, revoked, and then regranted consent, they appear only once in the report with their last accept.
In the Metrics Filter, add a filter to include only customers who still have active consent (consents.email = true)
It ensures the report includes only users who still have active consent at the time of reporting.It excludes customers who previously gave consent but later revoked it.
- Go to Drilldown and select timestamp (event attribute) in your preferred format.
- To view month-over-month changes, use the "Year Month" format
You can choose any other time format depending on your reporting needs
At this point, the report shows the number of customers who granted the selected consent during each period, but it's not yet cumulative.
Return to the metric and click the View Options => Show value as => Running total.
It updates the report to show actual growth over time instead of period-based totals.
Your report shows how your active consent base changed month by month, displayed in a chart and/or table.
Bonus: Optional Filter for More Accuracy
If you want to report only on customers who never revoked and then regranted the consent, add the following to your customer metric filter, and don't forget to include your desired category:
It ensures the report includes only customers who granted consent once and kept it active without any changes.
It helps you focus on a more stable segment of your customer base.