# Aptabase Analytics for Next.js Apps

Aptabase is an open source, privacy-first alternative to Google Firebase Analytics for Next.js Apps: it collects no personal data, uses no cookies or device identifiers, and needs no consent banner.

## Get started

1. Register: [European Union](https://eu.aptabase.com/auth/register) or [United States](https://us.aptabase.com/auth/register) — takes less than a minute, no credit card required.

2. Create an app in the dashboard and copy its App Key from the **Instructions** menu (`A-EU-*` / `A-US-*`).

3. Instrument your app with the [Next.js SDK for Aptabase](https://github.com/aptabase/aptabase-js) — see the quickstart below.

4. Explore: events show up on your dashboard in real time.

## Quickstart: React / Next.js

Package: `@aptabase/react (~1 kB)`
Install: `npm add @aptabase/react`
Repo: https://github.com/aptabase/aptabase-js

### Next.js App Router

Wrap your root layout:

```jsx
import { AptabaseProvider } from "@aptabase/react";

export default function RootLayout({ children }) {
  return (
    <AptabaseProvider appKey="<YOUR_APP_KEY>">
      <html lang="en">
        <body>{children}</body>
      </html>
    </AptabaseProvider>
  );
}
```

### Next.js Pages Router

Wrap in `_app`:

```jsx
import { AptabaseProvider } from "@aptabase/react";

export default function App({ Component, pageProps }) {
  return (
    <AptabaseProvider appKey="<YOUR_APP_KEY>">
      <Component {...pageProps} />
    </AptabaseProvider>
  );
}
```

### Track events

Use the `useAptabase` hook in any component:

```jsx
import { useAptabase } from "@aptabase/react";

function MyComponent() {
  const { trackEvent } = useAptabase();

  trackEvent("app_started");
  trackEvent("screen_view", { name: "Settings" });
}
```

Also works with Remix, CRA and Vite — wrap the root with `<AptabaseProvider>`.

### How the SDK behaves

- Nothing is tracked automatically — you call the track function for each event.
- Every event is enriched automatically with OS name/version, app version and locale.
- Custom property values must be strings or numbers.
- Tracking calls are non-blocking and run in the background.
- Events are separated into Debug and Release build modes automatically (see https://aptabase.com/docs/build-modes).

## Why add analytics to your Next.js Apps?

- **Feature Usage** — Are you aware of the features in your app that users engage with most frequently? What configurations that majority of your users prefer? Gaining insights into these areas allows you to make well-informed decisions on future focus points for enhancing your Next.js app's user experience.
- **Location and Language** — Understanding the geographical distribution of your user base can significantly inform the decision to localize your Web app, thereby enhancing its global accessibility and visibility on that market.
- **What browsers are my users on?** — Aptabase efficiently gathers data such as the names of Browsers, alongside their respective versions. This valuable insight enables you to concentrate on crafting enhanced user experiences tailored to the most widely used browsers.

## Privacy

- Sessions are completely anonymous and untraceable. Data is never linked to an identifiable individual — no pseudonymisation, full anonymisation.
- No device identifiers, cookies, fingerprinting or long-term user identification.
- Aptabase collects no personal data, so your app stays compliant with strict privacy regulations without a consent banner.

## Pricing

Free up to 20,000 events/month. Paid plans from $10/month for 200,000 events up to $450/month for 50,000,000 events. No overage fees. Details: https://aptabase.com/pricing

More: [Documentation](https://aptabase.com/docs) · [All SDKs](https://aptabase.com/integrations) · [SDK reference](https://aptabase.com/llms-full.txt) · [About](https://aptabase.com/about)
