OG Analytics

Description

OnlyGrow Analytics (OG Analytics) records how people use your site and keeps everything in your own WordPress database. Nothing is sent to a third party.

What it records

  • Page views, sessions and time on page — today’s numbers include the visits that just happened, no waiting for a cron.
  • Missing pages (404): which removed or mistyped addresses still get visits.
  • Traffic sources: referrers, UTM campaigns and click IDs (fbclid, gclid, ref).
  • Devices, browsers and operating systems.
  • Bounce rate, daily totals and weekly/monthly retention.
  • A sortable “Views” column in your posts and pages lists.

What you see

  • A dashboard with the visits chart, today’s key numbers compared with the same time yesterday (or the previous period), visitors online, and the top pages, sources, devices and countries with a world map.
  • Reports for visitors, pages and entry pages.
  • Inside WordPress: the views of each post in the admin bar, a chart of the post in the block editor sidebar and a chart on the WordPress dashboard.

How it works

A small script (about 2 KB) sends each event to your own site, which queues it in a file and processes the queue in batches. Recording a visit does not load WordPress: it costs one file write, not a set of database queries. Because the script runs in the visitor’s browser, counting keeps working when pages are served from a cache.

Reports read daily summaries for past days and the raw data only for today, so they stay fast as your site grows. The processing adapts to traffic spikes on its own: nothing to configure.

Days and hours follow your site’s timezone (Settings General). Speed testers such as PageSpeed and automated browsers are not counted.

Referrer spam and known bots are left out of your numbers out of the box: visits from more than 2,000 known spam sites (the public domain list maintained by the Matomo community) and from known bots are detected and kept apart, so they never inflate your statistics. The spam list ships inside the plugin and is updated with each release, so nothing is downloaded. You can view it, or choose to count these visits, in Settings Exclusions.

You can also leave out content types, IP addresses and custom rules (Settings Exclusions). Excluded visits are not saved.

Ad blockers often block addresses that contain words like “analytics”. With ghost mode (on by default, Track settings), the script and the address that receives visits use a neutral name unique to your site. Your data still never leaves your site.

Logged-in users are counted too, including you: visit your site and your own visit shows up right away, so you can check it works.

Privacy

All visitor data stays in your own database. No visitor data is ever sent to a third party.

  • Visitors are identified by a random ID kept in the browser’s local storage. No cookies are set by default.
  • The visitor’s IP address is stored without its last part (203.0.113.0) by default, as Google Analytics does. The country and city are found with the full address before it is stored, so nothing is lost. You can turn this off in Settings Data “Anonymize IP addresses”.

External services

To show countries and cities, the plugin downloads the free IP to City Lite database from DB-IP (https://db-ip.com) once after activation and then once a month. The file is stored in your uploads folder and every lookup happens on your own server: no IP address is sent anywhere. Only the database file is downloaded; nothing about your site or visitors is uploaded.

  • Source: https://download.db-ip.com/free/
  • License: Creative Commons Attribution 4.0 (https://creativecommons.org/licenses/by/4.0/) — IP Geolocation by DB-IP (https://db-ip.com)
  • Terms and privacy: https://db-ip.com/legal

Installation

  1. Install and activate the plugin.
  2. Visit your site while logged out (for example, in a private window).

FAQ

What happens to my data if I delete the plugin?

By default your statistics stay in the database, so they come back if you install the plugin again. To remove everything when you delete the plugin (its tables, settings and files), go to Settings Data, turn on “Delete all data when the plugin is uninstalled” and type “delete all data” to confirm. Saving that deletes nothing: the data is only removed when you delete the plugin from the Plugins page.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“OG Analytics” is open source software. The following people have contributed to this plugin.

Contributors

Translate “OG Analytics” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.2.03

  • A simpler, cleaner dashboard and reports.

0.2.02

  • New dashboard: visits chart, key numbers compared with the previous period, visitors online, and top pages, sources, devices and countries with a world map.
  • New reports: Visitors, Pages and Entry pages.
  • Inside WordPress: views in the admin bar, a chart in the block editor sidebar and on the WordPress dashboard.
  • Referrer spam and known bots are kept out of your numbers.
  • Ghost mode (on by default): the script and the address that receives visits use a neutral name, so ad blockers don’t stop them.
  • IP addresses are now anonymized by default. Addresses stored before are anonymized once, in the background (this cannot be undone).
  • New “AI Assistants” channel: visits from ChatGPT, Perplexity, Gemini, Claude, Copilot and others no longer count as Referral.
  • iPads and Android tablets are now counted as tablets (before: desktop and mobile).
  • The real screen size and pixel density of each device are recorded.
  • Campaigns (UTM) are kept forever, by source, medium, campaign, term and content.
  • A session is shared by all the tabs of the same browser.
  • A bounce is now a single-page visit of less than 10 seconds with no interaction.
  • Visits by logged-in users record which user it was.

0.2.01

  • New analytics engine: sessions, visitors, sources, campaigns, devices, events, bounce rate, daily totals and retention.
  • Events are queued and processed in batches.