PostHog vs Google Analytics

PostHog is free up to 1 million events a month, and every page view is at least two of them. Past that, 1 million page views costs about $50–$101 a month. Google Analytics 4 is free at any traffic and built for marketing and Google Ads. Here's what each one weighs, costs and counts, and when PostHog is more than you need.

What each script weighs

Kilobytes a visitor downloads, compressed. Less is faster.

  • Google Analytics 4 154 KB
  • PostHog 105 KB
  • Nora Analytics 2.7 KB

Measured in our tracker lab on 13 October 2026; Google's tag is at its lightest here, with nothing configured.

PostHog is priced a lot like a prepaid phone plan. You get an allowance of 1 million events a month, free. Every page view uses at least two of them, one for the view and one for the leave, and every click it records uses another. Run out on the free plan and it stops keeping events until next month. Add a card and you pay for each one after that.

It's also much more than web analytics. PostHog is built for teams making a product, with funnels, session replay, feature flags, experiments and surveys, and a web dashboard on top. Google Analytics 4 is free and built for marketing and Google Ads.

We put both in our tracker lab on 13 October 2026, along with Nora Analytics, which we make, priced PostHog in page views, and read both makers' own pages that day. PostHog's script weighed 105 KB, the heaviest we tested after GA4; Google's tag weighed 154 KB. On PostHog's prices, 100,000 page views a month is free, and 1 million costs $50–$101 a month.

Which one should you use?

PostHog

If you're building a product

Funnels, session replay, feature flags, experiments and surveys in one place, free up to 1 million events a month. For a site that only publishes, it's a lot: its script weighed 105 KB in our lab, the heaviest we tested after GA4, and it sets a cookie for a year.

Google Analytics 4

If you want Google Ads and free marketing reports

It's free at any traffic, with Ads conversions, audiences and Search Console built in. It also sets two cookies that need consent in Europe, hides rows on small reports, and sent a page view for every bot in our lab.

Nora Analytics

If you run a marketing site or blog

A 2.7 KB script, no cookies, free up to 1 million visitors a month, and every page view labelled person, AI agent or bot. There are no funnels, replay or flags, and it launches on 1 November 2026.

We make Nora Analytics. Everything about PostHog and Google Analytics links to their own pages, and every number we measured comes from our tracker lab, run the same way for all three.

PostHog and GA4 side by side

PostHogGoogle Analytics 4Nora Analytics
What it isProduct analytics, with a web dashboard, replay, flags, experiments and surveysMarketing analytics tied to Google AdsWeb analytics that sorts people, AI agents and bots
What you pay forEvents, past 1 million a monthNothing (GA4 360 aside)Nothing up to 1 million visitors a month
Price at 100k page viewsFreeFreeFree
Price at 1M page views$50–$101 a monthFreeFree
Cookiesmeasuredph_<project>_posthog, plus browser storage_ga, _ga_<property>None
Script weightmeasured105 KB154 KB2.7 KB
Headless Chrome, as shippedmeasuredNot sentSentLabelled a bot
Where the data livesUS (Virginia) or EU (Frankfurt), your choiceGoogle's data centresUnited States, Google Cloud
Funnels, replay, flags, experimentsAll fourFunnels in ExplorationsNone
AI agents told apart from peopleDeclared ones, by user agent and IP; newNoYes, on every page view

Notice the Headless Chrome row. PostHog's script kept quiet for it; GA4's sent a page view and left the rest to Google's servers.

Is PostHog overkill for a blog or marketing site?

PostHog's web analytics is one pre-built dashboard: visitors, pages, sources, UTMs, countries and conversion goals. Its own docs say it's built for small teams and marketers, with no custom insights and a limited set of properties; anything deeper is product analytics (PostHog). In a product, that depth is the point. On a site that only publishes, you carry it without using it.

Out of the box, the script records page views, page leaves, clicks and other interactions (autocapture), and dead clicks (config). It also asks PostHog for feature flags as the page loads. In our lab it did that even for the browser it then kept silent.

Your siteWhat you need to knowFits best
Blog or docsPages, sources, countries, AI referralsA light tool. PostHog works, at 105 KB and a cookie for one dashboard
Marketing site with paid campaignsCampaigns, Google Ads conversionsGA4, since Ads bidding uses its conversions. PostHog's Marketing Analytics, an opt-in beta, pulls ad spend in (docs)
SaaS app with sign-upsFunnels to activation, replay, flags, experimentsPostHog. Neither GA4 nor Nora does replay, flags or experiments
Marketing site and app togetherBothPostHog in the app; on the site too, if the events fit your budget

