ConsentStackDocs

Activity & Insights

Monitor consent rates, review audit-ready consent logs, and manage detected third-party scripts.

ConsentStack gives you three tools to understand and prove your compliance: an analytics dashboard for trends, consent logs for audit-ready records, and tracker detection for managing third-party scripts.

The analytics dashboard shows you how visitors are responding to your consent banner at a glance.

KPI Cards

Four key metrics sit at the top of the page:

  • Total Events. The number of consent interactions during the selected period.
  • Consent Rate. The percentage of visitors who opted in (accepted all categories).
  • Time to Action. The average time between seeing the banner and making a decision.
  • Bounce Rate. The percentage of visitors who left without interacting with the banner at all.

Each card shows a delta indicator when comparison mode is on, so you can see whether a metric is trending up or down versus the prior period.

Trend Chart

Below the KPIs, a trend chart plots your selected metric over time. Use the time range selector to view the last 24 hours, 7 days, 30 days, or 90 days.

Turn on comparison mode to overlay the current period against the previous one. This helps you spot the impact of banner changes or seasonal shifts.

Breakdown Charts

Two breakdown panels round out the dashboard:

  • Devices. Consent events split by desktop, mobile, and tablet.
  • Top Countries. Consent events by visitor country, with the applicable regulation and per-country consent rate shown inline.

Export

Click Export CSV to download the current dataset. Useful for sharing with legal or plugging into your own reporting tools.

Analytics is available on Pro plans and above.

Every consent decision a visitor makes is recorded as an individual log entry. Logs are your proof of consent: the record you hand to an auditor or regulator when they ask, "Can you prove this visitor consented?"

How do I prove a specific visitor consented?

Export your consent logs and filter by the visitor's anon_id_hash, the SHA-256 hash of their anonymous ConsentStack ID. Every decision that visitor ever made on your site is a row under that one key, each carrying the timestamp, the action taken, the category-level choices, the regulation that applied, and the exact banner configuration version they saw. Those rows are the evidence package.

What Gets Logged: The Export Schema

The CSV export contains exactly 29 columns per consent record. These are the literal column names, in export order:

ColumnWhat it records
idUnique identifier for this log entry
site_idThe site the event belongs to
config_idThe consent configuration that was live when the visitor decided
config_versionVersion number of that configuration
event_typeinitial for a visitor's first decision, update for a later change
event_actionThe decision itself: opt_in, opt_out, partial, or acknowledge
interactionThe control the visitor used (accept button, reject button, preferences save)
categoriesThe visitor's per-category choices, as JSON
consent_modelThe model the banner enforced: opt_in, opt_out, notice, or notice_required
anon_id_hashSHA-256 hash of the visitor's anonymous ID. The single-visitor lookup key
device_typeDesktop, mobile, or tablet
browserBrowser family
osOperating system
country_codeVisitor country, derived from infrastructure headers
regionThe consent region that matched
regulationThe regulation that applied (GDPR, CCPA, and so on)
languageThe visitor's browser language
resolved_languageThe language the banner actually displayed
domainThe domain the event was recorded on
page_urlThe page the visitor was on when they decided
banner_positionThe banner layout shown
banner_load_time_msHow long the banner took to load, in milliseconds
time_to_action_msTime between seeing the banner and deciding, in milliseconds
preferences_openedWhether the visitor opened the preferences center first
sdk_versionThe SDK version that recorded the event
site_keyThe public site key the event was logged under
global_compliance_enabledWhether global compliance mode was on
instant_updatesWhether instant configuration updates were enabled
created_atTimestamp of the decision

CSV and JSON exports are not the same schema

The CSV is a fixed 29-column report. The JSON export returns the complete stored record, a superset of the CSV. The extra fields include the Global Privacy Control audit pair (gpc_detected, which records whether a GPC signal was present on the event, and signal_source, which records whether the decision came from an honored signal, a banner click, or the preferences center) and, when the geo-details setting is enabled for your site, city-level location fields (geo_city, geo_postal_code, geo_latitude, geo_longitude, geo_timezone, geo_continent). Choose JSON when the audit question involves GPC or location detail.

In the dashboard, open your site's Activity area, go to Consent Logs, and click Export. Two formats are available:

  • Consent Logs (CSV): the 29-column report above, RFC 4180 escaped, with a header row.
  • Consent Logs (JSON): newline-delimited JSON (NDJSON), one complete record per line.

Both formats stream your site's entire log, not just the page of results you are viewing. The download is named consent-logs-<site>-<date>.csv or .ndjson.

Browsing and Inspecting Logs

Logs appear in a paginated table sorted by most recent. Click any row to open the inspector panel on the right, which shows the full detail of that consent event, including the interaction timeline (banner shown, preferences opened, decision made) and metadata like SDK version and banner position.

Privacy by Design

Visitor IDs are cryptographically hashed before they are stored. No names, emails, IP addresses, or other personally identifiable information ever touches your logs. This means your consent records are audit-ready without creating a privacy liability.

Retention is enforced by a nightly cleanup job, so these numbers are the storage reality, not a dashboard display setting: Business keeps consent logs for one year, Pro keeps 30 days, and Basic keeps logs for the current billing period. The logs dashboard itself is available on Pro plans and above.

Tracker Detection

ConsentStack automatically detects third-party scripts running on your site and reports them back to the dashboard. This gives you a clear picture of what is loading on your pages, and whether those scripts are properly gated behind consent.

How It Works

The SDK monitors your site for third-party scripts and reports their domains to the dashboard. Those domains are matched against a database of 900+ known tracker patterns and auto-categorized (e.g., Analytics, Advertising, Social Media). Recognized scripts show the vendor name, logo, and a link to the vendor's site.

Scripts that don't match a known domain are flagged as uncategorized and surfaced at the top of the page for your review. You can assign a consent category to any script with a single click.

Triggering a Scan

Trackers appear automatically as visitors browse your site. If you want results immediately (for example, after launching or connecting a new domain), click the Sync button to trigger a fresh scan on demand.

Custom Rules

For scripts that aren't auto-detected, you can add custom domain pattern rules to manually assign a consent category. This is useful for internal tools or niche vendors that aren't in the known tracker database yet.

What's Next