Title: PineCount – Analytics, Page Views, Live Visitors, AdSense
Author: Ritesh
Published: <strong>2026-09-26</strong>
Last modified: 2026-09-26

---

Search plugins

![](https://ps.w.org/pinecount/assets/banner-772x250.png?rev=3714823)

![](https://ps.w.org/pinecount/assets/icon.svg?rev=3714812)

# PineCount – Analytics, Page Views, Live Visitors, AdSense

 By [Ritesh](https://profiles.wordpress.org/riteshx100/)

[Download](https://downloads.wordpress.org/plugin/pinecount.1.0.2.zip)

 * [Details](https://tt.wordpress.org/plugins/pinecount/#description)
 * [Reviews](https://tt.wordpress.org/plugins/pinecount/#reviews)
 *  [Installation](https://tt.wordpress.org/plugins/pinecount/#installation)
 * [Development](https://tt.wordpress.org/plugins/pinecount/#developers)

 [Support](https://wordpress.org/support/plugin/pinecount/)

## Description

PineCount records pageviews in your site’s own database and shows them in a clean
dashboard inside wp-admin. Nothing is sent to a third-party analytics service.

It works with full-page caching: a small script reports each pageview from the browser,
so cached pages are counted too.

**What you get**

 * Pageviews, visitors, sessions and views per visit, by hour, day, week or month.
 * Top pages, entry pages, referrers, traffic sources, devices and on-site searches.
 * Comparison with the previous period.
 * A dashboard widget and an admin bar counter for today’s numbers.
 * Optional live visitors, using the Redis server your object cache already uses.
 * Optional Google AdSense earnings, page views, RPM and CTR next to your traffic.
 * A read-only REST API, protected by a key you generate, for pulling reports into
   other tools.
 * Data retention from 30 days to 5 years, and excluded paths with wildcards.

**Privacy**

 * No cookies and no persistent visitor ID. A visitor is identified only by a hash
   of their IP address and browser, mixed with a secret salt that changes every 
   day, so nobody can be followed from one day to the next. The IP address itself
   is never stored.
 * Sessions use the browser’s per-tab session storage, which is cleared when the
   tab closes.
 * Logged-in users are not tracked unless you turn that on.
 * You can honour the browser’s Do Not Track signal from the settings.
 * All data stays in your WordPress database.

### External services

This plugin connects to Google only if you choose to connect Google AdSense in its
settings. Until you do, it makes no external requests.

**Google OAuth** (accounts.google.com, oauth2.googleapis.com) is used to authorise
read-only access to your AdSense account.

 * When you click “Connect with Google”, your browser goes to Google’s sign-in page
   with your OAuth client ID.
 * After you approve, the plugin sends your OAuth client ID, client secret and the
   authorisation code to Google to get a refresh token. The token is stored encrypted
   in your database.
 * Before each report request, the plugin sends the client ID, client secret and
   refresh token to get a short-lived access token.
 * When you click “Disconnect”, the refresh token is sent to Google to be revoked.

**Google AdSense Management API** (adsense.googleapis.com) is used to read your 
earnings.

 * While connected, the plugin requests today’s estimated earnings, page views and
   clicks for your site every 10 minutes, and the last 7 days once a day, so Google’s
   later corrections are picked up.
 * It also lists your AdSense accounts and sites once when you connect, to find 
   the site that matches this website.
 * Only your access token and the account and site IDs are sent. No visitor data
   is ever sent to Google.

Google’s terms and privacy policy:

 * Google Terms of Service: https://policies.google.com/terms
 * Google APIs Terms of Service: https://developers.google.com/terms
 * Google Privacy Policy: https://policies.google.com/privacy

## Screenshots

[⌊Pageviews and visitors by hour, with AdSense earnings, RPM, CTR and clicks.⌉⌊Pageviews
and visitors by hour, with AdSense earnings, RPM, CTR and clicks.⌉[

Pageviews and visitors by hour, with AdSense earnings, RPM, CTR and clicks.

[⌊Top pages, referrers, traffic sources, devices, on-site searches and entry pages.⌉⌊
Top pages, referrers, traffic sources, devices, on-site searches and entry pages
.⌉[

Top pages, referrers, traffic sources, devices, on-site searches and entry pages.

[⌊The full Top pages table, with entries, bounce rate and live users for each page.⌉⌊
The full Top pages table, with entries, bounce rate and live users for each page
.⌉[

The full Top pages table, with entries, bounce rate and live users for each page.

[⌊Settings, one section at a time.⌉⌊Settings, one section at a time.⌉[

Settings, one section at a time.

[⌊The last seven days on the WordPress dashboard.⌉⌊The last seven days on the WordPress
dashboard.⌉[

The last seven days on the WordPress dashboard.

## Installation

 1. Install the plugin from the Plugins screen, or upload the `pinecount` folder to`/
    wp-content/plugins/`.
 2. Activate it. Tracking starts straight away.
 3. Open **Analytics** in the admin menu to see your dashboard, and **Analytics  Settings**
    to adjust tracking, retention and the optional features.

**Live visitors (optional)**

Live visitors need a Redis server. The plugin reads the same `WP_REDIS_*` constants
in `wp-config.php` that the Redis Object Cache plugin uses, so if your object cache
already runs on Redis there is nothing else to set up.

**Google AdSense (optional)**

 1. In Google Cloud, create an OAuth client of type “Web application” and enable the
    AdSense Management API.
 2. Add the redirect URI shown in **Analytics  Settings  AdSense** to that client.
 3. Paste the client ID and secret into the settings, save, and click **Connect with
    Google**.

## FAQ

### Does it work with page caching?

Yes. Pageviews are reported from the browser, so pages served from a cache are still
counted.

### Does it use cookies?

No. See the Privacy section above.

### Where is the data stored?

In five tables in your WordPress database, prefixed `pinecount_`. You choose how
long raw pageviews are kept.

### What happens when I delete the plugin?

By default, deleting the plugin removes its tables and settings. Turn off “Delete
all data on uninstall” in the settings if you want to keep them.

### Is there an API?

Yes. Generate a key in the settings, then send it in the `X-PineCount-Key` header.
The full reference is under **Analytics  Settings  API**.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“PineCount – Analytics, Page Views, Live Visitors, AdSense” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ Ritesh ](https://profiles.wordpress.org/riteshx100/)

[Translate “PineCount – Analytics, Page Views, Live Visitors, AdSense” into your language.](https://translate.wordpress.org/projects/wp-plugins/pinecount)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/pinecount/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/pinecount/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/pinecount/) by [RSS](https://plugins.trac.wordpress.org/log/pinecount/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * Renamed to PineCount.
 * New: Settings link on the Plugins screen.
 * New: Check connection button in the Live visitors settings, to test the Redis
   server.
 * Tweak: The live visitors requirements notice is hidden once live visitors are
   switched on.
 * Tweak: The API key header is now X-PineCount-Key.
 * Tweak: The Analytics menu now sits below the core WordPress menus.
 * Tweak: Stricter escaping of icons and the API documentation page, and stricter
   sanitizing of settings.

#### 1.0.1

 * Fix: Saving the settings page now works.
 * Tweak: All admin and widget styles, IDs and data attributes now use the unique
   pinecount prefix, to avoid clashes with other plugins.
 * Tweak: Removed leftover code for moving data from an earlier development version.

#### 1.0.0

 * First public release.

## Meta

 *  Version **1.0.2**
 *  Last updated **3 сәгать ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/pinecount/)
 * Tags
 * [adsense](https://tt.wordpress.org/plugins/tags/adsense/)[analytics](https://tt.wordpress.org/plugins/tags/analytics/)
   [pageviews](https://tt.wordpress.org/plugins/tags/pageviews/)[privacy](https://tt.wordpress.org/plugins/tags/privacy/)
   [statistics](https://tt.wordpress.org/plugins/tags/statistics/)
 *  [Advanced View](https://tt.wordpress.org/plugins/pinecount/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/pinecount/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pinecount/reviews/)

## Contributors

 *   [ Ritesh ](https://profiles.wordpress.org/riteshx100/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/pinecount/)