Get started as a developer
What you can build with Insights Orbit, the addresses and keys involved, and the order to set things up in.
Tutorial3 min read
Insights Orbit counts visits and events on your organisation's websites and apps without cookies. As a developer you put the script on the website, send the events that matter, and read the numbers into your own tools. The examples use Northwilds, an outdoor travel brand at northwilds.com that sells guided trips such as a Lofoten ski touring week.
What you need
- A site in Insights Orbit: An Admin adds it under Sites, with the addresses the website lives on. See Add your first site.
- The site key: It is on the site's Install screen. It goes in the page and is not a secret: events are only taken from the site's own addresses.
- An API key: Only for servers and data tools. See API keys.
Set it up in this order
- Add the script: One tag in the page's
<head>counts page views, outbound links, downloads, forms, scroll depth and not-found pages. See The script. A website built with the CMS Orbit SDK usesCmsInsightsinstead: Connect Insights Orbit with the CMS Orbit SDK. - Check the first visit: Open a page of the website. Waiting for the first visit on Install turns green within a few seconds.
- Serve it from your own domain: Do this if ad blockers matter to you, with a proxy token so visitors' places and unique counts stay right. See Serve Insights Orbit from your own domain.
- Send your own events: Count what matters, such as
Trip bookedorBrochure requested, withinsights.track. See Send your own events. Events that happen on a server, such as a confirmed payment, go to the server API. - Agree goals with your team: A goal is a page or an event that counts as success, such as the booking confirmation page. Editors set them up under Goals.
Read the data
| Need | Use | Plan |
|---|---|---|
| Every raw event, page by page, for a data warehouse | Raw event API | Growth |
| The same events with a query | GraphQL | Growth |
| Trying requests from the browser | API playground | Growth |
| A file of every event each night in your own bucket | S3 export | Enterprise |
| An AI assistant that answers questions with your numbers | The MCP server | Growth |
Addresses
https://api.bifrostorbit.com/insights/v1/https://api-stage.bifrostorbit.com/insights/v1/https://api.bifrostorbit.com/insights/graphqlhttps://api-stage.bifrostorbit.com/insights/graphqlhttps://app.bifrostorbit.com/insightshttps://stage.bifrostorbit.com/insights| What | Production | Staging |
|---|---|---|
| Script, events, server API and raw event API | https://api.bifrostorbit.com/insights/v1/ | https://api-stage.bifrostorbit.com/insights/v1/ |
| GraphQL | https://api.bifrostorbit.com/insights/graphql | https://api-stage.bifrostorbit.com/insights/graphql |
| The app and the MCP server | https://app.bifrostorbit.com/insights | https://stage.bifrostorbit.com/insights |
Under /insights/v1/:
script.jsGETcollectPOSTserver/eventsPOSTeventsGETopt-out?site=SITE_KEYGETlabels, label.js, labellingGET, POST| Path | Method | What it is |
|---|---|---|
script.js | GET | The script |
collect | POST | Batches from the script |
server/events | POST | Events from your servers, with an API key |
events | GET | Raw events, with an API key |
opt-out?site=SITE_KEY | GET | The page where visitors choose not to be counted |
labels, label.js, labelling | GET, POST | Labelled events and labelling mode |
Privacy
The script stores nothing in the browser unless a visitor asks not to be counted, and Insights Orbit keeps no IP addresses. Don't send names, email addresses or other personal data in event details. If your website asks for consent before counting, the script can wait for it. See How visits are counted without cookies.
Stuck? See Troubleshooting for developers.
Was this page helpful?