Notice the last column: PostHog is the pick wherever there's an app.

One developer, measuring side projects, called PostHog overkill when all they wanted was country, source, UTMs, entry page and revenue (Hacker News, April 2026).

Our read: on a site that only publishes, PostHog works, but you pay for it in script weight and a cookie, for features you won't open.

What we found when we tested both

We installed each tool alone on a test page and opened it in Chrome four ways: as a person who moves the mouse and scrolls, and as three kinds of bot. One announces it's automated. One hides that. One clicks without moving the mouse, the way AI agents click. No data reached PostHog or Google: apart from fetching each script, our lab answered every request itself.

MeasuredPostHogGoogle Analytics 4Nora Analytics
Script weightgzip, as downloaded105 KB154 KB2.7 KB
Requests per page viewopening and leaving, for a person523
Cookies left behindph_<project>_posthog· 12 months_ga_<property>· 13 months_ga· 13 monthsNone
Other browser storage4 browser storage keysNoneNone
Ad blockersEasyPrivacy, the list most useScript blocked||i.posthog.com/static/array.jsScript blocked/gtag/js?Not blocked
Automated Chrome, as shippedNot sentThe script stayed silentSentIts user agent says HeadlessChrome; a server list can drop itLabelled a botKept out of the people counts
Automated Chrome, disguisedSent as a visitorNothing marked it as automatedSent as a visitorNothing marked it as automatedCounted as a personNothing in the browser gave it away
Disguised, clicking without movingSent as a visitorNothing marked it as automatedSent as a visitorNothing marked it as automatedLabelled an AI agentKept out of the people counts

◆ Kept out of the people counts◐ Sent, but marked or named as automated● Sent as an ordinary visit

Our tracker lab, 13 October 2026: each tool alone on a test page, opened in Chrome by a person and by three kinds of automated browser. "Sent" means the script sent a page view; the maker's servers may still drop it. Ad blockers: EasyPrivacy version 202610140311, checked against each script and the requests it made.

Notice the weight row. PostHog's array.js is 105 KB as downloaded, the heaviest we tested after GA4. GA4's tag is 154 KB and Nora's 2.7 KB. Session replay and surveys load more code when you switch them on (PostHog). For one page view by a person, PostHog made 5 requests: its settings, feature flags, a check before sending, and a batch of events on opening and another on leaving.

Then the storage rows. PostHog left ph_<project>_posthog for a year, and these keys in localStorage and sessionStorage: ph_<project>_posthog, ph_<project>_window_id, ph_<project>_primary_window_exists, ph_<project>_session_registered_properties. By default PostHog keeps its full state in localStorage and a smaller part in the cookie (persistence). GA4 left _ga and _ga_<property>. Nora left nothing.

Now the bot rows. PostHog's script checks the user agent against a built-in list of about 77 bots, HeadlessChrome among them, and stays silent on a match (PostHog). So it sent no events for automated Chrome as shipped, though it still fetched its settings and flags. Once the user agent was changed, the disguised browser and the agent-style click went out as ordinary visits, as they did with GA4.

Ad blockers block both. EasyPrivacy, the list most of them use, blocks PostHog's script on i.posthog.com and GA4's tag outright, and PostHog's page-leave beacon falls under its general rule for beacons sent to another site. PostHog suggests a reverse proxy on your own domain (PostHog). The list also blocks scripts from any host whose name starts with posthog., so give the proxy another name (list). Nora isn't on it.

Nora Analytics is free for up to 1 million visitors a month. No cookies, a 2.7 KB script, and every page view sorted into people, AI agents and bots.

Start free

What PostHog costs at your traffic

PostHog's bill at six sizes of site

Pay-as-you-go, in US dollars a month, at two events a page view, PostHog's defaults

  • 10,000 page views Free
  • 100,000 Free
  • 300,000 Free
  • 1 million $50 a month
  • 2.5 million $153 a month
  • 5 million $324 a month

Our arithmetic from PostHog's per-event prices on 13 October 2026. Autocapture adds events, so a real bill can be higher; the table below has both ends.

