AnGo Scroll Analytics
by andrewgolubev 0 (0 reviews)

AnGo Scroll Analytics

Scroll depth statistics for posts and pages — see how far visitors actually read, by day, month and article.

AnGo Scroll Analytics ranks #57,813 among WordPress.org plugins with 0+ active installations, is #1,567 of 2,002 in the Analytics category, and was last updated Sep 23, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Compatible with WP 7.1.2
v1.6.0 Current Version v1.6.0
Updated 2 hours ago Last Update on 23 Sep, 2026
Refreshed 6 hours ago Last Refreshed on
#1,567 of 2,002 in Analytics Actively maintained
View on WordPress.org
Rank
#57,813
No change
Active Installs
0+
No change
KW Avg Position
139
20.5 worse
Downloads
158
+3 today
Support Resolved
0%
No change
Rating
0%
Review 0 out of 5
0 (0 reviews)

Next Milestone 10

Total Progress 20%
0+ 10+
38,073
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 8 more installs to reach 10+

Rank Changes

52,954 57,194 61,434 65,673 69,913 16-09-2026 17-09-2026 18-09-2026 19-09-2026 20-09-2026 21-09-2026 22-09-2026 23-09-2026
52,954 57,194 61,434 65,673 69,913 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026 17-09-2026 18-09-2026 19-09-2026 20-09-2026 21-09-2026 22-09-2026 23-09-2026
Current #57,813
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 10 20 30 40 50 60 70 16-09-2026 17-09-2026 18-09-2026 19-09-2026 20-09-2026 21-09-2026 22-09-2026 23-09-2026
0 10 20 30 40 50 60 70 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026 17-09-2026 18-09-2026 19-09-2026 20-09-2026 21-09-2026 22-09-2026 23-09-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

0.0
0 reviews
Overall 0%
5
0 (0%)
4
0 (0%)
3
0 (0%)
2
0 (0%)
1
0 (0%)

Frequently Asked Questions

Common questions about AnGo Scroll Analytics

Yes. Every arrival is a row, including the ones with 0% scroll: the percentiles describe all arrivals, not only those who read to the end. That is a deliberate decision, not lost data. The dashboard does distinguish two kinds of zero-scroll visits. A visit that sent nothing after the initial page-load beacon (max_scroll 0 and time on page 0) is "load-and-die" — on a live site those are usually bots, crawlers and link previews, not people. They are excluded from the statistics by default (the Visits card shows how many were left out), while a person who loaded the page and stayed without scrolling — time on page above zero — always counts. The checkbox in the filter bar turns the exclusion off.
Yes — it has to be, because visitors are not logged in. POST /wp-json/ango/v1/depth is limited to 60 requests per minute per IP; the limit is changed through the ango_rate_limit filter, and a value below 1 disables the check. The IP itself is not stored, only a hash of it, for the duration of the window. Behind a proxy (Cloudflare and similar) REMOTE_ADDR is the proxy address, so the limit is shared by all visitors — raise it in that setup.
This plugin measures depth through the scrollable height of the page, not the share of the article that was on screen: a short page that fits on one screen records 100%. And it counts visits, not unique readers — a new tab or a new session is a new visit.
Timestamps in the table (created_at) are stored in UTC, while the dashboard computes day boundaries in the site timezone. Keep that in mind when writing manual SQL against {prefix}_ango_visits.
The tracking script is loaded only on single posts and pages (is_singular( [ 'post', 'page' ] )). To track custom post types as well, add them to that list in ango-scroll-analytics.php, in ango_enqueue_tracker().
No. The chart is drawn by Chart.js 4.5.1, bundled with the plugin (assets/vendor/chart.umd.min.js, MIT license), so wp-admin makes no external request and the chart works offline and behind a filtering proxy.
Chart.js 4.5.1 (MIT) ships here as the minified UMD build that upstream publishes — assets/vendor/chart.umd.min.js, licence banner intact. Upstream has no unminified UMD to use instead: dist/chart.umd.js and dist/chart.umd.min.js in its package are both minified. The readable code is published, just in another build: the unminified ESM bundle is dist/chart.js (https://unpkg.com/chart.js@4.5.1/dist/chart.js), and the sources it is built from are at https://github.com/chartjs/Chart.js/tree/v4.5.1/src.
They are deliberately neutral: the tracking script is assets/js/scroll-depth.js and the public endpoint is /wp-json/ango/v1/depth, with no tracker/track in either. Those words are a common target for filter lists, and a blocked script or beacon loses data silently. Neither EasyList/EasyPrivacy nor the uBlock Origin and AdGuard filters matched these URLs (checked 2026-09-16 under the plugin's previous name; the endpoint paths did not change in the rename), but the lists update daily — so do not rename them back "for clarity".
English is the source language; Russian is a translation (languages/ango-scroll-analytics-ru_RU.po). For the WordPress.org-hosted plugin the catalogue is served by translate.wordpress.org and no translation files ship in the package — the .po lives in the development repository for contributors. A site that installs the plugin from the WordPress.org directory receives community translations automatically; WordPress reads the compiled .mo, so after editing the .po you must rebuild it: msgfmt -o languages/ango-scroll-analytics-ru_RU.mo languages/ango-scroll-analytics-ru_RU.po If gettext is not installed, a minimal Python MO writer does the same job. The test suite checks that the .po and the .mo stay in agreement: python3 tests/run.py
Deleting the plugin removes everything it stored: the {prefix}_ango_visits table, the ango_db_version option and the throttle transients. Deactivating does not — the data survives a deactivate and reactivate cycle, so an upgrade or a temporary switch-off costs nothing. Clicking Delete on the Plugins screen shows a confirmation naming the statistics that will be lost. If you need the numbers after the plugin is gone, export them before deleting, or hold the cleanup back from a must-use plugin with add_filter( 'ango_remove_data_on_uninstall', '__return_false' ).

Sign In / Register

You need to sign in or register to use this feature.