Log inStart for free

Analytics for Svelte

Product analytics for Svelte

Add full product analytics — events, funnels, session replay, and heatmaps — to your Svelte or SvelteKit app from one script tag, with client navigation tracked automatically.

Why it matters

What Svelte teams can finally see

Client routes go uncounted

SvelteKit navigates in the browser. PulsePanda tracks each transition so your page views reflect actual usage.

No view into adoption

Track custom events to measure which features and routes users reach after each release.

UI issues are invisible

Session replay and heatmaps reveal where users struggle inside your components.

Setup

Add PulsePanda to Svelte

Add the snippet to src/app.html, the HTML template SvelteKit uses for every page.

SvelteKit — src/app.html

<!doctype html> <html lang="en"> <head> %sveltekit.head% <script src="https://pulsepanda.dev/sdk.js" data-project="YOUR_PROJECT_ID" defer></script> </head> <body> <div>%sveltekit.body%</div> </body> </html>

For a plain Svelte (Vite) app, add the same snippet to index.html instead.

Workflow

From install to insight

1

Install the snippet

Add the script once to your Svelte project. Web analytics, autocaptured clicks, session replay, and heatmaps start collecting immediately.

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

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

Svelte questions

Does it track SvelteKit navigation?

Yes. The SDK listens for History API changes, so SvelteKit client-side route transitions are recorded as page views automatically.

Where do I put the snippet in SvelteKit?

In src/app.html inside the <head>. It then loads on every server-rendered and client-navigated page.

Can I send events from a Svelte component?

Yes. Call pulsepanda.track("event", { props }) inside any handler or lifecycle function.

Related pages

Explore more

Add analytics to your Svelte app

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

Start for free