Page views a monthPostHogGoogle Analytics 4Nora Analytics
About 10,000$0$0$0
About 100,000$0$0$0
About 1 million≈$50$0$0
Free plan1 million events a month free, every month, with session recordings, flags and surveysFree. GA4 360, the paid edition, is sold through Google sales; third parties put it from about $50,000 a yearFree forever up to 1 million visitors a month, no card
What is countedeventsOur calculation: a page view and a page leave are two events, so 1M page views is about 2M events; autocapture adds more. Events past the free million cost $0.00005 eacheventsFree with no monthly event cap; BigQuery daily export is capped at 1 million events a day on the free editionvisitorsFree up to 1 million visitors a month; Pro, for up to 100 million and agencies, is coming

US dollars a month, billed monthly, from each maker's pricing page on 13 October 2026.

PostHog bills events. With its defaults, each page view sends a $pageview, and leaving the page sends a $pageleave; autocapture adds clicks and other interactions (PostHog). So your bill depends on what your visitors do, and on settings you choose. This table works it through.

Page views a monthEventsPay-as-you-go a monthOn the free plan
10,00020k–35kFreeAll kept
100,000200k–350kFreeAll kept
300,000600k–1.05M$0–$3Up to 5% dropped
1,000,0002M–3.5M$50–$10150–71% dropped
2,500,0005M–8.75M$153–$28280–89% dropped
5,000,00010M–17.5M$324–$57090–94% dropped

Our arithmetic from PostHog's per-event prices on 13 October 2026, for anonymous events. The low figure is 2 events a page view, a page view and a page leave; the high one, 3.5, is our allowance for autocapture, not a measurement. At 2.5 pages a visit, 2.5 million page views is 1 million visitors, which is inside Nora's free plan.

Notice the last column. On the free plan you don't pay more as you grow; you lose data. From 1 million page views a month, at least 50% of your events are dropped.

  • The free million. Every account gets 1 million events a month, with no card and no time limit. Past it, events cost $0.00005 each up to 2 million, then less as volume grows (pricing).
  • What happens past it. On the free plan, events after the first million are dropped for good, so in a busy month nothing after that point is kept (pricing). With a card on file you set a billing limit for each product. Past it, events are dropped too, and PostHog emails you at 80% and 100% (limits).
  • Identified events cost more. Once you call identify(), events carry a person profile. PostHog says anonymous ones are up to four times cheaper, and its JavaScript library sends anonymous events by default (PostHog).
  • The rest of the free plan. 5,000 recordings a month, then $0.005 each up to 15,000; 1 million feature-flag requests; 1,500 survey responses; one project; data kept a year (pricing).

Surprise bills are a common worry. In 2024 one developer said they ran up a bill of over $10,000 in their first half day, and replies pointed to billing limits (Hacker News). GA4 is free with no monthly cap. Nora is free up to 1 million visitors a month, and it counts visitors, not events.

Why PostHog and GA4 show different numbers

Run both on one site and the totals won't match. Four things cause most of the gap.

  • Consent. In the EEA, the UK and Switzerland, Google requires consent for GA4's cookies (Google), and it models the visitors who decline only on large sites (Google). PostHog sets a cookie by default too, so held behind the same banner, both lose the same people. With cookieless_mode: "on_reject", PostHog still counts visitors who decline, with a hash made on its servers (PostHog).
  • Bots. PostHog drops listed bots in the browser, before anything is sent. GA4 drops known bots on its servers and never says how many (Google).
  • Blocking. EasyPrivacy blocks both scripts. A PostHog proxy on your own domain gets around those rules, unless its host name begins posthog., which the list also blocks.
  • People and sessions. PostHog keeps a visitor's ID in localStorage and in a cookie that lasts a year, and ends a session after 30 minutes without activity (PostHog). GA4's _ga lasts up to 400 days in Chrome (Google).

For a sense of scale: on the first site running Nora, 3.3% of the page views its script saw over nine days in October 2026 were bots or AI agents.

What happens with bots and AI agents

Google Analytics 4 drops known bots using Google's research and the IAB spiders and bots list. It always does, and it never says how many (Google). Since 13 May 2026, an AI Assistant channel groups visits referred by ChatGPT, Gemini, Claude and others, going by the referrer only (Google). Nothing in GA4 labels AI agents.

