The database only records success
A row appears when someone completes the form. Everyone who opened it and gave up leaves no trace at all — and that is usually the larger group.
Analytics for Laravel
Your database knows who signed up. It does not know who nearly did. Add page views, events, replay, and heatmaps to see the part that never reaches your tables.
Why it matters
A row appears when someone completes the form. Everyone who opened it and gave up leaves no trace at all — and that is usually the larger group.
Livewire swaps parts of the page over the wire, so a multi-step flow can look like a single page view. Event tracking records each step as it happens.
They never reach your error tracker, so a field that rejects half your signups can stay broken for months. Replay puts the rejected attempt on screen.
Setup
Add the tag to the head of your main Blade layout. Every view that extends it is covered, including Livewire and Inertia pages.
resources/views/layouts/app.blade.php
{{-- resources/views/layouts/app.blade.php --}}
<head>
<meta charset="utf-8">
<script
src="https://pulsepanda.dev/sdk.js"
data-project="{{ config('services.pulsepanda.project') }}"
defer></script>
</head>Keep the project ID in your .env and read it with config() rather than hardcoding it, so staging and production stay separate.
Workflow
Add the script once to your Blade layout and every view that extends it is covered.
Call pulsepanda.track() on key actions and pulsepanda.identify() after login to connect events, sessions, and feedback to each user.
Build funnels, watch the replays behind drop-offs, read heatmaps, and collect in-product feedback — all in one workspace.
What you get
| Analytics layer | Page views, custom events, conversion funnels, and retention. |
|---|---|
| Behavior layer | Session replay, click and scroll heatmaps, and error context. |
| Feedback layer | In-product surveys, feedback widgets, forms, and a feature voting board. |
FAQ
Yes. The script sits in the layout, so it survives Livewire updates. For steps that do not change the URL, call track() from an event listener to record them.
Yes. Call identify() with the authenticated user's ID after login, and every event, session, and piece of feedback attaches to that account.
No — those watch your server. This watches the browser, so the two answer different questions: what your code did, and what the person in front of it experienced.
Related pages
Install once and connect analytics, session replay, heatmaps, funnels, and feedback in minutes.
Start for free