

Overview: visitors, visits, page views, bounce rate and time on page, compared with the period before, plus the bots that were kept out
Simple, private and free WordPress analytics that count real people, not bots.
Most stats plugins count everything that loads a page. Bots, crawlers, uptime monitors and AI scrapers all end up in your visitor numbers. Your traffic can look twice as big as it really is.
ConvertNow Analytics counts a visit only when a real person sees the page. Every bot it leaves out is listed by name, so you can check the numbers yourself.
No cookies. No Google account. No paid plan. Your data stays in your own WordPress database.
Want to try it first? Press Live Preview above to open a full demo with 90 days of sample traffic.
That’s it. There is no code to paste and no account to create. Tracking starts right away, and caching plugins, CDNs and Cloudflare are handled for you.
A visit only counts when a real browser shows the page on screen and a person is there to see it. Crawlers, headless browsers, rendering farms, uptime monitors and cloud servers are refused. Requests that pretend to be Googlebot or another known crawler are caught too. You can see all of it under Filtered Traffic, by name and by reason.
Visitors are counted with an anonymous code that changes every day. No cookies are set and no IP addresses are stored. Nothing about your visitors is ever sent to another company. It is built to be GDPR and CCPA friendly, and many sites use it without a cookie banner for analytics. Settings gives you a ready to paste paragraph for your privacy policy.
Moving from another tool? Import your past traffic from Google Analytics 4, Independent Analytics, Burst Statistics, Koko Analytics, WP Statistics, Matomo, Plausible or any CSV export. Preview first and undo any time.
Put your own logo and colours on the dashboard and emails. Give clients a read only login, send them a branded monthly report, and copy your setup to the next client site in one step.
50+ reports in all, with filters, presets and CSV export.
Links: Documentation · Support forum · [email protected]
Tracking, reporting, goals, funnels, journeys, retention, segments, cohorts, insights, alerts, country lookups and exports all run on your own server against your own database. There is no activation call, no licence check and no key. Nothing about your visitors ever leaves your site under any setting. The plugin makes the background requests below, and each one can be switched off.
Apple iCloud Private Relay exit list (on by default)
Once a week the plugin downloads https://mask-api.icloud.com/egress-ip-ranges.csv, the list Apple publishes of the addresses Private Relay traffic leaves from. It is used only so that Safari readers using Private Relay are not refused as data centre traffic. The request sends nothing but your server’s own address, the way any download does. Switch it off in Settings, Tracking, Data centre addresses. Apple’s terms: apple.com/legal/internet-services/terms/site.html. Apple’s privacy policy: apple.com/legal/privacy.
Site icons (on by default)
Icons for the major search engines, social networks and AI assistants ship inside the plugin and need no request at all. For any other referring site, the plugin fetches its icon in the background from the site’s own address (its home page and /favicon.ico, then the parent domain for a subdomain). When a site refuses requests from servers, the icon is fetched from DuckDuckGo’s public icon service at https://icons.duckduckgo.com/ip3/, which is told the site’s host name and nothing else. Fetched icons are stored under uploads and served from your own site; opening the dashboard requests nothing from anybody else. Switch fetching off in Settings, Display, Site icons (bundled icons still show), or keep it and stop only the DuckDuckGo fallback with the cnwa_icon_fallback_service filter. DuckDuckGo’s terms: duckduckgo.com/terms. DuckDuckGo’s privacy policy: duckduckgo.com/privacy.
Alert webhook (off by default)
If you enter a webhook address under Settings, Alerts, each alert is posted to that address, and only to that address. The request carries the alert’s title and sentence, your site’s address and a link to the dashboard. Where it goes is the service you chose, under that service’s own terms.
Report a bug (only when you press Send)
Settings has a Report a bug card. When an administrator presses Send report, your site’s own mail sends one email to [email protected], the author’s support address, with the description and reply address you typed and, unless you untick it, a diagnostic report. The report is shown in full on that screen before you send it: your site address, WordPress, PHP and database versions, active plugins and theme, this plugin’s settings with every address and email field left out, Tracking health, daily totals, table sizes and the plugin’s own lines from the debug log, with any address in them masked. It never contains visitor IP addresses, visitor hashes, page paths or anything else about your visitors. Nothing is sent at any other time. The same report can be downloaded as a text file instead.
Anonymous usage reporting (off by default)
If, and only if, you switch this on, the plugin sends one report a month, and one after each plugin update, to convertnow.tools, the author’s site, at https://convertnow.tools/wp-json/cnwa-hub/v1/report. It exists so the author can see which versions are in use and how the plugin is actually being used, and it is used for nothing else.
It is off on every install. You are asked once, on the plugin’s own screen and only after the plugin has a week of your own data, with the exact payload from your site shown to you before you decide. Declining is remembered permanently. If you never answer, nothing is ever sent. You can switch it on or off at any time in Settings, Data retention, Anonymous usage report. Switching it off removes the scheduled event immediately and sends one last request to the same address, carrying only your site address, the install date and the plugin version, which asks convertnow.tools to delete every report your site sent. Nothing is sent after that.
This is the complete payload, and there is nothing else in it:
It contains nothing about your visitors: no page paths, no referrers, no IP addresses, no visitor hashes, no user accounts, no email addresses, no post or page titles. The request is sent once every 30 days and once after each update, and a failure is silent.
Terms of service: convertnow.tools/terms. Privacy policy: convertnow.tools/privacy.
Requests to your own site
The daily health check loads your own home page and posts a test beacon to your own collector, both at your own address. Nothing leaves your server.
The country lookup tables and the address lists that Google, Bing, Apple, DuckDuckGo, OpenAI and Perplexity publish for their crawlers ship inside the plugin and are read from disk. There is nothing to download and nothing to import.Links
Bundled data
IP Geolocation by DB-IP, used under CC BY 4.0.
Data centre detection reads two plain text tables built from the X4BNet datacenter lists, MIT licensed, plus a short supplement of documented cloud supernets: assets/data/dc-ipv4.csv and assets/data/dc-ipv6.csv, in the same boundary format as the country tables. The build script is tools/build-dc-tables.py in the development sources.
Brand icons in assets/icons/ come from SVG Logos and Simple Icons (CC0), Lobe Icons (MIT) and Font Awesome Free (CC BY 4.0). assets/icons/CREDITS.txt lists which is which. Every trademark belongs to its owner; the icons are used only to identify the site a visit came from.
Crawler checks read includes/crawler-ranges.php, built from the address lists Google, Bing, Apple, DuckDuckGo, OpenAI and Perplexity publish for their own crawlers.
Country lookups read two plain text tables built from the DB-IP IP to Country Lite database: assets/data/geo-ipv4.csv and assets/data/geo-ipv6.csv. Every line is one boundary, written as an uppercase hex address prefix and an ISO 3166-1 alpha-2 country code, so both files can be opened and read in any text editor. The world map outlines are plain JSON path data at assets/data/world.json. Nothing in the plugin is compiled, minified or obfuscated.