PostHog handles automated traffic in three places (PostHog).

  1. In the browser. Its script drops known bots before they send anything, so that data is gone for good.
  2. In reports. It sorts traffic into Regular, AI Agent, Bot and Automation by user agent and published crawler IP ranges, with subtypes such as AI crawler, AI search and AI assistant. PostHog calls this brand new and says names and behaviour may change (PostHog). A Bots tab in Web Analytics is in alpha and rolling out.
  3. From your server, since most bots never run JavaScript. You forward access logs as $http_log events, and they're sorted the same way.

PostHog's "AI Agent" means declared AI crawlers and fetchers, such as GPTBot, ClaudeBot, PerplexityBot and ChatGPT-User. By PostHog's own table, an ordinary Chrome user agent is Regular (PostHog). An agent driving a real browser sends one, which is why our disguised and agent-style visitors went out as plain visits.

You can add up to 50 custom rules per project, matching user agent, IP range, host or screen size. For referrals, an AI channel since 28 July 2026 groups ChatGPT, Claude, Gemini and Perplexity, and past sessions were reclassified too (changelog).

Nora keeps every page view and labels it a person, an AI agent or a bot, with the test that caught it: a signature check, the name it gives, how it behaves, or machine signs. In our lab it caught the headless browser and the agent-style click. The disguised browser that never touched the page passed as a person, as it did everywhere.

Our read: PostHog's traffic split goes further than anything in GA4. Its "AI Agent" label still covers the machines that say what they are, not the ones in an ordinary browser.

Crawlers such as GPTBot and ClaudeBot that fetch pages without running scripts need server or CDN logs. PostHog takes them as $http_log events; Nora's log connection isn't ready yet; GA4 has none.

PostHog's US cloud opts you in to AI training by default

On 27 May 2026, PostHog's chief executive announced that PostHog would train its own AI models on data in PostHog (PostHog). Here's how the post sets it out.

  • US cloud: opted in by default. Training was not to start before 29 June 2026.
  • EU cloud: opted out by default, along with customers whose agreements rule training out.
  • Anonymised, and kept in-house. Data is anonymised first, only data already in your instance is used, and PostHog trains the models itself. It says it won't sell or send the data to third-party model providers.
  • You can opt out. An admin can do it at any time in organisation settings. Features built on these models won't be available to accounts that opt out.

So the region you pick at sign-up decides the default. If that matters to you, choose the EU cloud or switch training off in organisation settings. Google's terms for GA4 are separate, and we don't cover them here.

What PostHog does that GA4 doesn't, and the reverse

FeaturePostHogGoogle Analytics 4Nora Analytics
Real-time viewPartlyLive tab, alphaYesLast 30 minutesYesLive, last 30 minutes
Goals or key eventsYesYes30 key eventsYesGoal pages
FunnelsYesYesIn ExplorationsNo
Ecommerce revenuePartlyBetaYesYesPro
Custom events with propertiesYesYes25 parameters per eventYesPro
UTM campaignsYesYesPartlyutm_source as the source
Google Search Console dataPartlyAs a data-warehouse sourceYesNo
CountriesYesYesYes
HeatmapsYesNoNo
Session recordingsYes5,000 a month freeNoNoNever: nothing typed or watched
Stats APIYesYesData APINo
CSV exportYesYes100,000 rows; raw data via BigQueryYesEvery page view
Scheduled email reportsYesYesAdmins onlyYesWeekly
Shared or public dashboardsYesPartlyShared with users of the propertyYesReport links
Many sites and clients in one accountYesProjectsYesAccounts and propertiesYesPro
AI assistants as a traffic sourceYesAI channel, July 2026YesAI Assistant channel, May 2026, by referrer onlyYes
AI agents told apart from peoplePartlyTraffic type by user agent and IP rangesNoYesBy name, signature or behaviour

Where PostHog is ahead of both

  • Funnels over any event you send (PostHog), and SQL over your raw events when the built-in views run out.
  • Session replay, 5,000 recordings a month free (pricing).
  • Feature flags and experiments in the same tool, 1 million flag requests a month free.
  • Surveys, 1,500 responses a month free.
  • Heatmaps, free to ingest; the free plan covers up to 3 pages you choose (PostHog).

Where GA4 is ahead

  • Google Ads. Conversions for bidding, audiences and spend against results, built in.
  • Search Console reports inside the product. In PostHog it's a data-warehouse source that syncs daily (PostHog).
  • No event bill at any traffic, and a free daily BigQuery export of up to 1 million events (Google).
  • Nothing in alpha or beta on its web dashboard. PostHog's Live tab and Bots tab are alpha, and its revenue analytics is in beta.

