Cookieless by default

Privacy-first cookieless analytics, with consent built in

One script tag. Pageviews stay cookieless. Enhanced analytics runs only after a visitor accepts.

One script tag

<script async src="https://databob.dev/databob.js" data-site="YOUR_SITE_ID" data-key="YOUR_WRITE_KEY" data-collect="https://us-ingest.databob.dev/v1/collect" data-config="https://savory-yak-367.convex.site/v1/consent/YOUR_SITE_ID" data-choices="https://databob.dev"></script>

The dashboard replaces YOUR_SITE_ID and YOUR_WRITE_KEY.

How it works

01

One script tag

Add the tag to the site. The write key is shown once, then stored as a hash.

02

Cookieless by default

A pageview stores the path, country, and device class. No cookie, no visitor id, and no IP in the stored point.

03

Enhanced only with consent

Referrer, campaign, and goal events stay off until a visitor accepts. The enhanced choice starts unchecked.

GDPR, CCPA, and Global Privacy Control

Consent ships with the script. Essential analytics does not wait on a banner. Enhanced analytics does.

GDPR and CCPA

Essential cookieless analytics does not use cookies or personal data. Enhanced analytics stays off until an explicit accept for the current consent version. California visitors are not prompted and stay cookieless. The banner can be limited to the EU, the EEA, the UK, Switzerland, and Canada. Visitors outside that list are not asked.

Global Privacy Control

A browser that sends Global Privacy Control or Do Not Track is not shown the banner. Enhanced analytics stays off, including when the region is set to everywhere.

A read API with keys

Snapshot reads use a data API key. That key is not the install write key.

Mint a key, then call it

Owners and admins create read-only keys in the dashboard. The secret is shown once. Callers send it as a bearer token, dbk_live_ or dbk_test_. A key reads one site, or every site in the org. It cannot write.

GET /v1/reports/content

curl -H "Authorization: Bearer dbk_live_…" \
  "https://api.databob.dev/v1/reports/content?project_id=PROJECT_ID&period=7d&content_id=CONTENT_ID"

A small script

about 12 KB

Minified, with the banner inside

The minified tracker is about 12 KB. It does not load a framework or the dashboard UI. Banner CSS lives in that file and is created only when a visitor is prompted. Bob left React at home.