

The Overview: visitors, visits, views, bounce rate and time on page, with the chart's optional trend, average, unusual-day and forecast layers switched on
Most analytics tools count anything that runs JavaScript, so a self hosted counter can report several times the traffic a site really has. Screenshot services, uptime checks, SEO auditors and a growing crowd of AI agents all run a full browser now.
ConvertNow counts people. A pageview has to render on screen, then somebody has to move, scroll, tap, or stay for two seconds. It also has to come from somewhere people actually read from, not a cloud data center. Everything refused is kept, named, and shown to you under Filtered Traffic, never quietly dropped.
AI and machine traffic, measured, not mixed in
Nobody else treats this as the main event. ConvertNow gives you a chart of people against machines, the pages GPTBot, ClaudeBot and the other crawlers read most, the assistants that actually send readers to you, what every refused request was and when it came, and a Proof of Presence report that shows what convinced the plugin each counted view was real. A crawler is never a visitor, and an assistant fetching a page on somebody’s behalf is interest, not attendance.
Everything else you expect
Visitors, visits, views, real bounce rate and time on page. Pages, entry and exit pages, referrers, channels, campaigns, countries, languages, browsers, devices. Goals, funnels, journeys, retention, segments and cohorts. Traffic by author and content type. WooCommerce and Easy Digital Downloads revenue attributed to the visit behind it. A weekly email, a shareable read only dashboard, CSV and JSON export.
Runs on your own database
No account, no key, no tier held back. The tracker inlines into the footer at about 1.5 KB. Raw hits roll up into daily summaries hourly, so a year of history costs the same queries as a day. Every chart is plain SVG.
Private by design
No cookies, no localStorage, no persistent identifier. Visitors are a one way hash of IP, user agent and a salt that rotates daily, so nobody is followed past midnight. Raw IP addresses are never stored. Refused requests are stored as counters only: a date, an hour, a kind, a published name, a path on your site. Never an address.
Links
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)
To show a referring site’s icon beside its name, the plugin fetches that icon in the background from the site’s own address (its home page and /favicon.ico). 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. Icons are stored under uploads and served from your own site; opening the dashboard requests nothing from anybody else. Switch it off in Settings, Display, Site icons, or keep the icons 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.
Anonymous usage reporting (off by default)
If, and only if, you switch this on, the plugin sends one report a month 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, 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, and switching it off removes the scheduled event immediately.
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, non blocking, 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 ship inside the plugin as plain text files and are read from disk. There is nothing to download and nothing to import.Links
Both addresses reach the same inbox. Email is usually the faster of the two; the forum is the better place for anything another user might hit as well.
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.
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.