{"id":274019,"date":"2026-04-05T18:51:59","date_gmt":"2026-04-05T18:51:59","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/quantely\/"},"modified":"2026-05-22T14:32:10","modified_gmt":"2026-05-22T14:32:10","slug":"quantely-activity","status":"publish","type":"plugin","link":"https:\/\/oci.wordpress.org\/plugins\/quantely-activity\/","author":23434912,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.5","stable_tag":"1.1.5","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Quantely Activity","header_author":"Erravi","header_description":"Records pageviews and interaction events on your WordPress site.","assets_banners_color":"181816","last_updated":"2026-05-22 14:32:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.erravi.com\/plugins\/quantely-activity\/","header_author_uri":"https:\/\/www.erravi.com\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":381,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"erravi","date":"2026-04-05 18:51:40"},"1.0.5":{"tag":"1.0.5","author":"erravi","date":"2026-05-21 21:45:25"},"1.1.0":{"tag":"1.1.0","author":"erravi","date":"2026-04-06 20:23:51"},"1.1.1":{"tag":"1.1.1","author":"erravi","date":"2026-04-12 12:52:52"},"1.1.2":{"tag":"1.1.2","author":"erravi","date":"2026-04-12 13:22:39"},"1.1.3":{"tag":"1.1.3","author":"erravi","date":"2026-04-12 13:45:35"},"1.1.4":{"tag":"1.1.4","author":"erravi","date":"2026-04-12 14:23:19"},"1.1.5":{"tag":"1.1.5","author":"erravi","date":"2026-05-22 14:32:10"}},"upgrade_notice":{"1.1.5":"<p>Compatibility update confirming testing with WordPress 7.0.<\/p>","1.0.4":"<p>Maintenance update with review hardening and admin-side improvements.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3499301,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3499301,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3542810,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3543929,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3504450,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4","1.0.5","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3499301,"resolution":"1","location":"assets","locale":"","width":1920,"height":1076},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3499301,"resolution":"2","location":"assets","locale":"","width":2870,"height":1608},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3499301,"resolution":"3","location":"assets","locale":"","width":1920,"height":1076},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3499301,"resolution":"4","location":"assets","locale":"","width":1920,"height":1076},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3499301,"resolution":"5","location":"assets","locale":"","width":1920,"height":1076}},"screenshots":{"1":"Live activity stream","2":"Simple counters","3":"Settings and privacy controls","4":"Exclusions and bot handling"}},"plugin_section":[],"plugin_tags":[8531,23519,1486,5603,7175],"plugin_category":[40,54],"plugin_contributors":[259476],"plugin_business_model":[],"class_list":["post-274019","plugin","type-plugin","status-publish","hentry","plugin_tags-activity-log","plugin_tags-diagnostics","plugin_tags-events","plugin_tags-monitoring","plugin_tags-pageviews","plugin_category-calendar-and-events","plugin_category-security-and-spam-protection","plugin_contributors-erravi","plugin_committers-erravi"],"banners":{"banner":"https:\/\/ps.w.org\/quantely-activity\/assets\/banner-772x250.jpg?rev=3504450","banner_2x":"https:\/\/ps.w.org\/quantely-activity\/assets\/banner-1544x500.png?rev=3543929","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/quantely-activity\/assets\/icon-128x128.gif?rev=3499301","icon_2x":"https:\/\/ps.w.org\/quantely-activity\/assets\/icon-256x256.gif?rev=3499301","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/quantely-activity\/assets\/screenshot-1.jpg?rev=3499301","caption":"Live activity stream"},{"src":"https:\/\/ps.w.org\/quantely-activity\/assets\/screenshot-2.png?rev=3499301","caption":"Simple counters"},{"src":"https:\/\/ps.w.org\/quantely-activity\/assets\/screenshot-3.jpg?rev=3499301","caption":"Settings and privacy controls"},{"src":"https:\/\/ps.w.org\/quantely-activity\/assets\/screenshot-4.jpg?rev=3499301","caption":"Exclusions and bot handling"},{"src":"https:\/\/ps.w.org\/quantely-activity\/assets\/screenshot-5.jpg?rev=3499301","caption":""}],"raw_content":"<!--section=description-->\n<p>Quantely Activity is a WordPress capture layer that records pageviews and events. It helps site owners understand what is happening on their website.<\/p>\n\n<p>It can be used for:<\/p>\n\n<ul>\n<li>Monitoring site behavior<\/li>\n<li>Reviewing traffic patterns<\/li>\n<li>Performance diagnostics<\/li>\n<li>Security and bot analysis<\/li>\n<li>Feeding downstream analytics layers<\/li>\n<\/ul>\n\n<p>Whether JavaScript is blocked, networks are unreliable, redirects interfere, or traffic includes bots, scanners, and logged-in admins, Quantely Activity is built to capture activity reliably under imperfect conditions.<\/p>\n\n<p>Quantely Activity is turn-key: install it, and pageviews and events should begin appearing shortly after. Raw activity data is stored only briefly, helping keep the plugin lightweight and privacy-conscious.<\/p>\n\n<h3>What Quantely Activity is<\/h3>\n\n<p>Quantely Activity is a capture and monitoring layer. It is designed to record activity on your site in a structured and reliable way, with a strong focus on signal capture and data integrity.<\/p>\n\n<p>Unlike many analytics tools, it does not focus on marketing analytics, attribution modelling, or behavioral profiling. It also does not rely solely on browser JavaScript. A server-side baseline helps ensure pageviews are still captured when scripts or beacons fail.<\/p>\n\n<h3>Hybrid capture engine<\/h3>\n\n<p>The plugin combines server-side pageview capture with optional browser-side signals.<\/p>\n\n<p>Typical flow:<\/p>\n\n<p>Browser request<br \/>\n\u2193<br \/>\nServer pageview baseline<br \/>\n\u2193<br \/>\nBrowser attach (Beacon)<br \/>\n- engagement pings<br \/>\n- interaction events<br \/>\n\u2193<br \/>\nCorrelation via pageview identifiers<br \/>\n\u2193<br \/>\nBot classification and exclusions<br \/>\n\u2193<br \/>\nDeduplication and storage<\/p>\n\n<p>This architecture helps keep capture reliable under real-world conditions where browser-only tracking can miss signals.<\/p>\n\n<h3>Event correlation and deduplication<\/h3>\n\n<p>Quantely Activity links browser-side signals back to the pageview where they occurred.<\/p>\n\n<p>Engagement pings, clicks, form submissions, and similar events can be correlated to their originating pageview. Built-in deduplication helps avoid duplicate records when similar signals are captured from both browser and server-side sources.<\/p>\n\n<p>This keeps the activity stream more accurate and easier to interpret.<\/p>\n\n<h3>Fully on-site<\/h3>\n\n<p>All captured activity is stored in your own WordPress database.<\/p>\n\n<p>Quantely Activity does not send captured activity data to external services. IP addresses are never stored in plain form, and the plugin does not perform cross-site tracking.<\/p>\n\n<h3>Privacy-aware design<\/h3>\n\n<p>The plugin is designed with privacy-conscious principles in mind:<\/p>\n\n<ul>\n<li>No plain IP addresses stored<\/li>\n<li>Short configurable retention window<\/li>\n<li>Optional honoring of GPC \/ DNT signals<\/li>\n<li>No external tracking services<\/li>\n<li>Data remains on your own site<\/li>\n<\/ul>\n\n<p>This gives site owners visibility into activity while keeping capture local and controlled.<\/p>\n\n<h3>Hooks<\/h3>\n\n<p>Quantely Activity exposes a small developer API for integrations and downstream processing.<\/p>\n\n<ul>\n<li><code>qmon_hit_before_insert<\/code> \u2014 Filter a normalized hit array before it is stored.<\/li>\n<li><code>qmon_hit_recorded<\/code> \u2014 Action fired after a hit has been stored. This is the main integration point for forwarding or persisting captured records.<\/li>\n<li><code>qmon_event_normalize<\/code> \u2014 Filter a normalized event payload before it is finalized.<\/li>\n<li><code>qmon_event_db_dedupe_window_sec<\/code> \u2014 Filter the database deduplication window for events.<\/li>\n<li><code>qmon_bot_verdict<\/code> \u2014 Filter the bot-classification verdict before it is finalized.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP via <strong>WordPress Admin \u2192 Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<li>Open <strong>Quantely \u2192 Activity<\/strong> to confirm that hits are being recorded<\/li>\n<li>Adjust settings if needed<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20does%20quantely%20activity%20record%3F\"><h3>What does Quantely Activity record?<\/h3><\/dt>\n<dd><p>It records pageviews and interaction events as individual hits.<\/p><\/dd>\n<dt id=\"does%20it%20replace%20analytics%20tools%3F\"><h3>Does it replace analytics tools?<\/h3><\/dt>\n<dd><p>No. Quantely Activity is a capture and monitoring layer. It is not a marketing analytics suite and does not aim to replace long-term analytics reporting.<\/p><\/dd>\n<dt id=\"is%20javascript%20required%3F\"><h3>Is JavaScript required?<\/h3><\/dt>\n<dd><p>No. Server-side capture records pageviews without JavaScript. Browser-side JavaScript extends capture with interaction events and engagement pings.<\/p><\/dd>\n<dt id=\"how%20long%20is%20data%20stored%3F\"><h3>How long is data stored?<\/h3><\/dt>\n<dd><p>Raw hits are stored only for a short configurable period, typically between 6 and 48 hours. The plugin is intended for monitoring and diagnostics rather than long-term data warehousing.<\/p><\/dd>\n<dt id=\"does%20it%20store%20ip%20addresses%3F\"><h3>Does it store IP addresses?<\/h3><\/dt>\n<dd><p>No. Plain IP addresses are not stored. The plugin uses derived or hashed values where needed for classification and exclusion logic.<\/p><\/dd>\n<dt id=\"does%20it%20send%20data%20to%20external%20services%3F\"><h3>Does it send data to external services?<\/h3><\/dt>\n<dd><p>No. Captured activity is stored locally in the WordPress database.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Confirmed compatibility with WordPress 7.0.<\/li>\n<li>Updated plugin metadata for WordPress 7.0 testing.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Review hardening for WordPress.org submission<\/li>\n<li>Improved sanitization, validation, escaping, and internationalization coverage<\/li>\n<li>Improved REST input sanitization and related code quality refinements<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Improved event correlation and deduplication behavior<\/li>\n<li>Expanded diagnostics and integration-related improvements<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Refinements to monitoring, exclusions, and settings behavior<\/li>\n<li>Stability and compatibility improvements<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Minor fixes and internal improvements<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial version prepared during pre-release review.<\/li>\n<\/ul>","raw_excerpt":"See what is really happening on your WordPress website.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/274019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=274019"}],"author":[{"embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/erravi"}],"wp:attachment":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=274019"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=274019"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=274019"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=274019"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=274019"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=274019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}