PintellyPintelly

Consent Management

Consent controls behavioral measurement and analytics identity. Configure it independently of widget appearance. A visitor's explicit feedback submission is a separate action from automatic analytics collection.

What is collected in each state?

MeasurementPending or deniedGranted, with the feature enabled
Page viewsAnonymous page-path countsPage views with analytics context
PerformanceNumeric timing measurementsTiming measurements with analytics context
SEO checksContent-free checks if SEO analysis is enabledChecks with text/NLP analysis
Clicks, custom events, scroll, URL timing, console and videoNot collected by the analytics SDKCollected according to project settings
Visitor identity and sessionsNo analytics user or session identifierIdentity and session context available
Cursor movement and session replayOffAvailable when enabled

Anonymous page paths omit query strings and fragments. Anonymous timestamps use minute precision; identifying context is removed. Anonymous views therefore cannot be used to reconstruct a visitor's journey. Do not interpret anonymous page views as identified visitors or recorded sessions.

Project Settings → Consent asks one question, how visitor consent is handled:

  • Measure without asking (default): no prompt is shown and every visitor is measured in full. If your site runs a consent tool, a visitor who declines there is not measured.
  • Show Pintelly's consent prompt: Pintelly waits for a decision and presents its own prompt unless a supported consent tool is detected (see below). While the decision is pending, only the anonymous measurements above continue.
  • Wait for my own cookie tool: no Pintelly prompt; only the anonymous measurements continue until your tool records an acceptance.

Feature switches still apply in every mode: granting consent does not enable every optional feature. When the SDK is initialised directly without requireConsent, it behaves like Measure without asking.

In Project Settings → Consent, choose where Pintelly reads the visitor's decision:

OptionWhat Pintelly readsPintelly's own prompt
Detect automatically (default)Cookiebot, CookieYes, Complianz or iubenda, if presentShown if no supported tool is found, or if one is found but undecided after about 12 seconds
CookiebotCookieConsent cookie, statistics categoryNever
CookieYescookieyes-consent cookie, analytics categoryNever
Complianzcmplz_statistics cookieNever
iubenda_iub_cs-… cookie, purpose 4 (Measurement)Never
OneTrustOptanonConsent cookie, the category you enter (usually C0002)Never
Google Consent Modethe latest gtag('consent', 'update', …) value of analytics_storageNever
Custom cookie or localStorage valuethe name and optional JSON path you enterNever
From my codeonly Pintelly.setConsent()Never

The consent tool's decision is read on every page load and checked again every few seconds, so a visitor who accepts, declines or withdraws later in your banner is followed without a reload. Pintelly's own stored decision is only used when no consent tool decision is available.

OneTrust lets each site define its own category IDs, so it is never detected automatically; select it and enter your analytics category. Google Consent Mode only counts an update as a decision; the default state is treated as undecided. Tools that only speak Consent Mode, such as Usercentrics, Didomi, Termly or Axeptio, work through the Google Consent Mode option.

When a specific tool is selected and it has not recorded a decision yet, only anonymous measurements are collected; a missing or unreadable decision is never treated as acceptance.

For a custom value, true, 1, yes, granted and accepted count as acceptance; anything else counts as refusal. The settings page includes a box to try a value before saving.

Programmatic control

Call this from your banner's decision handler:

Pintelly.setConsent(true);  // analytics accepted
Pintelly.setConsent(false); // analytics refused or withdrawn

Granting starts eligible tracking without a reload. Refusal or withdrawal stops behavioral modules immediately, clears analytics identity and discards queued consented events. The limited anonymous measurements continue. Refusal overrides the dashboard's automatic-grant setting.

Withdrawal does not delete previously submitted data. Do not place personal data in page paths or custom event properties, and review visible page content before enabling replay. Replay masking and feedback screenshots are separate capture mechanisms; see Advanced tracking.

Identified visitors

Pintelly.identify(userId) is your consent declaration as site owner. For that visitor it starts full tracking and takes precedence over the visitor's own decision, whether it is pending or refused in Pintelly's prompt or your consent tool. Pintelly's prompt is not shown to an identified visitor. Only your code ends it, with Pintelly.reset() or Pintelly.setConsent(false). These records are excluded from the Consented only filter. See User identification.