FIELD TEST

We ran Kantan next to Google Analytics for seven weeks. Here is everything we found.

One real WordPress site. Both tools on every page. The same 51 days. Kantan recorded the same organic search traffic as GA4, within 1%. Then its bot filter threw some of it away, the totals stopped matching, and the test found four bugs in Kantan. We fixed them the same day.

975
sessions in GA4
1,209
raw sessions Kantan recorded
575
sessions on the Kantan dashboard, after bot filtering
318 / 322
organic search sessions, Kantan raw / GA4
244
organic search sessions on the Kantan dashboard
puregolfplayersclub.com · 8 Aug – 27 Sep 2026 · Pacific Time
01 — THE SETUP

One site, two tools, the same days.

Pure Golf Players Club runs WordPress with ACF. It had GA4 and Kantan Analytics installed on every page from 8 August to 27 September 2026. A Meta ad campaign ran from 7 to 18 August, so the window has paid social traffic as well as search.

We read GA4 through its Data API. We read Kantan twice: the dashboard number, and every raw session row straight from the database, so we could see what the bot filter removed and why. Both sides count days in Pacific Time (America/Los_Angeles), the time zone of the GA4 property.

02 — THREE NUMBERS THAT DO NOT AGREE

Three totals. None of them is “the” answer.

  • GA4: 975 sessions. What Google counts after its own bot filter.
  • Kantan, raw: 1,209 sessions. Every visit Kantan stored, including bots that hide what they are.
  • Kantan, dashboard: 575 sessions. What is left after Kantan’s bot filter.

If you only compare the totals, Kantan looks broken in both directions — 24% higher than GA4 before filtering, 41% lower after. Neither is the useful comparison. The useful one is channel by channel, and the cleanest channel is organic search.

03 — WHERE THEY MATCHED

Organic search: 318 against 322.

A visit from a Google result is the hardest kind to fake and the easiest to count: a person searched, saw a result and clicked it. On that traffic, Kantan’s raw count was 318 and GA4’s was 322. That is a gap of about 1%.

That number is the real test of the tracker. When the traffic is clean, the two tools see the same visits.

But that is not the number on the Kantan dashboard. The dashboard showed 244 organic sessions, 24% below GA4. The bot filter removed 74 organic visits, almost all of them one page in under a second (section 05). Some of those were real people. So on organic search, Kantan collected the same traffic as GA4 and then reported less of it.

FIG. 1 — SESSIONS BY CHANNEL, 8 AUG – 27 SEP
ChannelGA4Kantan dashboard
Organic search322244
Direct393233
Paid social / paid23473
AI assistants1412
Social76
Referral31
Campaign / unassigned24
Total975573
The two tools name their channels differently; rows are matched by meaning. Kantan’s dashboard total is 575 in Pacific Time, the time zone used for this test, and 573 when its days follow the site’s own time zone.
04 — WHERE GA4 COUNTS MORE

234 paid social sessions. 8 of them engaged.

GA4 reports 234 sessions from Paid Social, from 233 users, and only 8 engaged sessions. That is 3%. On organic search the same site gets 53%. The Kantan dashboard shows 73 paid visits for the same days.

Kantan’s raw rows show what happened. 151 of the Meta ad visits loaded in the Instagram or Facebook in-app browser and recorded 0 seconds on the page — the page was loaded but never shown. The most likely cause is Meta loading the landing page ahead of a tap that never came. GA4 counts many of those as sessions. Kantan’s filter removes them.

We cannot see inside GA4, so we cannot say exactly how many of the 151 it counted. But 233 users across 234 sessions, with 8 engaged, is not what 234 people reading a page looks like.

05 — WHERE KANTAN REMOVES MORE

Kantan threw away 634 sessions. Here is what they were.

Kantan filters in two places. When a visit arrives, it rejects any browser that names itself as a bot — Googlebot, crawlers, uptime monitors, headless Chrome. Those never reach the database, so they are not in the 1,209. Bots that hide what they are get through, so three more rules run when you read the dashboard:

RuleSessions removed
One page, 1 second or less579
An 800 × 600 screen (the default size of a headless browser)44
Several pages in 0 seconds11
Total634

Most of what the rules caught was not a person:

  • 151 Meta in-app ad loads at 0 seconds (section 04).
  • About 220 one-second “direct” hits. 44% from outside the US, on the same unusual screen sizes again and again (1800 × 1125, 1366 × 900), and a new visitor ID every time. A real visitor who comes back keeps their ID. This is a bot fleet.
  • 44 headless browsers at 800 × 600.

