Install on v0
v0 generates Next.js projects, so the tag belongs in the root layout with next/script.
v0 produces Next.js code, so the Next.js instructions apply: the tag lives in the root layout and loads once for the whole app.
Where it goes
Open app/layout.tsx in the generated project, or ask v0 to add it, and use next/script.
import Script from 'next/script';
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
{children}
<Script
defer
strategy="afterInteractive"
src="https://statsy.co/js/script.js"
data-website-id="ws_XXXXXXXX"
data-domain="yourstartup.com"
/>
</body>
</html>
);
}Full details, including the Pages Router variant, are in Install on Next.js.
Confirm it works
Deploy the project and open it on your own domain, then check Live. Navigation between routes is counted automatically.
Preview URLs are dropped
A v0 preview and a Vercel preview deployment both run on hosts that are not your domain, so their beacons are discarded. Ship to production on your own domain, or add the preview host under Site settings › General › Additional domains if you deliberately want that traffic.
Watch out. Regenerating a component can drop the tag from the layout. After a round of edits, view source on the deployed page and search for
statsy.
Last updated · Markdown version