Cookieless vs. full tracking
Otus supports two tracking modes. You choose one per site via the trackingMode option in your snippet's otus.init(). Cookieless is the default and is what most sites should use.
Cookieless (default)
In cookieless mode Otus sets no cookies and stores no persistent identifiers in the visitor's browser. Nothing is stored in the browser, with or without consent. Because no personal data or identifiers are persisted, you typically don't need a consent banner for analytics.
To group requests into sessions, Otus derives a session identity server-side from a hash of the truncated IP address (IPv4 /28, IPv6 /48), user agent and language, combined with a secret salt that is replaced every day. Visitors therefore can't be recognised across days, and the hash can't be recomputed afterwards. Sessions use a 30-minute sliding window. The raw IP address is used to look up the country and is not stored with your analytics data.
What you get: all core traffic, engagement, source, location, device, funnel and e-commerce reports.
What you don't get: anything that requires recognising the same person across sessions, specifically returning-visitor rate and new vs. returning breakdowns.
<script async src="https://cdn.otusanalytics.com/otusanalytics/otus.js"></script>
<script>
window.otus=window.otus||function(){(otus.q=otus.q||[]).push(arguments)},otus.init=otus.init||function(i){otus.o=i||{}};
otus.init({ siteId: 123, endpoint: "https://ingest.otusanalytics.com/e" })
</script>
Full tracking
With analytics consent, full tracking stores a session ID in sessionStorage (30-minute sliding window, cleared when the tab closes) and a persistent visitor ID in localStorage. This lets Otus recognise returning visitors and enables the related metrics.
Because full mode stores identifiers on the device, it only does so once the visitor has granted analytics consent via otus('setConsent', ...). Until then, and for visitors who decline, visits are still recorded exactly like cookieless mode. Returning-visitor metrics are therefore based on consenting visitors only.
Full tracking also lets you identify logged-in users, so the same person is counted as one user across devices, and their earlier anonymous visits on that browser count towards them too.
Adds on top of cookieless: new vs. returning users breakdowns and user identification.
<script async src="https://cdn.otusanalytics.com/otusanalytics/otus.js"></script>
<script>
window.otus=window.otus||function(){(otus.q=otus.q||[]).push(arguments)},otus.init=otus.init||function(i){otus.o=i||{}};
otus.init({ siteId: 123, endpoint: "https://ingest.otusanalytics.com/e", trackingMode: "full" })
</script>
Side by side
| Cookieless (default) | Full | |
|---|---|---|
| Cookies / local storage | None | Session ID + visitor ID (and user ID / user properties if you use them), with analytics consent only |
| Consent banner typically required | No (analytics) | Yes, for the cookie and visitor ID |
| Sessions | Server-side hash (30-min window) | Client session ID with consent, server-side hash without |
| Core traffic, sources, locations, devices | ✅ | ✅ |
| Engagement, funnels, e-commerce | ✅ | ✅ |
| Returning-visitor rate / new vs. returning | — | ✅ |
| User identification | — | ✅ |
| Linking events across sessions | ✅ with analytics consent | ✅ with analytics consent |
| Conversion forwarding | Within the same visit | Within each ad platform's conversion window |
How privacy is handled either way
Regardless of mode:
- Raw IP addresses are never stored with your analytics data. They're used to derive the country (via MaxMind) and the daily session hash. If you've connected an ad platform, the IP and user agent are included in conversions forwarded to it (only with marketing consent), and held on our servers for at most 30 minutes while a visitor's marketing consent is still unanswered.
- Unknown consent is never treated as granted. See consent.
- Otus stores aggregate, non-identifying attributes such as country (ISO-2), device type, browser and referrer.
Next step
Continue to the dashboard tour, or learn how to track custom events and goals.