Analytics for Nuxt

Product analytics for Nuxt

See how visitors move through your Nuxt app — page views, custom events, session replay, and heatmaps — without wiring up a plugin for each one.

Why it matters

What Nuxt teams can finally see

Nitro hides the client side

Server logs tell you a route was rendered, not whether anyone read it, scrolled it, or gave up on it. Client-side tracking fills in everything the server never sees.

Soft navigation goes uncounted

After the first load, Nuxt swaps pages without a full request. Tools that only count document loads report one page view for an entire session.

Hydration errors stay invisible

A hydration mismatch breaks the page for the user but leaves the server response looking fine. Replay shows you the broken screen the visitor actually got.

Setup

Add PulsePanda to Nuxt

Register the script in the app.head block of nuxt.config.ts. It applies to every route, in SSR and SSG alike.

nuxt.config.ts

// nuxt.config.ts export default defineNuxtConfig({ app: { head: { script: [ { src: 'https://pulsepanda.dev/sdk.js', 'data-project': 'YOUR_PROJECT_ID', defer: true } ] } } })

Nuxt navigates with the History API, so route changes are picked up automatically — you do not need a router hook to record page views.

Workflow

From install to insight

1

Install the snippet

Add the script once to nuxt.config.ts and every route in your app is covered.

2

Track what matters

Call pulsepanda.track() on key actions and pulsepanda.identify() after login to connect events, sessions, and feedback to each user.

3

Act on the data

Build funnels, watch the replays behind drop-offs, read heatmaps, and collect in-product feedback — all in one workspace.

What you get

One snippet, the full picture

One snippet, the full picture
Analytics layerPage views, custom events, conversion funnels, and retention.
Behavior layerSession replay, click and scroll heatmaps, and error context.
Feedback layerIn-product surveys, feedback widgets, forms, and a feature voting board.

FAQ

Nuxt questions

Does this work with Nuxt in SSR mode?

Yes. The snippet is client-side only, so it runs after hydration regardless of whether the page was server-rendered, statically generated, or both.

Do I need a Nuxt plugin or module?

No. The app.head entry is enough for page views and replay. Add a plugin only if you want to call track() from composables in one place.

Will it hurt my Nuxt performance scores?

The tag is deferred, so it loads after your app is interactive and does not block rendering or the first paint.

Related pages

Explore more

Add analytics to your Nuxt app

Install once and connect analytics, session replay, heatmaps, funnels, and feedback in minutes.

Start for free