Strangeness between native Analytics and Plausible

Since the upgrade to version 6 with its integrated analytics for Ghost Pro I have noticed two strange discrepancies between Ghost analytics and plausible. In Ghost, my second largest audience is China, in Plausible less than 1% of those unique visitors from China show up. Other countries are close enough between the two sets of analytics. However, plausible has more pageviews, sometimes a notable difference. Anyone else seeing anything like this? And yes, I do understand that there will be some differences to be expected. But the relative desert for China in Plausible compared to #2 market status in Ghost concerns me. I have reached out to Plausible, and their answer was “While I can’t speak for Ghost and how their analytics work, this is expected. Analytics rarely match across tools because they don’t measure the same thing the same way.” The “this is expected” is not inspiring. Presumably, unique visitor by day, page views, and their origin would be expected to be somewhat concrete. Or am I being naive?

Can’t say for sure where the difference comes from, but the method how both tools collect analytics is fundamentally different and is likely the main reason you see big discrepancies.

Ghost’s built-in analytics are fully first-party. All tracking happens through your own domain. Your browser loads the page, Ghost counts the visit internally. Done. There’s no external request involved.

Plausible works differently. It loads a Javascript snippet from their server and then sends tracking data back there. This external request can be blocked by ad blockers, privacy-focused browsers, or network restrictions.

If I visited your site, Ghost would probably see my request, whereas Plausible would not, due to my browser blocking it.

Now, the China situation is interesting (I see the same with Singapore on one of my sites). A significant portion of your “Chinese visitors” in Ghost could be bot traffic. Bots that hit your server will show up in Ghost’s analytics (since it tracks at the server level), but they typically don’t execute Javascript, which means Plausible would never see them.

3 Likes

Thanks for your reply Jannis, excellent points.

China situation is a very common thing in all Ghost websites, I think (I hear this from multiple Synaps Media customers as well). I thought them as bots as well, but it’s weird because China is not popular with their bots. https://radar.cloudflare.com/bots

I started to suspect a bug about location parsing, but couldn’t check it deeply yet. As far as I see, currently location is determined on the browser, by using browser’s “timezone”. I feel like something wrong is happening there, but no data yet. :blush:

1 Like

I checked some logs of Ghost Traffic Analytics service and noticed that most of the Singapore IPs are tagged as China. It’s probably because they share same timezone and -according to Claude- many people sets their timezone “UTC+8” and operating systems uses most popular IANA timezone name for selected timezone offset. So many of the Singapore visitors’ browser uses Asia/Shangai instead of Asia/Singapore (both resolves to UTC+8.

Then second question will rise, “why Singapore?” :blush: Singapore is one of the biggest usual suspect for bots (https://radar.cloudflare.com/bots) because of their very popular data centers. But the logs that I checked were all using regular browser user agents. Either they are bots hiding themself or maybe they are VPN users.

I’ll collect more data and report this as a GitHub issue.

2 Likes

I created a Github issue for this: "Too many visitors from China" issue · Issue #25744 · TryGhost/Ghost · GitHub

Yeah, I feel like my analytics are basically worthless because there is so much noise in the data from Chinese visitors. Old posts are routinely my most popular, etc etc