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.
- No nags. No notices in your admin outside the plugin's own screens. The one exception is a single, dismissible notice after upgrading from 1.x.
- No bundled plugins. WSAnalytics never installs or activates anything else.
- No telemetry. I collect nothing about your site, your visitors or how you use the plugin.
- Nothing removed from free. What is free today stays free.
- Uninstall deletes everything. Deleting the plugin removes its settings, cached reports and tokens, and revokes its Google access.
- Read-only access. WSAnalytics can view your Analytics and Search Console data. It can never change it.
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:
- Tracking only. Paste your
G-Measurement ID and skip the Google sign-in. You get tracking with Consent Mode, without reports in WordPress. - Bring your own Google client. Under Settings, Advanced, use your own Google OAuth client. Your site then talks only to Google, and my relay is never contacted.
Get started in two minutes
Once the 2.0 release is live on WordPress.org:
- Install WSAnalytics from Plugins, Add New in your WordPress admin.
- Open WSAnalytics, Settings. The setup wizard walks you through it.
- 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.