Documentation
Get started with Inslo
Inslo tracks events from mobile and web apps with no cookies and no personal data. You can be up and running in under five minutes.
Quick start
1. Sign up at inslo.app and create a project in the dashboard.
2. Copy your API key from the project Settings page.
3. Add the snippet or SDK for your platform (below).
4. Events appear in your dashboard within seconds.
Web snippet
The fastest way to add Inslo to any website. Drop one script tag into your <head>. Page views are tracked automatically; no configuration needed.
<script
defer
src="https://cdn.inslo.app/inslo.js"
data-api-key="YOUR_API_KEY"
></script>Manual event tracking
After the script loads, call window.Inslo.track() anywhere in your code:
// Track a custom event
Inslo.track('signup_clicked')
// With properties
Inslo.track('plan_selected', { plan: 'growth' })Options
| Attribute | Default | Description |
|---|---|---|
| data-api-key | — | Required. Your project API key. |
| data-auto-track | true | Set to “false” to disable automatic page_view tracking. |
| data-endpoint | api.inslo.app | Override for self-hosted deployments. |
Web SDK (npm)
For React, Next.js, Vue, or other bundled projects, install the npm package for full TypeScript support.
npm install @inslo/webInitialise
import Inslo from '@inslo/web'
Inslo.init({
apiKey: 'YOUR_API_KEY',
autoTrack: true, // page_view on load + SPA navigation
})Track events
Inslo.track('button_clicked', { label: 'upgrade' })
Inslo.track('form_submitted')
Inslo.track('video_played', { title: 'intro', duration: 42 })Property values must be strings, numbers, or booleans. Objects and arrays are not supported — use flat properties.
React Native SDK
Works on iOS and Android. Includes session management, offline event queue, and automatic platform detection.
npm install @inslo/react-nativeInitialise (App.tsx)
import Inslo from '@inslo/react-native'
// Call once, early in your app lifecycle
Inslo.init({
apiKey: 'YOUR_API_KEY',
version: '1.0.0', // your app version
})Track events
import Inslo from '@inslo/react-native'
// Anywhere in your app
Inslo.track('screen_view', { screen: 'Home' })
Inslo.track('purchase_completed', { plan: 'growth', price: 29 })
Inslo.track('onboarding_step', { step: 2, completed: true })Offline support
Events tracked while offline are queued in AsyncStorage and flushed automatically when connectivity is restored. No configuration needed.
Disable in development
Inslo.init({
apiKey: 'YOUR_API_KEY',
disabled: __DEV__, // no events sent in development
})REST API
Use the REST API directly for server-side tracking or platforms not covered by an SDK.
Track an event
POST https://api.inslo.app/track
Content-Type: application/json
{
"app_id": "YOUR_API_KEY",
"event": "order_placed",
"session_id": "a-unique-session-id",
"platform": "web",
"timestamp": "2026-06-11T09:00:00.000Z",
"properties": {
"plan": "growth",
"amount": 29
}
}Fields
| Field | Type | Required | Description |
|---|---|---|---|
| app_id | string | Yes | Your project API key |
| event | string | Yes | Event name, e.g. "page_view" |
| session_id | string | Yes | Unique session identifier (not tied to a user) |
| platform | string | Yes | One of: ios, android, web |
| timestamp | string | Yes | ISO 8601 UTC timestamp |
| properties | object | No | Flat key/value pairs (string | number | boolean) |
| version | string | No | App or site version string |
Response
// 200 OK
{ "ok": true }
// 400 Bad Request
{ "error": "missing required field: event" }Privacy model
Inslo is designed to be compliant with GDPR, CCPA, and PECR without any configuration. Here is exactly how we achieve that:
- No cookies. We never set any first- or third-party cookies. Your users will never see a cookie consent banner because of Inslo.
- No fingerprinting. We never attempt to identify individual users across sessions. Session IDs are randomly generated and not tied to any device or identity.
- No IP logging. IP addresses are never stored. We use them only for routing and discard them immediately.
- Aggregate only. All metrics in the dashboard are aggregate counts. There is no way to view or export individual user journeys.
- You control the data. Only send us the events and properties you need. Never include names, emails, user IDs, or other PII in event properties.
See our Privacy Policy for full details on data storage, retention, and your rights.