Adding privacy-friendly analytics to WordPress
How to measure a WordPress site's audience without cookies or a banner, track WooCommerce conversions server-side, and stay GDPR-compliant.
Contents
WordPress powers an enormous share of the web, from personal blogs to WooCommerce stores that process thousands of orders a month. To measure their audience, most of these sites install a plugin that drops Google Analytics onto every page, usually alongside a cookie banner and a handful of third-party scripts. This works, but it brings its own set of problems: slower pages, an intrusive banner, and GDPR compliance that always feels uncertain. Here we walk through a leaner way to give a WordPress site reliable audience measurement, without cookies or consent, including tracking sales on a WooCommerce store.
Why the usual approach is a problem
The typical reflex is to install an analytics plugin that injects a Google Analytics script into every page. The first visible effect is weight: between the measurement script, the consent-management library, and the advertising tags that often come with it, a WordPress page can load several hundred kilobytes of JavaScript before it even shows its content. On mobile, over an average connection, that overhead is paid in seconds of waiting and a degraded performance score.
The second effect is legal. As soon as a tracker sets a cookie and transfers data to servers outside the European Union, you have to display a consent banner and obtain explicit agreement before any collection. That is constraining, it degrades the experience, and it skews the measurement: a large share of visitors refuse or ignore the banner, so your statistics only ever cover a fraction of the traffic. You end up with a heavy, intrusive setup that is still incomplete.
Finally, maintenance is not free. Every added plugin widens the site’s attack surface, needs regular updates, and can conflict with the theme or other extensions. For a simple audience count, that is a lot of technical debt.
The principle of cookieless measurement
Privacy-first analytics flips the logic around. Instead of collecting as much as possible and then trying to become compliant after the fact, it measures only what is needed to understand the audience: the number of visits, the pages viewed, traffic sources, the breakdown by country or device. No cookie is set, no advertising profile is rebuilt, and no data leaves Europe.
This approach falls outside the scope that requires a consent banner for trackers, precisely because there is no tracker to consent to. Measurement becomes a technical function of the site, much like a server’s logging, rather than a risky processing activity you have to justify. At Takt, that is the principle we chose from the start: a managed service hosted in Europe, a script of around 2.5 kilobytes, and no individual identification of visitors. You can compare this approach with Google Analytics on our comparison page.
Installing Takt on WordPress
In practice, there are two ways to equip a WordPress site. The simplest is to paste the small measurement script into the theme’s header. Most modern themes and page builders offer a field for inserting code into the head section, and some general-purpose header-management extensions do the job too. The script loads asynchronously, without blocking the page from rendering, and starts recording visits immediately.
The second way, which we recommend for WooCommerce stores or for anyone who prefers not to edit their theme, uses our dedicated WordPress plugin. Once installed and activated, it inserts the script cleanly on every page, handles updates automatically, and exposes simple settings in the admin area: site identifier, domain, optional exclusions. You never touch the theme’s code, which means you won’t lose everything at the next theme update.
In both cases, page-view measurement works with no further configuration. A blog, a brochure site, or a content portal has nothing more to do to get a complete audience dashboard.
Tracking WooCommerce conversions server-side
It is on stores that the difference becomes clear. Sales tracking based purely on browser-side JavaScript is fragile: an ad blocker, a tab closed too early, or a payment completed on an external page is enough to miss an order. As a result, the revenue attributed in the analytics tool never quite matches the back office.
Our WooCommerce plugin solves this by sending the conversion event server-side (server-to-server), at the moment the order actually changes state in WooCommerce. When an order moves to “completed” or “processing,” WordPress sends Takt a revenue event directly, with the amount and currency, without depending on the customer’s browser. This measurement is reliable by construction: it cannot be blocked by a browser extension, nor lost because the visitor closed their tab too quickly.
You get revenue tracking that is consistent with your real orders, which you can then reconcile with traffic sources to learn which channels actually pay off. Combined with conversion funnels and goals, this gives an honest read on the store’s performance, without ever individually tracking buyers.
What you gain
The first gain is performance. By replacing a stack of advertising scripts with a single lightweight file, a WordPress page loads faster, improves its speed metrics, and offers a better first impression. On a store, a few tenths of a second saved at load time often translate directly into conversion rate.
The second gain is legal peace of mind. With no tracking cookie and no data transfer outside Europe, you step out of the grey zone that has weighed on Google Analytics since the Schrems II ruling, and you can remove the consent banner tied to audience measurement. Your statistics then cover all traffic, not just the fraction of visitors who clicked “Accept.”
The third gain is reliability. Server-side tracking of WooCommerce conversions finally reconciles the analytics figures with the back office, which changes everything when deciding where to invest in acquisition.
In summary
Equipping a WordPress site with audience measurement should not force a cookie banner, a stack of advertising scripts, or a permanent doubt about compliance. By placing a lightweight, cookieless script hosted in Europe — directly in the theme’s header or through a dedicated plugin — you measure the bulk of your traffic without tracking anyone. For WooCommerce stores, server-side conversion tracking adds reliable revenue that is immune to blockers and consistent with real orders. You gain faster pages, compliance by default, and figures that reflect the real audience. For most WordPress sites, that is a far better trade-off than stacking extensions to make an unacceptable tool acceptable.
Take the next step
Measure your audience without a consent banner.
See Takt in action, then install cookieless analytics on your site.
Read next
Adding analytics to a React or Next.js app without cookies
How to measure a React or Next.js application without cookies or a banner, handling the router's client-side page changes correctly.
July 26, 2026· 7 min read
GuidesDefining conversion goals
What a conversion goal is, how to choose ones that truly matter, and how to measure them without tracking the individual or misreading the rate.
June 15, 2026· 6 min read
GuidesHow to migrate from Google Analytics to Takt in minutes
A practical, step-by-step guide to replacing Google Analytics with Takt: installing the script, migrating goals, running both in parallel and removing the cookie banner.
July 26, 2026· 7 min read
Stay in time
An occasional email on privacy, compliance and Takt news. No tracking, no spam.
Your email is only used to send the newsletter, never sold.