Source: https://measuremy.site/guides/add-analytics-to-vite-react

[measuremy.site](https://measuremy.site/) / [Guides](https://measuremy.site/guides)

# How to add analytics to your Vite, React or Vue site

This adds measuremy.site, cookieless website analytics, to a Vite, React or Vue site. It is one script tag of under 1 KB: no cookies, no npm package, no consent banner for the tracker. The free plan covers 5,000 pageviews a month.

## The quickest way: ask your coding agent

Paste this into Claude Code, Cursor or Codex

`Add measuremy.site analytics to this project: connect the measuremy.site MCP server at https://a.measuremy.site/mcp (it signs in with OAuth, no key), then tell me how to sign in. Details: measuremy.site/llms.txt`

The agent connects to measuremy.site, you sign in through your browser, and it adds the tag below to the right file for you. To do it by hand, follow the steps.

## 1. Get your site key

[Create a free account](https://measuremy.site/login) and add your domain. The **Setup** tab shows your snippet with your site key filled in. The key is public and can only record visits, so it is safe in your source code.

## 2. Add the script tag

Single-page apps built with Vite (React, Vue, Svelte, Solid, Preact) have one `index.html` at the project root. Add the tag inside its `<head>`:

```
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>My app</title>
    <script defer src="https://a.measuremy.site/t.js" data-key="YOUR_SITE_KEY"></script>
  </head>
  <body>
    <div id="root"></div>
    <script type="module" src="/src/main.tsx"></script>
  </body>
</html>
```

Route changes made by React Router, TanStack Router, Vue Router and other History API routers are counted as pageviews automatically. Hash-based routing (`#/page`) is not.

## 3. Check it works

Publish the change, then open your live site. The first visit from your own domain verifies it and the visit shows up on the dashboard within seconds. Visits from `localhost` aren't counted, so test on the deployed site.

## 4. Track signups and other conversions

Call it from a component after the action succeeds:

```
async function handleSignup(form: FormData) {
  await createAccount(form);
  window.measuremysite?.track("signup");
}
```

In TypeScript, declare `measuremysite?: { track(name: string, props?: Record<string, unknown>): void }` on `Window` in a `.d.ts` file.

Or, with no JavaScript, add `data-measuremysite-event="signup_click"` to any link, button or form.

Any event counts as a conversion for the channel the visitor came from.

Other platforms, and funnels and campaign links, are in the [install guide](https://measuremy.site/docs/install).

### Try it on your site

Free for 5,000 pageviews a month, no card. Paste one sentence into your coding agent, or add one script tag yourself.

[Start free](https://measuremy.site/login) [See the live demo](https://measuremy.site/share/measuremy.site)

Add measuremy.site analytics to this project: connect the measuremy.site MCP server at https://a.measuremy.site/mcp (it signs in with OAuth, no key), then tell me how to sign in. Details: measuremy.site/llms.txt

## More guides

- [A website analytics MCP server: ask your agent about your traffic](https://measuremy.site/guides/analytics-mcp-server)
- [Add website analytics to your project with Claude Code](https://measuremy.site/guides/claude-code-analytics)
- [Find out why your website traffic spiked](https://measuremy.site/guides/find-why-traffic-spiked)
- [Track clicks and find where visitors drop off, without writing code](https://measuremy.site/guides/funnels-and-click-tracking)
- [Cookieless analytics: how it works, and what you give up](https://measuremy.site/guides/cookieless-analytics)
- [A simpler Google Analytics alternative for developers](https://measuremy.site/guides/google-analytics-alternative)
- [How to add analytics to your Next.js site](https://measuremy.site/guides/add-analytics-to-nextjs)
- [How to add analytics to your Astro site](https://measuremy.site/guides/add-analytics-to-astro)
- [How to add analytics to your SvelteKit site](https://measuremy.site/guides/add-analytics-to-sveltekit)
- [How to add analytics to your Hugo site](https://measuremy.site/guides/add-analytics-to-hugo)
- [How to add analytics to your WordPress site](https://measuremy.site/guides/add-analytics-to-wordpress)
