Install in 5 minutes
Paste one script tag into your site, watch pageviews arrive in the dashboard.
The whole install is one HTML tag. No build step, no npm package, no SDK initialization.
Step 1 — Sign up and grab your site ID
After signup, the onboarding asks for your domain. We create a site and give you a public site key — an opaque UUID. It's the only identifier we expose, and it reveals nothing about you or our other customers.
Your install snippet is shown right after — copy it from the dashboard. It will look like this, with your site key and domain:
<script defer src="https://cdn.datalook.app/s.js" data-site="6f9619ff-8b86-d011-b42d-00c04fc964ff" data-domain="yoursite.com"></script>data-site is the only attribute that matters today. data-domain is your own domain, pre-armed for the first-party proxy — it does nothing until you turn that on (one DNS record), so you can ignore it for now.
On a framework with an idiomatic way to add scripts (Next.js, Nuxt, Astro, Rails, Laravel, …)? The install guides have a copy-paste snippet for your exact stack — plus a one-page proxy setup to beat ad blockers when you're ready.
Step 2 — Paste into your site's <head>
Drop it as the first script in <head>, before any analytics-blocking library. The script is 3 KB gzipped, deferred, and doesn't block render.
Don't include the snippet on staging environments — events from staging would inflate your visit counts. Gate the snippet on process.env.NODE_ENV === 'production', or use a separate site (with its own site key) for staging.
Step 3 — Visit your own site
Open your site in a fresh browser tab. Within a few seconds the dashboard shows your first pageview, and the green "We just saw your first pageview" banner appears.
If you don't see it after 30 seconds:
- Check the Network tab — the request to
/collectshould return 204. - Check the Console — no errors.
- Confirm
data-sitematches the ID shown in your dashboard.
What gets tracked automatically
- Pageviews (URL, referrer, country, device, browser)
- UTM parameters from the initial URL
- Click events on elements with
data-track="..." - Session boundaries (30 minutes of inactivity = new session)
What's next
You have data flowing. Now define what success means.