WordPress Analytics Plugin: How to Choose, Set Up and Verify

A WordPress analytics plugin adds visitor tracking to your site and shows traffic reports inside the WordPress dashboard. There are three kinds: Google Analytics connectors such as MonsterInsights and Site Kit, self-hosted plugins such as Independent Analytics and WP Statistics that store stats in your own database, and hosted privacy-first services such as Plausible. Choose by where you want the data to live and which question you need answered, not by the longest feature list.
This guide compares the main options, gives you a decision table, and covers what the usual roundups skip: the consent rules behind “no cookie banner” claims, whether two analytics plugins can run together, adding GA4 without a plugin, checking that tracking works, and turning visits into leads and revenue by landing page.
The Three Types of WordPress Analytics Plugins
Most confusion about these plugins comes from treating them as one category. They are built in three different ways, and the build decides your privacy setup, your server load and how deep the reports can go.
| Type | How it works | Where data lives | Strengths | Trade-offs |
|---|---|---|---|---|
| Google Analytics connector | Installs the GA4 tag and pulls GA4 reports into a WordPress dashboard | Deep acquisition data, free GA4, links to Google Ads and Search Console | Needs a GA4 property; GA cookies usually need consent in the EU and UK | |
| Self-hosted plugin | Its own script sends each visit to your WordPress site, which stores it in your database | Your database | No third party, no Google account, data you own | Uses your server and database; dashboards can slow down on very busy sites |
| Hosted service with a plugin | The plugin adds the service’s script and often shows its stats in WordPress | The vendor’s servers | No load on your server, simple dashboards, usually cookieless | Paid after a trial for most tools; data sits with another company |
WordPress Analytics Plugins Compared
These are the plugins that come up again and again in the WordPress plugin directory and the comparison guides that rank for this query. Prices change often, and the roundups quote different starting prices for the same plugin, so check each vendor’s pricing page before you buy.
| Plugin | Type | Needs a GA4 account | Free version | Best for |
|---|---|---|---|---|
| MonsterInsights | GA connector | Yes | Yes (Lite) | Readable GA4 reports in WordPress, with ecommerce, form and link tracking on paid tiers |
| ExactMetrics | GA connector | Yes | Yes | Agencies and freelancers reporting GA4 data across many client sites |
| Site Kit by Google | Google’s official connector | Yes | Fully free | GA4, Search Console, AdSense and PageSpeed Insights in one free dashboard |
| Analytify | GA connector | Yes | Yes | Visual reports and per-post stats, with add-ons for ecommerce |
| Independent Analytics | Self-hosted | No | Yes | Simple stats with no account and no configuration |
| WP Statistics | Self-hosted | No | Yes | Free local stats with a long track record |
| Burst Statistics | Self-hosted | No | Yes | A clean dashboard with goals and an optional cookieless mode |
| Slimstat Analytics | Self-hosted | No | Yes | Detailed visitor logs, with the option of an external database |
| Matomo | Self-hosted or cloud | No | Yes (self-hosted) | A full analytics suite you control, with a GA data import |
| AnalyticsWP | Self-hosted | No | No (trial) | User journeys and WooCommerce orders inside WordPress |
| Plausible | Hosted service + plugin | No | No (trial) | A lightweight cookieless dashboard with WordPress-specific tracking |
| Jetpack Stats | Hosted (WordPress.com) | No | Yes (basic) | Bloggers who want views, visitors and top posts, nothing more |
| Clicky | Hosted service | No | Yes | Real-time visitor detail without load on your server |
Google Analytics connectors
MonsterInsights is one of the most widely used connectors. It sets up GA4 without code, then adds a simplified dashboard, site notes to mark changes, and tracking for outbound and affiliate links, downloads, forms and WooCommerce sales. The useful extras sit in the paid tiers. ExactMetrics is built on the same idea with licensing aimed at agencies running many sites. Analytify leans on visual charts and shows stats for each post right in the editor, with add-ons for ecommerce and email reports.
Site Kit by Google is free and maintained by Google. It installs the Google tag and shows Analytics, Search Console, AdSense and PageSpeed Insights data in one place. Its reports are basic compared to the paid connectors, but for a small site that mainly wants GA4 installed correctly plus Search Console queries, it is often all you need. Lightweight inserters such as GA Google Analytics only add the tag and leave reporting to GA4 itself.
Self-hosted plugins
Independent Analytics starts tracking as soon as you activate it, with no account. It can run alongside GA4 and has a Pro version for WooCommerce and campaign tracking. WP Statistics is the long-standing free option with local data, email reports and premium add-ons. Burst Statistics has a modern interface and goals. Slimstat keeps detailed visit logs and can write to an external database to spare your main one. Matomo is the open-source suite: run it inside WordPress, on your own server, or in Matomo’s cloud, and import historical GA data if you are switching. AnalyticsWP focuses on user journeys and ties them to WooCommerce orders, sold as a one-time license.
Hosted services with a WordPress plugin
Plausible runs on its own servers and its WordPress plugin can track outbound and affiliate clicks, downloads, form submissions, 404 pages, authors and categories, site search, and WooCommerce and Easy Digital Downloads purchases without code. Clicky is a long-running real-time tool. Jetpack Stats comes with WordPress.com and gives bloggers views, visitors and top posts.
Tools that complement a plugin rather than replace it
- Heatmaps and recordings (Microsoft Clarity, Crazy Egg) show where people click and scroll. They explain why a page fails, not where traffic came from.
- Search data: Google Search Console shows the queries behind organic visits, and site search reports (SearchWP Metrics, or the site search tracking in some plugins) show what visitors could not find.
- Product and CRM analytics (Heap, Woopra, HubSpot) follow individual users and deals. They suit SaaS and sales-led teams more than content sites.
How to Choose a WordPress Analytics Plugin
| If you are... | Start with | Why |
|---|---|---|
| A blogger who wants views and top posts | Jetpack Stats or Independent Analytics | No setup, no GA learning curve |
| Already on GA4 and running Google Ads | Site Kit (free) or MonsterInsights | Keeps GA4 as the source of truth and links ad data |
| An agency reporting to clients | ExactMetrics, or a self-hosted plugin clients can read | Multi-site licensing and simple client views |
| Privacy-sensitive, with EU visitors | A self-hosted plugin or Plausible, checked with counsel | Less data shared; consent still depends on the method (see below) |
| A WooCommerce store | WooCommerce order attribution plus a GA4 connector or a plugin with ecommerce tracking | Revenue by source, not just visits |
| A high-traffic site on modest hosting | GA4 or a hosted service | Keeps tracking writes off your database |
| Measured on leads or revenue | Any of the above plus conversion values by landing page | Traffic alone does not show which pages pay |
Whatever you pick, judge it on five things:
- Data ownership: Google, your database, or a vendor’s servers.
- Conversions: can it count form submissions, calls, email clicks and purchases, not just pageviews?
- Load: what it does to page speed, and to your database if it is self-hosted.
- Who reads it: a simple dashboard that gets opened beats a deep tool that does not.
- Exit cost: self-hosted plugins and GA do not import each other’s history (Matomo’s GA import is the exception), so switching later means starting a new baseline.
Self-Hosted Analytics and Site Performance
The script itself is rarely the problem. Most plugins load it asynchronously, and a single request per pageview is cheap. The cost of self-hosted analytics shows up in two places:
- The database grows with traffic. Every visit becomes rows in your WordPress database. Vendors publish storage estimates; read them, and turn on the retention or auto-purge setting so you keep one to three years, not everything forever.
- The admin dashboard slows before the site does. Reports query large tables, so busy sites see slow stats pages first. If that happens, archive old data, move to a plugin with an external database option, or switch to a hosted tool.
Page caching matters too. Modern plugins track with a JavaScript request, which works on cached pages, but you need to purge the cache once after installing so the script appears on every page. A plugin that counts visits while WordPress builds the page will miss visits served from cache unless it has a cache-compatibility setting.
Cookies, Consent and the “No Banner” Claim
Several ranking pages say cookieless plugins are GDPR compliant and need no consent banner. That is too simple. In the EU, the rule that triggers banners is Article 5(3) of the ePrivacy Directive, and the European Data Protection Board’s Guidelines 2/2023 state that it does not apply only to cookies but to similar technologies too, and that device fingerprinting falls within its scope. Whether consent is needed then depends on whether one of the Article’s exemptions applies to your use.
The ranking pages contradict each other here. The same results that promise “no banner” include a plugin whose own FAQ says it recognizes repeat visitors with a fingerprinting technique. So read how a tool identifies visitors, not just whether it sets cookies:
- Google Analytics connectors set GA cookies and send data to Google. In the EU and UK they usually run behind a consent banner, and visitors who decline are missing from your reports.
- Cookieless tools reduce what is stored and shared, which is a real privacy gain. Whether they are exempt from consent depends on the method and your jurisdiction.
- Outside the EU and UK the rules differ by country and US state. Many US sites run cookieless analytics without a banner; sites with heavy EU traffic should get a legal opinion on the specific tool.
Our guide to cookieless conversion tracking covers what you can and cannot measure without cookies.
Can You Run Two Analytics Plugins at Once?
Two of the ranking guides say no, because of slowdowns and conflicting data. One plugin vendor says yes, it runs fine next to Google Analytics. Both are partly right, and the difference is what the two plugins do:
- Two different tracking systems are fine. A self-hosted plugin next to GA4, or GA4 next to Clarity, measure separately. Expect their numbers to differ, and decide which tool owns which metric.
- Two copies of the same GA4 tag are not. If a theme setting, Site Kit and MonsterInsights each insert your G- ID, every pageview is counted twice or more. Engagement looks great and conversion rates halve.
Open your homepage, view the page source and search for your measurement ID (G-...). It should appear in one tag only. In GA4 Realtime, load one page in a private window: one page_view per load is correct, two means a duplicate. Remove the extra copy from the theme, the header-code plugin or the second connector.
How to Add GA4 to WordPress Without a Plugin
You can skip the plugin entirely if you only need the GA4 tag. Google’s setup guide for Analytics says to paste the Google tag immediately after the opening head tag on every page, and notes that data can take up to 30 minutes to start.
- Create a GA4 web data stream. In Google Analytics, create a property and a web data stream for your domain, then open the stream details to find the Google tag and your measurement ID.
- Use a child theme. Put the code in a child theme or a small site-specific plugin. Edits to a parent theme’s header.php are wiped by the next theme update.
- Add the tag with a wp_head hook. Paste the snippet below into functions.php with your own ID. Priority 1 prints it near the top of the head.
- Clear caches. Purge your caching plugin, host cache and CDN so cached pages pick up the tag.
- Verify in Realtime. Open the site in a private window and confirm your visit appears in the GA4 Realtime report.
// In your child theme's functions.php (or a site-specific plugin)
add_action( 'wp_head', function () {
if ( is_user_logged_in() ) {
return; // optional: skip your own visits while logged in
}
?>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
<?php
}, 1 );This gives you GA4 with no dashboard inside WordPress and no automatic form, link or ecommerce events. You set those up in GA4 or Google Tag Manager yourself. If your theme or host already has a “Google Analytics ID” field, use that instead and do not add the snippet as well.
Check That Your Analytics Plugin Tracks Correctly
After installing, visit the site in a private window, then look for the visit in the plugin’s real-time view or GA4 Realtime. If nothing shows up, or the numbers look wrong, work through this table:
| Symptom | Likely cause | Fix |
|---|---|---|
| Your own test visits never appear | Many plugins skip logged-in admins, some by default | Test logged out in a private window |
| Some pages show no visits | Cached pages were saved before the script was added | Purge page cache, host cache and CDN |
| GA4 far lower than the plugin | Consent banner declines and ad blockers stop GA requests | Compare by country; expect GA4 to be lower in the EU |
| Pageviews roughly double sessions | Duplicate GA4 tag | Search the page source for your G- ID and keep one |
| Spikes from odd referrers | Bots or referral spam | Check the plugin’s bot filtering; exclude spam sources |
| Staff visits inflate traffic | Internal traffic counted | Exclude office IPs or user roles in the plugin settings |
| Totals shift by a day | Different time zones | Match the plugin, WordPress and GA4 time zones |
A plugin and GA4 will never match exactly. They count visitors differently, one may be blocked or declined more often, and they filter bots differently. A steady gap is normal; a gap that changes suddenly points to one of the causes above.
WooCommerce: Revenue and Order Attribution
For a store, pageviews matter less than which sources produce orders. WooCommerce has this built in. WooCommerce’s Order Attribution records the source type of each order (such as Organic: Google, Referral, Direct or a UTM campaign), the UTM parameters, the referring URL, the device type and how many pages the session viewed. It shows on each order and in an origin column on the Orders list. Three limits to know:
- It uses last-click attribution, so the final source before purchase gets full credit.
- It sets session cookies to remember the source, so it falls under your consent setup like any other cookie.
- It only covers orders placed while the feature is enabled. There is no backfill.
For trends by channel and landing page, pair it with an analytics tool that receives purchase events: a GA4 connector with ecommerce tracking, or a self-hosted or hosted tool with a WooCommerce integration.
From Pageviews to Leads and Revenue by Landing Page
Most WordPress sites are not stores. They are service, B2B or local business sites where the conversion is a form, a call or an email. A traffic plugin tells you which posts are popular. It does not tell you which pages produce customers. To get there, count those conversions, give each one a value, and report value per landing page and channel. Here is an illustrative example for a roofing company on WordPress.
| Landing page (channel) | Sessions | Quote requests | Conv. rate | Value | Value per session |
|---|---|---|---|---|---|
| /services/roof-repair (organic search) | 900 | 27 | 3.0% | $16,200 | $18.00 |
| /blog/new-roof-cost (organic search) | 5,000 | 10 | 0.2% | $6,000 | $1.20 |
| /contact (AI assistants) | 120 | 6 | 5.0% | $3,600 | $30.00 |
The arithmetic: 27 requests × $600 = $16,200, and $16,200 ÷ 900 sessions = $18.00. The blog post wins on traffic and loses on value per visit, which is the opposite of what a pageview chart suggests. The AI assistant row is small; with six conversions, watch it for a few months before acting on it.
To build this yourself, set a value per lead (our guide on how to calculate conversion value shows how), send it with your form, call and email conversion events, and report by landing page and channel. The full method for organic search is in our SEO conversion tracking guide. SEOConversion does this on WordPress with one script: it captures form submits, tel and mailto clicks automatically, reads the WooCommerce dataLayer, and reports conversions and value from Google, Bing and AI assistants by landing page.
Seeing ChatGPT and AI Assistant Visits in WordPress
People now reach WordPress sites from links in ChatGPT, Perplexity, Claude, Gemini and Copilot. None of the plugin roundups mention it, and each tool handles it differently:
- Self-hosted and hosted plugins usually list the assistant as a referrer, such as chatgpt.com or perplexity.ai. Filter your referrer report by those domains to see the visits and which pages they land on.
- GA4 connectors show whatever GA4 records, and GA4 puts these visits in the Referral channel by default, mixed with every other linking site. Create a custom channel group for AI assistants so they appear as their own line.
- Visits with no referrer, for example from some apps, land in Direct. No plugin can recover them, so treat AI traffic counts as a floor.
The setup, including a channel group rule and how to tie these visits to conversions, is in our guide to AI conversion tracking.
FAQ
What is the best free WordPress analytics plugin?
If you want Google Analytics data inside WordPress at no cost, Site Kit by Google is the official free option and also shows Search Console data. If you would rather not use Google at all, Independent Analytics, WP Statistics and Burst Statistics have free versions that store stats in your own database. Pick by the question you need answered, not by the size of the feature list.
Does WordPress have built-in analytics?
Self-hosted WordPress (WordPress.org software) has no analytics built in, so you add a plugin or a tracking script. WordPress.com sites include Jetpack Stats, and Jetpack can add the same stats to a self-hosted site. WooCommerce adds its own sales reports and order attribution for stores.
Do I need Google Analytics if I use an analytics plugin?
Only if the plugin is a Google Analytics connector. MonsterInsights, ExactMetrics, Analytify and Site Kit display GA4 data, so they need a GA4 property. Self-hosted plugins such as Independent Analytics, WP Statistics, Burst and Slimstat, and hosted tools such as Plausible, collect their own data and need no Google account.
Is MonsterInsights better than Site Kit?
They do different jobs. Site Kit is free and pulls several Google products (Analytics, Search Console, AdSense, PageSpeed Insights) into one dashboard with fairly basic reports. MonsterInsights is a paid-tier GA4 connector focused on easier reports and tracking extras such as ecommerce, forms and outbound links. If you only need to install GA4 and glance at traffic, Site Kit is enough.
Do analytics plugins slow down WordPress?
GA connectors and hosted tools add a script that loads asynchronously, which most visitors never notice. Self-hosted plugins also write each visit to your WordPress database, so on high-traffic sites they can add database load and make the admin dashboard slower. Use data retention or archiving settings, and check how the plugin behaves with your page cache.
How do I add Google Analytics to WordPress without a plugin?
Copy the Google tag from your GA4 web data stream and output it in the site head, for example with a wp_head hook in a child theme’s functions.php. Google says to place the tag immediately after the opening head tag on every page. Then confirm your visit appears in the GA4 Realtime report.
See which WordPress pages turn visits into revenue.
SEOConversion adds to WordPress with one script, captures form submits, phone and email clicks and WooCommerce orders automatically, and shows the conversions and value Google, Bing and AI assistants bring to each landing page.
Start free