Consent categories
setConsent() takes four booleans: analytics, marketing, preferences, and sale.
Call it before init(). The SDK stores the choice and applies it at initialization.
marketing or sale also stops Stripe link
decoration and unloads container iframes.
Until consent arrives, the SDK holds the anonymous ID in memory only. It writes no cookie
and no localStorage entry.
Browser privacy signals
A first-party tracking domain also suppresses the server
__dl_visitor_id cookie when the
request carries Sec-GPC: 1, DNT: 1, or X-DL-Consent: denied.
Opt-out
privacyMode: 'strict' forces Auto Identify off and stops email prefill on Stripe links.
Turn it on in Settings → Identity & Attribution with the Strict mode toggle.
What Datalyr stores
Erase one person’s data
A Shopifycustomers/redact or shop/redact webhook starts an erasure job. Datalyr also
accepts a manual request at [email protected].
An erasure never runs workspace-wide, so you can’t wipe a workspace by accident. Every
delete carries the workspace ID plus at least one identifier of that person.
Redaction of outgoing conversions
Settings → Privacy & redaction strips sensitive-category fields from payloads sent to Meta, TikTok, Google, OpenAI, and Snapchat. See Health and wellness redaction. Redaction controls what leaves Datalyr, not what you collect. Use Settings → Filters to stop collecting something in the first place.Verify your posture
- Open your site in a private window with consent denied.
- Open Live and confirm no event arrives.
- Grant consent.
- Reload and confirm the
pageviewarrives. - Turn on GPC in a test browser.
- Reload and confirm no event arrives.
- Call
datalyr.reset()and confirm Users shows a newdistinct id.
When it does not work
Next
- Health and wellness redaction: the exact fields stripped.
- Filters: stop collecting a page or an IP entirely.
- Web SDK: the full consent and opt-out method list.