DEV Community

Pulzivo Analytics
Pulzivo Analytics

Posted on

I Built a Web Analytics Tool Because GA4 Was Overkill for My SPA

I've been building web apps for a while now, and every time I started a new project, I'd go through the same ritual: drop in the GA4 snippet, set up a few events, and then spend the next hour trying to figure out why nothing was tracking correctly in my Angular app.

GA4 is a powerful tool. It's also built for a different era — one where pages reloaded on every navigation and forms submitted to a new URL. Single-Page Apps broke most of those assumptions, and the workarounds are painful.

So I built something different.

What is Pulzivo Analytics?
Pulzivo is a privacy-first web analytics platform built specifically for modern SPAs — Angular, React, Vue, or any JavaScript app.

The idea is simple: drop in a lightweight SDK, fire events from your code, and see everything in a clean dashboard. No DOM scanning. No guessing. No sampling.

The problems I wanted to solve
1. Form tracking that actually works
GA4's enhanced measurement scans the DOM at load time. In an SPA, your forms live inside modals and dynamic components that don't exist yet. Half the time GA4 either misses the event entirely or fires it at the wrong moment — on the click, not on the successful API response. I wanted to track form_view, form_start, form_validation_error, form_submit_success, and form_abandon as separate events. The full funnel, not just a single data point.

2. Custom events without the setup tax
With GA4, sending a custom event means configuring it in the GA4 UI, waiting for data to appear, creating custom dimensions, and building a report. With Pulzivo, you fire an event from your code and it shows up in your dashboard immediately.

PulzivoAnalytics('event', 'plan_upgraded', {  from_plan: 'free',  to_plan: 'pro',  method: 'stripe'});
That's it.

3. Data you actually own
GA4 sends your user data to Google's servers. Pulzivo stores your data on your own account. No third-party sharing, no sampling on free tiers, no waking up one day to find your historical data gone because Google changed their retention policy.

4. A dashboard built for SaaS products
Most analytics tools show you page views and sessions. I wanted to see event funnels, user journeys, form conversion rates, and feature usage — the metrics that actually tell you if your product is working.

Where it is today
Pulzivo is live and accepting signups. The free plan supports up to 10,000 events per month — enough to instrument a real product and see if it's useful before paying anything.

The SDK is a single JavaScript file you load on your site:

<script src="https://cdn.pulzivo.com/pulzivo-analytics.min.js"  data-site-id="YOUR_SITE_ID" async></script>
And then from anywhere in your app:


PulzivoAnalytics('event', 'button_clicked', { label: 'hero_cta' });
Enter fullscreen mode Exit fullscreen mode

What's coming
I'm planning to go deeper on several areas in future posts:

Full SPA form tracking — the 6-event pattern that gives you a complete conversion funnel
Building the SDK — how a ~8KB analytics script works under the hood
Angular integration — a proper service wrapper with typed events
Stripe + Angular — end-to-end subscription billing from scratch
Privacy-first design — what "no cookies" actually means technically
Try it
If you're building a SPA and tired of fighting GA4, give Pulzivo a try at pulzivo.com — the free plan requires no credit card.

I'll be writing here regularly about the technical side of building it. Follow along if that sounds useful.

Top comments (0)