In short
- Developers usually leave Google Analytics 4 for weight, cookies, data ownership and an API they can reason about, not for a missing report.
- GA4 is free (source) and can export raw events to BigQuery, with limits (source). A tool like trckable gives up Google's ad audiences and estimated demographics and gets a script of about 2 KB, no cookie in cookieless mode, one container to self-host, and every feature free when you do.
- You can bring your GA4 history with you through its BigQuery export.
What GA4 is good at
It is worth saying plainly, because a switch should be a decision, not a mood.
- It costs nothing. Standard properties are free of charge (source).
- It plugs into Google's ads. If you buy on Google Ads, the audiences and conversions flow both ways.
- Raw event export. Events can go to BigQuery, up to 1M events a day on standard properties, which can use BigQuery's free sandbox (source).
- Roles and seats. You can add as many users as you need, each with a Google account (source).
If your work is paid media, those points may settle it.
Why developers look elsewhere
The script. gtag.js was 155,016 bytes gzipped when we measured it on 2 October 2026, with a placeholder measurement ID (source). trckable's browser script is about 2 KB gzipped, measured by CI on every build and published on the benchmarks page. That is a page-weight difference you can see in a Lighthouse run.
The cookies. Its tags set first-party cookies, _ga and _ga_ plus the container ID, for two years by default (source). In the EU and the UK that normally means a consent banner before the tag may run, and visitors who decline are missing from your numbers. trckable has a cookieless mode that stores nothing on the device; whether you then still need a banner depends on your countries, which the GDPR guide walks through.
Ad blockers. Many blockers match Google's script and endpoints by name. In a Next.js app, trckable's package is bundled into your code and sends events to a route on your own domain, so there is no analytics file to match. Say "more accurate", not "unblockable": a determined blocker can block anything.
Where the data lives. In GA4, for EU, Swiss and UK devices, data is first collected on servers in those regions and then sent on for processing (source). With trckable you can run it yourself, and on Cloud the hosting is in the EU. Self-hosting means the visit data never leaves a server you control.
An API and an MCP server you can read. trckable has an HTTP API and a read-only MCP server for assistants such as Claude or Cursor. GA also has a read-only MCP server (source).
What you give up
Be honest about this before you move:
- Google's audiences, ad integrations and estimated demographics. There is nothing to replace them.
- Returning visitors across days, in cookieless mode. A visitor is new each day. Keep the cookie, and ask first, if you need it.
- Years of history in the same UI. It comes across as data, not as GA's reports. Save those as files.
What you get that GA does not centre on
- Revenue by source and page. Connect Stripe, Paddle, Lemon Squeezy, Polar or Dodo Payments with one key and each payment is credited to the visit that earned it. GA can show revenue too, from purchase events you send with a value (source); the difference is that trckable reads it from the payment provider, not from your front end.
- AI traffic as its own channel. Visitors from ChatGPT, Claude and Perplexity are separated from Google. See tracking AI search traffic.
- One container. Self-hosting is a single Docker image and a volume, with no separate database to run.
- Open source. The server is AGPL-3.0 and the tracker MIT, in the public repository.
How to move
- Install trckable next to GA. Run both for a week so you can compare.
npx trckable initlooks at your project and prints the exact changes; it writes only with--yes. - Import the history. Export GA4 events from BigQuery and import them. The steps are in moving from Google Analytics and the migration docs.
- Compare, knowing they will differ. Sessions, bounces, bots and blocking are defined differently everywhere. Neither number is "the truth".
- Remove the Google tag, and the banner too if nothing else on your pages needs one. Check that against your countries first.
For a side-by-side with every figure sourced, see trckable vs Google Analytics 4.
Questions
- Is there a free Google Analytics alternative for developers?
- Yes. trckable is free to self-host, with every feature included, and Cloud has a 14-day free trial. Other open-source tools exist too; the comparison pages set them side by side.
- Can I keep Google Analytics and use trckable too?
- Yes, and for the first week you should. Two scripts add weight, so remove one once you trust the other.
- Does trckable work without cookies?
- Yes, in cookieless mode: nothing is stored on the device, and visitors are counted with a hash that changes every day. See what cookieless analytics is.
- Will it show the same numbers as GA?
- No tool matches another. Different bot filtering, session rules and ad-blocker exposure move the totals. Compare trends, not single days.
The newsletter
Notes on measuring what matters.
Occasional emails from Albi: new posts, one chart worth reading, what changed in trckable.
We send one email to confirm your address, and nothing more until you confirm. Every newsletter has a link to leave. What we keep, and who sends it: privacy.