For Lovable.dev builders

Add Harvv to your Lovable project in 60 seconds

One prompt. Paste it into your Lovable chat. Behavioral analytics, dead clicks, rage clicks, scroll depth, LCP, flowing in under a minute.

1

Get your install snippet

Sign up for Harvv (free tier, 50K events/month). We generate a unique pixel key for your site.

2

Paste this prompt into your Lovable chat

Open your Lovable project, paste this into the chat box, and send. Lovable's AI agent detects which file your project uses for the document head and adds the Harvv tag there. Works on Vite, TanStack Start, Next.js, Remix, SvelteKit. About 30 seconds.

Add Harvv behavioral analytics to my project. Insert this snippet into the document head (or just before </body>): <link rel="preconnect" href="https://harvv.com" crossorigin> <script async src="https://harvv.com/px/YOUR_PIXEL_KEY/pixel.js"></script> The right file depends on the framework: index.html for Vite SPA; src/routes/__root.tsx (head().scripts array) for TanStack Start; app/layout.tsx for Next.js App Router; pages/_document.tsx for Next.js Pages Router; app/root.tsx for Remix; src/app.html for SvelteKit. Pick the one that matches my project. This is a lightweight 16KB script that captures user behavior (dead clicks, rage clicks, scroll depth, performance metrics) and sends it to my Harvv dashboard. It does not collect any personally identifiable information. Do not modify any other files. Do not change the script src URL. Place the snippet so it loads async after content.
3

Verify the install

After Lovable confirms the change and your preview rebuilds, paste your project URL. We check that the pixel is firing; you should see live events in your dashboard within 30 seconds.

What Harvv captures

The signals Lovable's own dashboard can't see

Dead clicks

Clicks that go nowhere: broken handlers, dead links, JS errors. The #1 silent Lovable failure mode after AI regenerates a component.

Rage clicks

Three or more clicks on the same spot in under a second. The frustration signal Lovable's dashboard cannot see.

Mobile breakage

Touch targets under 44x44px, viewport overflow, iOS Safari fixed-position jumping. Lovable defaults break on mobile.

SEO crawler drift

When Googlebot sees an empty React shell instead of your content. Catches the SPA indexing failure.

LCP & INP

Real-user Core Web Vitals from your production traffic, not synthetic Lighthouse runs.

Form abandonment

Which field caused the user to leave. Lovable forms have inconsistent state; this catches the silent drop-off.

Questions

Common questions

How does this work with Lovable?

Lovable is an AI app builder where you tell the AI what to change. We give you a single prompt to paste into your Lovable chat. The Lovable AI reads the prompt, figures out which file your project uses for the document head (index.html for Vite SPA, src/routes/__root.tsx for TanStack Start, app/layout.tsx for Next.js App Router), and adds the Harvv script tag there. No code editing required on your side.

What does the Harvv pixel actually capture?

Dead clicks (clicks that go nowhere because of broken JavaScript), rage clicks (3+ clicks on the same spot from frustration), scroll depth, time to first interaction, LCP and INP performance, mobile touch-target failures, SEO drift, and form abandonment. Zero PII. The pixel is 16KB gzipped and lazy-loads.

Why not just use Google Analytics?

Google Analytics tells you that traffic came and bounced. Harvv tells you why: which buttons were dead, which forms abandoned at which field, which scroll depth corresponds to bounce. GA shows the symptom; Harvv shows the cause. They are complementary, not alternatives.

Does this work for Lovable apps on a custom domain?

Yes. The pixel works on lovable.app subdomains, on custom domains routed through Cloudflare, on Vercel-redeployed Lovable exports, on Netlify, anywhere. The install is a single script tag in your HTML; it does not care about your hosting.

What if Lovable regenerates my project and removes the pixel?

This is a known Lovable behavior. Auto-updates sometimes touch the document shell. We detect when the pixel stops firing and email you the same Lovable prompt to re-paste. The fix takes 30 seconds.

Is the data I collect private?

Yes. The pixel scrubs anything inside data-harvv-private containers, all textarea + contenteditable content, password/email/tel/hidden inputs, and PII keys in URL parameters. We never see your users' chat messages, form inputs, or session contents.