Features from each maker's pages on 13 October 2026.

What people say about each

We read reviews and threads from the past two years. The same few things come up again and again. Here they are, in our words, with links to where people said them.

PostHog

What they like

One tool instead of severalAnalytics, recordings, flags and experiments in one place. HN, Mar 2025HN, Jun 2024
Generous free tier, built for developersA million events a month free, and an API-first product. HN, Sep 2025HN, May 2026

What they complain about

Overkill for simple web statsPeople who wanted countries, sources and UTMs found it cluttered and hard to navigate. HN, Apr 2026HN, Jul 2026HN, May 2024
AI training on by defaultUS cloud customers were opted in to model training from 29 June 2026, which drew pushback. PostHogHN
Self-hosting is impracticalSelf-hosters report heavy servers and unsupported setups. HN, May 2025GitHub, Nov 2025
Surprise billsOlder reports of large first-day bills; billing limits are not on by default. HN, Apr 2024PostHog billing limits

Google Analytics 4

What they like

Free, and deep once it is set upConversion reports and insights at no cost, for those who learn it. Product HuntSaaSHub
Works with Search Console and Google AdsStores stay because Performance Max bidding uses GA4 conversions; SEOs want Search Console beside their stats. GA forum, Oct 2026HN, Jul 2024

What they complain about

Not intuitiveBeginners cannot find bounce rate or which visits became purchases; reviewers call setup overcomplicated. HN, Jul 2024GA forum, Oct 2026GA forum, Oct 2026
Bot spikes from Singapore and LanzhouThe biggest data-quality theme on Google's own forum; the advice is to filter reports by hand. GA forum, Oct 2025GA forum, Aug 2026GA forum, Oct 2026
Numbers don't match orders or other toolsShopify orders, server logs and other analytics tools disagree with GA4. GA forum, Oct 2026GA forum, Oct 2026
Data lost to consent and slow processingModelled data needs 1,000 declined events a day; reports arrive late. GA forum, Oct 2026GA forum, Sep 2026

How to move from GA4 to PostHog, or run both

  1. Pick the region first. US (Virginia) or EU (Frankfurt) decides where your data sits and the AI-training default (regions).
  2. Decide on cookies. Keep the default cookie and localStorage, or use cookieless_mode "always" or "on_reject", after switching on the server hash setting (PostHog).
  3. Trim autocapture and set a billing limit if the bill matters (cutting costs).
  4. Proxy the script through your own domain, on a host name that doesn't begin posthog., which EasyPrivacy blocks.
  5. Bring GA4 across. Link it as a data-warehouse source for daily reports (source), or migrate raw events through GA4's BigQuery export. Historical imports are free but need a paid plan sign-up (migration).
  6. Run both for two to four weeks, and keep GA4 if you buy Google Ads.
  7. Forward server logs as $http_log if you want to see crawlers.

Self-hosting is possible, with limits. The free hobby deploy runs on one machine of about 4 vCPU and 16 GB of RAM, comes with no support, and PostHog says it's unlikely to scale past a couple of hundred thousand events (self-host, disclaimer). Rybbit's founder said a 64 GB server ran all 16 cores at 100% and still didn't work (Hacker News).

Where Nora Analytics fits

Nora is for the site that publishes: a blog, docs, a marketing site. There, the questions are how many people came, from where, to which pages, and how much of the traffic was people at all. It's free up to 1 million visitors a month, sets no cookies, weighs 2.7 KB, and labels every page view person, AI agent or bot, with the test that caught it. You also get live visitors, pages, sources (AI assistants among them), countries, goal pages, a weekly email and CSV export.

It does none of what PostHog is for. There are no funnels, no feature flags or experiments, and no session recordings, ever. You can't host it yourself, it isn't open source, its data is in the US, and it can't import your GA history. It launches on 1 November 2026, so it has no track record yet. If you're building a product with sign-ups, PostHog is the better pick, and GA4 stays the pick for Google Ads.

Questions people ask

Is PostHog free?

Yes, up to 1 million events a month, every month, with 5,000 session recordings, 1 million feature-flag requests and 1,500 survey responses. There's no card and no time limit. On the free plan, events past the first million are dropped for good, and a page view is usually two events or more.