And some of it probably was a person. 133 sessions were one page in under a second: 72 from organic search (64 of them in the US) and 61 from paid ads in in-app browsers. Some are people who left at once. Some are real visits where the browser closed before Kantan’s exit report arrived, so the visit looked one second long. Bug 3 below is that second case.

WHY WE KEPT THE RULE

If we relax “one page, one second”, the bot fleet comes back in with the real visitors. We would rather undercount real people by a known amount than count a bot fleet as an audience.

06 — WHAT THE TEST FOUND WRONG WITH KANTAN

Four bugs. All fixed, released the same day.

The point of a test like this is to find out where you are wrong. It found four places.

1
Top Pages gave each visit to its last page.

A visitor who read three pages counted for only the page they left from. Landing pages looked weaker than they were.

FIXED IN 2.32.0Top Pages now counts every page view; the session keeps its landing page.

2
Visit time was the time on the last page only.

A ten-minute, four-page visit could show as two minutes.

FIXED IN 2.32.0The tracker now sends the time for the whole session as well as for each page, and the server keeps the larger value.

3
A lost exit report made a real visit look like a bot.

Kantan learned how long a visit lasted from a report the browser sent on the way out. When that report did not arrive, the visit looked one second long, and the bot filter removed it.

FIXED IN 2.32.0The tracker now reports at 5 seconds and again when the page is hidden, so most visits have a duration even if the exit report is lost.

4
Three different clocks.

Times came from the database server, from UTC and from the WordPress time zone, depending on where in the code they were written. On this site, one page’s exit was stored six hours after its entry.

FIXED IN 2.33.0Every time is stored in UTC, days are counted in the site’s own time zone, and daylight saving changes are handled. Old rows were converted once on update.

Kantan Analytics 2.32.0 and 2.33.0 both went to WordPress.org on 28 September 2026, the day the test finished. Like every Kantan Analytics update, they are free.

WHAT THE BUGS DID NOT TOUCH

None of the four bugs changed what Kantan collected. The raw rows were right. The bugs were in how the dashboard added them up.

07 — SO WHICH NUMBER IS RIGHT?

The honest answer is a range.

For these 51 days, the real number of human visits was most likely between 575 (the Kantan dashboard) and about 710 (the dashboard plus the 133 sessions in the grey zone). GA4’s 975 is higher than both, partly because it counts in-app ad loads that nobody saw.

About 85 of the sessions Kantan filtered do not fit any group above. We did not classify them, and we are not going to guess.

If you run two analytics tools, three things from this test are worth keeping:

  • Compare by channel, not by total. Organic search is the fairest test of any tracker.
  • In GA4, read engaged sessions next to sessions. 234 sessions with 8 engaged is a measurement, not an audience.
  • Look at your paid social in-app traffic. If you pay per click, the gap between “loaded” and “seen” is your money.
08 — FAQ

Frequently asked.

Is Kantan Analytics as accurate as Google Analytics?

At collection, yes: on organic search Kantan recorded 318 sessions and GA4 322, about 1% apart. The dashboard reported fewer — 244 — because Kantan’s bot filter is stricter than GA4’s and removes one-page visits of a second or less, some of which are real people.

Why does GA4 show more sessions than Kantan?

Mostly because of filtering. Kantan removes one-page visits of a second or less, headless browsers and pages loaded in 0 seconds. On this site that removed Meta in-app ad loads that GA4 counted, and a bot fleet.

Why did Kantan record more raw sessions than GA4?

Kantan rejects browsers that name themselves as bots before it stores anything. The rest are stored, and three more rules filter them when you read the dashboard. The raw count includes the bots that hid what they were; the dashboard does not.

Does Kantan undercount real visitors?

It can. In this test, 133 one-page sessions under a second may have included real people who left at once. We kept that rule because relaxing it lets bot traffic back in. Kantan 2.32.0 made this group smaller by reporting visit time at 5 seconds.

簡
RUN THE TEST ON YOUR OWN SITE

Do not take our word for it.

Kantan Analytics is free and runs next to GA4 without any conflict. Install it, let both run for a few weeks, and compare the same days in the same time zone — organic search first.

Kantan’s built-in MCP server lets Claude read your Kantan numbers directly, so you can ask “how many organic sessions did I get between these dates?” and check the answer against GA4 yourself.

簡単 Kantan — analytics & SEO you can talk to.
Install free →
© 2026 Kantan · Self-hosted, no cookies, no nonsense. Built for WordPress. Runs on your server. 簡単 means “simple.”