Google Analytics (especially GA4) is widely criticized for its confusing UI and steep learning curve. The reason it feels useless for tracking user flows is that Google Analytics was built for marketing, not product development.

What Google Analytics is Actually Good For

Google Analytics is designed to track acquisition and conversion, not the granular product experience. It answers questions for marketing teams, like:

  • ROI and Attribution: Which ad campaign (Google Ads, Meta, SEO) drove the user to your site?

  • Traffic Sources: What country, device, or browser are your visitors using?

  • High-Level Conversions: Out of 10,000 visitors today, how many purchased a subscription or filled out a contact form?

Because it is tightly integrated with the Google ads ecosystem, it is unmatched at tracking where people come from and if they spend money.

Why It Fails at "User Flows"

When Google rebuilt GA4, they shifted to an event-based model (similar to product tools like Mixpanel) but kept a marketing-first mindset. As a result:

  • It focuses on the aggregate, not the individual: It aggregates data into massive buckets. It doesn't want you to see an individual user's exact story or session.

  • The "Explore" section is a data dump: Instead of giving you a clean, pre-built user flow diagram, it forces you to build complex pivot tables and data models yourself.

  • It lacks visual context: Google doesn't offer heatmaps or session recordings, which are vital for understanding web app UX.

The Standard Tech Stack Strategy

Most modern software companies do not rely on GA4 alone. Instead, they separate marketing data from product data:

  1. 1.

    Keep GA4 running in the background: Use it strictly to monitor overall traffic trends, see what pages get the most views, and track ad performance. You don't need to look at it every day.

  2. 2.

    Use Product Analytics for daily building: Use tools like Mixpanel, Amplitude, or PostHog for your actual engineering and UX decisions. They give you clean, out-of-the-box user flow paths and funnel tracking that actually make sense.


If you are mainly looking to track things like:

  • Page views and unique visitors

  • Traffic sources / referrers

  • Countries

  • Devices and browsers

  • Most visited pages

Cloudflare already provides basic Web Analytics

Cloudflare Web Analytics is free and needs no worker, but you can't query the raw data, which is the whole point of self hosting.

If you are looking for something self-hosted with a dashboard and more control over the data using Workers plus D1 the obvious ones are Umami and Plausible. Umami runs fine on a worker with D1 and covers all five of those, referrers are a bit weak unless you pass them through.

Watch the write volume, one row per pageview adds up and D1 bills per row written, so batch events or sample if you get real traffic.

For the in-product events, you can roll a small solution on Workers + D1. Country is free (CF-IPCountry header), referrer and UTM come off the request, and one track endpoint inserting into a pageView table gives you views, uniques (visitor id in localStorage) and top pages. One table, two routes.

Many people skip devices/browsers as it is unreliable and needs UA parsing.

Also, take a look at
https://github.com/hayaran/Edgemetry
https://traks.dev/

https://posthog.com/