Consent and storage
Signal never stores IP addresses, doesn't look up companies from them, and only keeps contact details that visitors give with consent. What's left to decide on your site is how the visitor id is stored and whether Signal may analyse and personalise.
Storage modes
| Mode | Visitor id | Remembers a returning visitor |
|---|---|---|
persistent |
localStorage |
Yes, across visits |
session |
sessionStorage |
Only within one browser tab session |
none |
memory only | No, not even after a page reload |
The default follows your project's region (Configuration → privacy.region): session for eu and uk, persistent elsewhere. Set it on the script tag with data-signal-storage, or change it once the visitor answers your cookie banner:
// After the visitor accepts "preferences" or "statistics" cookies:
window.signal.setConsent({ storage: "persistent" });
Analytics and personalisation
window.signal.setConsent({ analytics: false }); // stop recording events
window.signal.setConsent({ personalisation: false }); // no questions, offers or popup
analytics: false: Signal stops recording events for this visitor. Turning it back on records where the visit came from once.personalisation: false: nothing is shown to the visitor; Signal stays quiet.
Connecting a cookie banner
Most banners call a function when consent changes. For example:
// Cookiebot
window.addEventListener("CookiebotOnConsentReady", () => {
window.signal?.setConsent({
storage: Cookiebot.consent.preferences ? "persistent" : "session",
analytics: Cookiebot.consent.statistics,
});
});
If your banner has no events, start with data-signal-storage="none" and call setConsent from the banner's "accept" handler.