Skip to content

Vercel Analytics alternatives: when to stay, how to move

What Vercel Web Analytics gives you, checked in its docs and pricing in November 2026, when to stay, what else exists, and why the numbers differ if you move.

Published on 7 min read

Vercel Web Analytics is one component and no infrastructure, and for many sites that’s the right answer. People start looking elsewhere for specific reasons: the Hobby limit, the price at volume, or wanting funnels and retention on a screen. Here’s what it actually gives you, checked in its docs and pricing page in November 2026, so you can tell whether you have one of those reasons.

What you get from Vercel

HobbyProPro + Web Analytics PlusEnterprise
Included events50,000 a monthNoneNone listedNone
Extra eventsNot available$0.03 per 1,000$0.03 per 1,000Custom
Reporting window1 month12 months24 months24 months
Custom eventsNoYesYesYes
Properties per custom event288
UTM parametersNoNoYesYes

Plus costs $10 a month per team on top of Pro. Events are shared across all the projects of a team. On Hobby, once you pass the limit, collection stops after three days’ grace. Pro’s usage counts against its monthly credit.

The dashboard shows visitors, page views and bounce rate, broken down by page, route, hostname, referrer, UTM (with Plus), country, browser, device and operating system. It sets no cookies: a visitor is “a hash created from the incoming request”, valid for a single day. You can also reach the data outside the dashboard through a REST API, the Vercel CLI, MCP tools, CSV export of up to 250 rows per panel, and Web Analytics Drains that send events to your own endpoint.

The API page lists funnels among what its events dataset is for, by querying counts and visitors per event yourself. In the docs I read, I found no funnel or retention screen, and no way to identify a person. That may change, so check again before you decide.

Vercel’s strengths are real. Nothing to run, a mature service with real traffic behind it, a script and intake served from your own domain, and no database to think about. It’s also a few minutes’ work to add.

When to stay

Your situationMy advice
You want page counts and referrers, and you’re under 50,000 events a monthStay
You don’t want to run anything, everStay
You need numbers you can rely on this quarterStay, or pick a mature tool. Trailic hasn’t seen real traffic
A bill of $30 per million events is fine for what you learnStay
You need funnels, retention or identified people on a screenLook around
Many sites and a bill that follows their trafficDo the sum below

Here’s the sum. At 1 million events a month on Pro, you pay 1,000 × $0.03 = $30, plus $10 if you want UTM tags and 8 properties, before any credit. At 10 million, $300. Against that, running your own means a database, function calls, and your own time. For Trailic I can’t give you a real bill, because it hasn’t collected real traffic yet. Be suspicious of anyone who tells you self-hosting is free.

What else exists

All checked in their own docs in November 2026.

Plausible is a cloud service, plus a self-hosted Community Edition under AGPL. It’s web analytics, also without cookies. Funnels are a Business plan feature in its cloud and aren’t in the Community Edition.

Umami is cloud or self-hosted, MIT, on Node and Postgres. Its docs cover funnels, retention, journeys and goals, and it has an MCP server.

PostHog is the broad one: product analytics, funnels, retention, replay, flags, surveys. Its docs put the cloud’s free tier at 1 million events a month. Self-hosting it is much heavier and officially unsupported.

Matomo is the long-standing option, on PHP and MySQL, with cookies on by default. Funnels are a paid plugin.

Trailic is what I’m building: a library and one Next.js app with Postgres, under AGPL. It has screens for funnels, retention cohorts and journeys, identified people with erasure, and an MCP server at /api/mcp. It’s a first version and it’s unproven. The features page lists what works.

Moving, with the diff

If you want to try Trailic, the swap in code is small. It’s the diff from the README:

- import { Analytics } from "@vercel/analytics/next";
+ import { Trailic } from "trailic";

- <Analytics />
+ <Trailic siteKey="site_…" endpoint="https://your-instance.example/api/e" />

track("name", props) takes the same arguments as Vercel’s. Two small differences: Vercel also accepts null as a value and Trailic doesn’t, and Trailic takes 16 properties where Vercel’s plans take 2 or 8.

The diff assumes you have two things. First, an instance to point at: there’s no hosted version, so you run your own. Second, the package. It isn’t on npm yet, so install it from its release:

npm install https://github.com/trailic/trailic/releases/download/v0.1.1/trailic-0.1.1.tgz

I tried this on a real project.

Keep both components for a while, and remove Vercel’s when you’re satisfied. History doesn’t move across. If you want to keep it, export what you need through Vercel’s API before you leave, and stay within your reporting window.

Why the numbers will differ

Expect them to differ a little. These are the reasons I know of.

  • The day. Trailic counts a visitor once per site per UTC day. Vercel’s hash lasts a single day, and the docs don’t say when that day turns over.
  • Longer periods. Trailic’s visitors for a period are the sum of its days. So compare single days first, before you compare weeks or months.
  • Bots. Each filters by user agent with its own list. Trailic also drops requests with no user agent and prefetches.
  • What’s a page. Trailic counts a page when the cleaned address changes, with the query dropped, keeping utm_* only on a site that has turned anonymous mode off. A change of query alone isn’t a new page.
  • Environments. Vercel’s dashboard shows production by default. Trailic counts whatever the site’s domains allow.
  • Blockers. Vercel’s script and intake are served from your own domain. Trailic posts to your instance’s address unless you use the relay. Blockers may treat those differently. I haven’t measured it.
  • Delay. Trailic writes to the database hourly, so compare closed days.

Here’s how I’d check. For each closed day over two weeks, divide Trailic’s visitors by Vercel’s. A steady ratio means the definitions differ, and that’s fine. A ratio that jumps around means something’s broken, and I’d like to hear about it. Then how a daily hash counts explains what the numbers mean.

Where Trailic stands

Trailic is a first version. It works end to end on a test instance with real browsers, a real assistant and five million synthetic events, but it hasn’t collected real traffic yet. Its Vercel Queues buffer has only run against a stand-in for that service, and Vercel Queues itself is in beta. Its data model may change, and there’s no upgrade path between versions. The hourly flush needs Vercel’s Pro plan, because Hobby refuses crons that run more than once a day. So if you try it, run it next to Vercel Web Analytics rather than in place of it. The repo is here.

Sources

Related articles

PostHog, Plausible CE, Umami, Matomo and Trailic compared by what you must run: services, databases, licence, stated minimums. Checked November 2026.