On this article

Why Your Lovable Analytics and Amplitude Show Different Numbers

Lovable, Amplitude with autocapture, and Amplitude done right give three different user counts. Here's why—and which to trust.
This is some text inside of a div block.

Why Your Lovable Analytics and Amplitude Show Different Numbers

You open Lovable and it says 200 users. You open Amplitude and it says 4. Same app, same week, wildly different numbers. So which one is lying?

The short answer: Neither tool is broken, and the inflated number usually isn't the real one. Lovable's built-in analytics count traffic that isn't real users, your own editing sessions, preview reloads, and bots — and Amplitude with autocapture turned on inflates for the same reason. The number you can actually trust comes from Amplitude configured correctly: autocapture off and tracking gated to production, so it filters out the noise and counts real people.

Three numbers, three different stories

When founders ask us "which analytics number is right?", the honest answer is that there are usually three numbers in play, not two:

  1. Lovable's built-in analytics — almost always the highest, and the least accurate for product decisions.
  2. Amplitude with autocapture on — lower than Lovable, but still inflated.
  3. Amplitude configured properly — the closest thing to reality.

Most people assume the disagreement is "Lovable vs Amplitude." It's really "noise vs signal," and the fix is the same no matter which dashboard you're staring at.

Why Lovable's numbers run high

Lovable's built-in tracking is designed to give you a quick pulse on activity, not a clean product-analytics dataset. It tends to count everything that loads your app — including you working in the editor, every preview refresh, and automated traffic. For a quick "is anyone out there?" gut-check, that's fine. As the basis for "how many users do I actually have?", it sets an inflated ceiling.

Why Amplitude can be wrong too — the autocapture trap

Here's the part that surprises people: simply adding Amplitude doesn't guarantee an accurate count. When we tested a Lovable app with Amplitude's autocapture (defaultTracking: true) enabled, Amplitude reported four "users" when only one real person had been on the page.

The culprit is how Lovable's editor works. Every time the preview reloads — which happens constantly while you build — it can spin up a fresh anonymous device ID, and Amplitude faithfully counts each one as a new user. Layer autocapture on top, which auto-fires events for page views and clicks, and you get phantom users and noisy events that have nothing to do with real behavior. This is one of the most common Amplitude configuration mistakes we see in vibe-coded apps, and it's easy to miss because the tool looks like it's working.

What "Amplitude done right" looks like

Two settings turn that inflated count into an accurate one:

  • Turn off autocapture. Initialise Amplitude with defaultTracking: false so it only records the events you deliberately send — not every automatic click and pageview.
  • Only track in production. Gate initialisation behind a production check (in a Vite-based Lovable app, that's import.meta.env.PROD) so your own preview reloads and editing sessions never reach Amplitude.

import * as amplitude from "@amplitude/analytics-browser";

export function initAmplitude() {

 if (import.meta.env.PROD) {

   amplitude.init(import.meta.env.VITE_AMPLITUDE_API_KEY, {

     defaultTracking: false,

   });

 }

}

With those in place, Amplitude stops counting you and starts counting your users. (If your events still look off after this, it's worth ruling out the usual Amplitude SDK issues before digging deeper.)

So which number should you trust?

Trust Amplitude configured properly, and treat Lovable's built-in number as a loose upper bound. The goal isn't to get two dashboards to agree — it's to have one source you can make decisions from. If you're running both Lovable's analytics and Amplitude (and maybe more), decide which one is your single source of truth for product data so you're not constantly reconciling conflicting counts.

How to tell which problem you have (in 60 seconds)

Open your app through Lovable's preview and refresh it a handful of times while watching your Amplitude user count. If the count climbs with every refresh, autocapture and/or a missing production gate are inflating your data. If it stays flat, you're already counting real users — and any remaining gap with Lovable is just Lovable's own noise.

Stop guessing which number is real

If you've got conflicting analytics and no idea which to believe, we can help you set Amplitude up so the numbers actually mean something.

👉Book a call with our team →

Frequently asked questions

Which is right, Lovable analytics or Amplitude?

Usually neither at face value. Lovable's built-in analytics over-count by including preview reloads, editor sessions, and bots, and Amplitude over-counts too if autocapture is on. Amplitude configured with autocapture off and tracking limited to production gives you the most accurate user count.

Why does Amplitude show fewer users than Lovable?

Because it's filtering out traffic that Lovable counts. Once you turn off autocapture and stop tracking preview sessions, Amplitude reflects real users only — almost always a smaller, and more truthful, number than Lovable's built-in dashboard.

Why does my Amplitude user count jump every time I refresh the preview?

Each preview reload in Lovable can create a new anonymous device ID, and Amplitude counts each as a separate user. Gating initialisation behind a production check (import.meta.env.PROD) stops your editing sessions from being counted.

If I turn off autocapture, do I lose data?

No — you lose noise. Autocapture fires automatic events for things like pageviews and clicks, which generate volume without much meaning in an early-stage app. Turning it off and defining a small set of intentional events gives you cleaner, more useful data.

How do I get an accurate user count in my Lovable app?

Initialise Amplitude with defaultTracking: false, only track in production, and send a handful of deliberate events that map to real user actions. That combination filters out preview noise and phantom users so your numbers reflect actual people.

Related articles

Guide
5min

Marketing Analytics in Amplitude: A Complete Guide to Channels, Ads, and Performance

A practical tour of Amplitude's Marketing Analytics hub: channels, attribution, ad performance, AI visibility, and conversion funnels.
Guide
5min

How to Get Started With Statsig: A Step-by-Step Guide for Product Teams

Your beginner guide to SDK selection, event tracking, identity resolution, and first experiment.
Guide
5min

How to Interpret A/B Test Results: A Practical Guide for Growth Teams

A positive p-value is not enough to ship. Here is the complete process for interpreting A/B test results: statistical checks and AI workflow

Get in touch!

Adasight is your go-to partner for growth, specializing in analytics for product, and marketing strategy. We provide companies with top-class frameworks to thrive.

Gregor Spielmann adasight marketing analytics