Quickstart

Get SignalSplash tracking events in your app in under 5 minutes. No cookies, no complex config — just install, wrap, and ship.

Last updated: 2026-04-12

Prerequisites

1. Install the SDK

npm install @summoniq/analytics

Or with your preferred package manager:

yarn add @summoniq/analytics
# or
bun add @summoniq/analytics

2. Add the provider

Wrap your app with AnalyticsProvider in your root layout. This initializes the SDK and starts tracking page views automatically.

// app/layout.tsx
import { AnalyticsProvider, WebVitals } from '@summoniq/analytics/react';

export default function RootLayout({ children }) {
  return (
    <html lang="en">
      <body>
        <AnalyticsProvider config={{
          appId: 'your-app-id',
          endpoint: 'https://api.signalsplash.com/api/events',
        }}>
          <WebVitals />
          {children}
        </AnalyticsProvider>
      </body>
    </html>
  );
}

Replace your-app-id with the app ID from your project settings.

3. Track your first custom event

Page views are tracked automatically. To track something custom:

import { useAnalytics } from '@summoniq/analytics/react';

function SignUpButton() {
  const { track } = useAnalytics();

  return (
    <button onClick={() => track('signup_clicked', { plan: 'free' })}>
      Sign up
    </button>
  );
}

4. Verify it works

Open your app in a browser and navigate to a page. Then head to your dashboard. You should see your first page view within seconds.

Real-time data

Events appear in your dashboard within seconds of occurring. There is no batching delay on the server side — when the SDK flushes an event (every 5 seconds or when the queue hits 10 events), it shows up immediately.

The SDK also flushes automatically when the user navigates away or switches tabs, so you won't lose events to abandoned sessions.

Configuration options

The config prop accepts these options:

OptionDefaultDescription
appIdRequired. Your project identifier.
endpoint/api/eventsEvent ingestion URL.
enabledtrueToggle analytics on/off.
trackPageViewstrueAuto-track page navigations.
trackWebVitalstrueTrack Core Web Vitals.
trackClickstrueAuto-track link and button clicks.
respectDoNotTracktrueHonor the browser DNT setting.
sessionTimeout30Minutes of inactivity before a new session starts.
debugfalseLog events to the console.

Next steps