WSAnalytics

The honest GA4 dashboard for WordPress

See how your site is doing, right inside WordPress. WSAnalytics adds the Google Analytics 4 tag to your site and turns your GA4 reports into a dashboard you can actually read. The free plugin is complete, it never nags you, and your data stays yours.

Free and open source (GPLv2 or later) · WordPress 6.7+ · PHP 8.1+ · 2.0 release coming soon to WordPress.org

My pledges

These are in the plugin's readme on WordPress.org too, so you can hold me to them.

What you get

A dashboard in plain language. Visitors, views, engagement and more, compared with the previous period, with a trend chart, your top pages, where visitors come from and what devices they use. Content, Acquisition, Audience, Search and Realtime tabs are one click away when you want more detail.

Stats where you write. A views column in your Posts list, and a panel in the block editor that shows views, users, engagement, traffic channels and top Google searches for the post you are editing.

Search Console built in. The searches that bring people to your site, site-wide and for each post.

GA4 tracking done properly. The official Google tag, with Consent Mode v2 (Advanced or Basic), region-aware defaults for the EEA, UK and Switzerland, WP Consent API support, and role exclusions so your own visits do not count. Tracking stays off on staging and development sites until you turn it on.

A health check that answers "why doesn't this match GA?" It finds duplicate tags, a missing or different Measurement ID on your homepage, other analytics plugins that may double count, and connection problems, and tells you how to fix each one in plain English.

Sign-in that does not break. Connect with Google in a few clicks. Errors are explained in plain English, and if your site's address changes (a staging copy or a migration), WSAnalytics notices and lets you keep or drop the connection.

Light on your site. The only thing added to your front end is Google's own tag. Reports are cached, and the last good numbers stay on screen if Google has a hiccup.

A dashboard widget, with the last 7 days at a glance on the wp-admin home screen.

Your data stays yours

Here is exactly what leaves your site, and when.

What Where it goes When
Report requests, with your access token Google's Analytics and Search Console APIs, directly from your site When you open reports
Sign-in codes and tokens, in transit My sign-in relay, connect.shivaatripathi.com Only when you connect, and when your site refreshes its access token
Page views and events from your visitors Google Analytics, via Google's gtag.js When tracking is on, for visitors you have not excluded

Your analytics data never passes through my servers. The relay exists only because Google does not allow a plugin to ship the secret that one-click sign-in needs. It passes the sign-in code and tokens between Google and your site, and it does not store or log them. Read the privacy policy for the details.

Prefer zero contact with me?

Two options:

Get started in two minutes

Once the 2.0 release is live on WordPress.org:

  1. Install WSAnalytics from Plugins, Add New in your WordPress admin.
  2. Open WSAnalytics, Settings. The setup wizard walks you through it.
  3. Connect with Google, pick your GA4 property, and you are done. The Measurement ID fills in for you.

Requirements: WordPress 6.7 or later and PHP 8.1 or later. Per-post stats need pretty permalinks.

Listing on WordPress.org (2.0 release coming soon) →

Questions

Is it really free?

Yes. Every feature in the plugin is free, with no limits and no upsell screens. If a paid add-on ever exists, it will add new things (like client reports for agencies), never take away what is free.

Does it work with my cookie banner?

If your consent banner supports the WP Consent API, WSAnalytics picks up your visitors' choices automatically. In Basic mode, the Google tag loads only after consent. Your banner needs WP Consent API support, or it can call window.wsanalyticsGrant() when a visitor accepts statistics cookies.

Why don't the numbers match Google Analytics exactly?

Mostly caching (up to an hour for past dates), time zones, or a second tag added by another plugin or your theme. Settings, Health checks for all of this. "Last 7 days" and the other rolling ranges end yesterday, like GA4's own. WSAnalytics works out dates in your WordPress time zone, while GA4 uses your property's time zone, so set both to the same zone for numbers that match.

I used WSAnalytics 1.x years ago. What happened?

Google shut down Universal Analytics, which 1.x was built on. Version 2.0 is a complete rewrite for Google Analytics 4, on the same WordPress.org listing. Update, reconnect, and you are set.

Where do I get help?

Ask in the WordPress.org support forum. For privacy questions, email [email protected].

WSAnalytics is made by Shivaa Tripathi and is free software, licensed under the GPLv2 or later. Privacy policy

Google Analytics and Search Console are trademarks of Google LLC. WSAnalytics is not made or endorsed by Google.