Installing the tracker
The snippet, the CLI installer, where the tag goes, and how to confirm it works.
The snippet
Everything starts with one tag in your site's <head>, on every page:
<script
async
src="https://c.getopen.so/oa.js"
data-key="YOUR_TRACKING_KEY"
data-collector="https://c.getopen.so"
></script>data-keyis your site's tracking key, shown in the dashboard when you create the site and any time after under Settings, Installation. It is public by design: write-only, an ingest identifier, never read access.asyncis deliberate. The tracker records the first pageview immediately and folds in your site's configuration afterwards, so it never costs you a fast bounce.- Single-page apps need the tag once: the tracker follows client-side navigation itself and counts route changes as pageviews.
The CLI installer
npx getopen init does the paste for you: it detects the framework, asks for the tracking key, writes the snippet into the right file and tells you which file it changed. It is idempotent; a project that already carries the snippet is left alone. See the CLI page for everything else it can do.
Per-framework guides
Confirming it works
The realtime view is the fastest signal: open your site once and the visit appears within seconds. Historical charts pass through the batch pipeline and typically land in about two seconds. The dashboard's install step also flips to done on its own the moment the first event arrives.
The origin allowlist
Updates
The script URL never changes and the file is cached for one hour. You never edit the snippet to get a fix; improvements reach your visitors within an hour of us shipping them.