Install page with framework auto-detection tabs in the Onboardics dashboard

The problem

Most product analytics tools require a multi-week implementation project. Define a data taxonomy. Instrument every event. Build custom dashboards. Hire an analytics engineer to maintain it. And if you ever switch tools, you re-instrument everything from scratch.

Your product's analytics shouldn't require more engineering effort than the features it's measuring.

What you get

Read-only access to production analytics

Engineers usually don't need to edit flows or define audience segments — they need to read dashboards when debugging a regression or investigating a support ticket. Shared logins are a security anti-pattern; separate paid seats for read-only access are expensive nonsense.

Onboardics ships with four role tiers enforced server-side. The Viewer role gives developers full read access to every dashboard with zero write permissions — no accidental flow edits, no accidental cache invalidations. Role checks happen in a single shared helper (api/lib/require-project-role.js) and a build-time check ensures every new endpoint uses it. Growth includes up to 3 members, Scale 10, Business unlimited. Learn more about team collaboration →

Install in 30 seconds

Vanilla HTML
<script src="https://onboardics.com/v1.js"
  data-key="YOUR_API_KEY"></script>
React / Next.js
// In your layout or _app component
useEffect(() => {
  const s = document.createElement('script');
  s.src = 'https://onboardics.com/v1.js';
  s.dataset.key = 'YOUR_API_KEY';
  document.head.appendChild(s);
}, []);

8 framework-specific install guides available in the dashboard after signup.

Copy-paste React hook

The snippet exposes window.__onboardics globally after load. This 8-line hook gives you a React-idiomatic wrapper — no package install, no version drift, no migration path to worry about. If we ever do ship @onboardics/react, the API will match exactly.

hooks/useOnboardics.js
import { useCallback } from 'react';

export function useOnboardics() {
  const identify = useCallback((data) => {
    window.__onboardics?.identify?.(data);
  }, []);

  const track = useCallback((name, properties) => {
    window.__onboardics?.track?.(name, properties);
  }, []);

  return { identify, track };
}
Usage
import { useOnboardics } from './hooks/useOnboardics';

function Checkout({ user }) {
  const { identify, track } = useOnboardics();

  useEffect(() => {
    identify({ email: user.email, userId: user.id, plan: user.plan });
  }, [user]);

  return (
    <button onClick={() => track('checkout_started')}>
      Checkout
    </button>
  );
}

Full SDK reference on the docs page — events, identify/track/setConsent/setErrorCapture APIs, A/B variant assignment, and debug mode.

Why developers choose Onboardics

Why developers choose Onboardics

Start free →    Try the live demo →