Self-hosting is a free hobby deploy on one machine, without support; paid features are Cloud only.

How much does PostHog cost for a site with 100,000 visitors?

Nothing. At 2.5 pages a visit that's 250,000 page views, or 500k to 875k events, inside the free million. At 1 million visitors it's about $153–$282 a month on pay-as-you-go (our arithmetic from PostHog's prices).

Can PostHog replace Google Analytics?

Mostly, if you're a product team. Its web dashboard covers visitors, pages, sources, UTMs, countries and goals, and product analytics covers what GA4 explorations do. It doesn't feed Google Ads bidding or audiences, and Search Console comes in only as a data-warehouse source.

Should I run PostHog and GA4 together?

You can: GA4 for Google Ads and Search Console, PostHog for the product. Just know that the two scripts weighed 259 KB together in our lab, and your visitors download both.

Does PostHog need a cookie banner?

It depends on the mode. By default PostHog sets a cookie for a year and keeps state in localStorage. PostHog says that with cookieless_mode set to "always", no banner is needed unless something else on your site uses cookies; the mode needs its server hash setting switched on first. Whether your site needs a banner is a question for your own adviser.

Does PostHog slow down my site?

Its script is the heaviest we tested after GA4: 105 KB in our lab, against GA4's 154 KB. It made 5 requests for one page view, and session replay and surveys load more code when you switch them on.

Does PostHog filter bots and AI agents?

Yes, the ones that say what they are. Its script drops visitors whose user agent matches about 77 known bots, HeadlessChrome among them. Reports can split traffic into Regular, AI Agent, Bot and Automation by user agent and crawler IP ranges, a feature PostHog calls brand new. Bots that never run scripts need server logs, and an agent in an ordinary browser is Regular by PostHog's own table.

Does PostHog train AI on my data?

Yes, by default, if you're on PostHog's US cloud. From 29 June 2026, US cloud customers are opted in to PostHog training its own models on their anonymised data. EU cloud customers are opted out by default. An admin can opt out in organisation settings, and PostHog says it won't sell or send the data to third-party model providers.

Can I import my Google Analytics history into PostHog?

Yes, two ways. You can link GA4 as a data-warehouse source, which syncs daily report data such as users, sessions, page views and sources. Or you can migrate raw events through GA4's BigQuery export. Historical imports are free but need a paid plan sign-up.

PostHog or Nora Analytics?

PostHog, if you're building a product and want funnels, replay, flags, experiments or surveys. Nora, if you run a marketing site or blog and want a small script, no cookies, free use up to 1 million visitors and every page view labelled person, AI agent or bot. Nora is new: it launches on 1 November 2026.

How we tested this

Nora Lab, the research team at Nora Analytics, ran every test on this page the same way for each tool. Here is exactly how, so you can judge the results yourself.

When
The lab ran on 13 October 2026. We read every source below on the same day.
What we tested
PostHog, Google Analytics 4 and Nora Analytics, each installed alone on a blank test page with its maker's own install code and a made-up site ID. Nora Analytics ran version 1.5.0 of its script, from our own build.
Browser
Chrome 155.0.8059.79, headless, on a Mac on a home internet connection, driven by our own script through the Chrome DevTools Protocol.
Visitors
Four on every tool: a scripted reader that moves the mouse and scrolls on a 1440×900 laptop screen; automated Chrome as shipped, which says it's automated; the same browser disguised as normal Chrome, which never touches the page; and the disguised browser clicking without moving the mouse first, the way AI agents click.
What we measured
Script weight, each script fetched once and gzipped at level 6. Every request sent while the page was open and as it was left, and which one carried the page view. The cookies, localStorage and sessionStorage left in the browser.
Ad blockers
Every script and request matched against the EasyPrivacy list, version 202610140311. It's the tracker list uBlock Origin turns on by default.
Prices and features
From each maker's own pricing pages, documentation, changelogs and code. Prices are monthly, in US dollars, at about 10,000, 100,000 and 1 million page views a month. 37 sources, listed below.
What people say
Ratings from Product Hunt and Trustpilot, each with its number of reviews. Praise and complaints from 26 public posts and reviews on Hacker News, GitHub, Product Hunt, SaaSHub and Google's Analytics help forum, and a few blogs, read on 13 October 2026. We put them in our own words and link to every one.
PostHog's bill
Our arithmetic from PostHog's per-event prices, at two events a page view, PostHog's defaults. Autocapture adds events, so a real bill can be higher.
No data sent
Apart from fetching each script, nothing reached any maker. The lab answered every other request itself, so no test visit landed in anyone's dashboard.
What we didn't test
What a maker's servers do once a page view arrives: the lab says "sent", never "counted". Real AI agents: the fourth visitor copies how they click. Crawlers that don't run JavaScript, which no script sees. The other tools on a live site over weeks, their dashboards and their paid plans: we signed up for none of them.
Our stake
We make Nora Analytics. It's in every test and tested the same way, and every comparison says when another tool is the better pick. No maker paid to be included, and our links to other tools aren't affiliate links.
Corrections
Write to hello@noraanalytics.io. We'll fix the page and say what changed.
The exact scripts we loaded
ToolScriptGzipped
PostHogus-assets.i.posthog.com/static/array.js105 KB
Google Analytics 4www.googletagmanager.com/gtag/js?id=G-NORALAB01154 KB
Nora AnalyticsNora Analytics script 1.5.02.7 KB, loader and core, two files

The full method, with what each visitor stands for, is on How we test. Every result from the lab run is public as JSON.

Sources

  1. PostHog pricing: posthog.com/pricing
  2. PostHog cutting costs: posthog.com/docs/product-analytics/cutting-costs
  3. PostHog billing limits and alerts: posthog.com/docs/billing/limits-alerts
  4. PostHog anonymous vs identified events: posthog.com/docs/data/anonymous-vs-identified-events
  5. PostHog JavaScript config: posthog.com/docs/libraries/js/config
  6. PostHog persistence: posthog.com/docs/libraries/js/persistence
  7. PostHog data collection and cookieless mode: posthog.com/docs/privacy/data-collection
  8. PostHog web vs product analytics: posthog.com/docs/web-analytics/web-vs-product-analytics
  9. PostHog web analytics FAQ: posthog.com/docs/web-analytics/faq
  10. PostHog troubleshooting: posthog.com/docs/web-analytics/troubleshooting
  11. PostHog bot and traffic detection: posthog.com/docs/web-analytics/bot-detection
  12. PostHog managing bot and AI traffic: posthog.com/docs/web-analytics/managing-bot-traffic
  13. PostHog channel types: posthog.com/docs/data/channel-type
  14. PostHog changelog, AI channel type: posthog.com/changelog?id=2883
  15. PostHog heatmaps: posthog.com/docs/toolbar/heatmaps
  16. PostHog Marketing Analytics: posthog.com/docs/web-analytics/marketing-analytics
  17. PostHog funnels: posthog.com/docs/product-analytics/funnels
  18. PostHog Search Console source: posthog.com/docs/cdp/sources/google-search-console
  19. PostHog, training our own AI models: posthog.com/blog/training-ai-models
  20. PostHog Google Analytics source: posthog.com/docs/cdp/sources/google-analytics
  21. PostHog migrate from Google Analytics: posthog.com/docs/migrate/google-analytics
  22. PostHog self-host: posthog.com/docs/self-host
  23. PostHog self-host disclaimer: posthog.com/docs/self-host/open-source/disclaimer
  24. PostHog security (cloud regions): posthog.com/handbook/company/security
  25. PostHog story: posthog.com/handbook/story
  26. Hacker News, a $10,000 first bill (2024): news.ycombinator.com/item?id=39984487
  27. Hacker News, PostHog overkill for side projects: news.ycombinator.com/item?id=47778930
  28. Hacker News, self-hosting PostHog: news.ycombinator.com/item?id=43921277
  29. GA4 cookies: support.google.com/analytics/answer/11397207
  30. Google EU user consent policy: www.google.com/about/company/user-consent-policy/
  31. GA4 behavioural modelling for consent mode: support.google.com/analytics/answer/11161109
  32. GA4 known bot traffic exclusion: support.google.com/analytics/answer/9888366
  33. GA4 AI Assistant channel: support.google.com/analytics/answer/9756891
  34. GA4 data thresholds: support.google.com/analytics/answer/9383630
  35. GA4 data retention: support.google.com/analytics/answer/7667196
  36. GA4 BigQuery export: support.google.com/analytics/answer/9358801
  37. EasyPrivacy list: easylist.to/easylist/easyprivacy.txt