{"id":395537,"date":"2026-11-10T20:25:52","date_gmt":"2026-11-10T20:25:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/primeplaced-logless-analytics\/"},"modified":"2026-11-11T11:45:59","modified_gmt":"2026-11-11T11:45:59","slug":"primeplaced-logless-analytics","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/primeplaced-logless-analytics\/","author":23468182,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"PrimePlaced - Logless Analytics","header_author":"Dobrzepostawieni","header_description":"Privacy-first, cookieless WordPress analytics with local storage, data minimization, and explicit retention controls.","last_updated":"2026-11-11 11:45:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/dobrzepostawieni.pl","rating":0,"author_block_rating":0,"active_installs":0,"downloads":104,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"dobrzepostawieni","date":"2026-11-11 11:45:59","revision":3796198}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3795205,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3795205,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3795205,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3795205,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3795205,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3795205,"resolution":"1","location":"assets","locale":"","width":2556,"height":1980},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3795205,"resolution":"2","location":"assets","locale":"","width":2556,"height":1336},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3795205,"resolution":"3","location":"assets","locale":"","width":2556,"height":2110},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3795205,"resolution":"4","location":"assets","locale":"","width":2556,"height":2480},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3795205,"resolution":"5","location":"assets","locale":"","width":2556,"height":2194}},"screenshots":{"1":"Overview: hits and pageviews compared with the previous period, daily traffic, and device split.","2":"Top Pages: pageviews by page for the selected period.","3":"Top Traffic Sources: direct visits, referring sites, and Google Ads or Meta Ads campaigns.","4":"Real-Time: pageviews per minute and the pages visitors are on right now.","5":"Privacy settings: choose strict anonymous mode or daily rotating session hashes, and set data retention."}},"plugin_section":[],"plugin_tags":[232,20315,131785,396,521],"plugin_category":[36,54],"plugin_contributors":[269647],"plugin_business_model":[],"class_list":["post-395537","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-cookieless","plugin_tags-gdpr","plugin_tags-privacy","plugin_tags-statistics","plugin_category-analytics","plugin_category-security-and-spam-protection","plugin_contributors-dobrzepostawieni","plugin_committers-dobrzepostawieni"],"banners":{"banner":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/banner-772x250.png?rev=3795205","banner_2x":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/banner-1544x500.png?rev=3795205","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/icon.svg?rev=3795205","icon":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/icon.svg?rev=3795205","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/screenshot-1.png?rev=3795205","caption":"Overview: hits and pageviews compared with the previous period, daily traffic, and device split."},{"src":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/screenshot-2.png?rev=3795205","caption":"Top Pages: pageviews by page for the selected period."},{"src":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/screenshot-3.png?rev=3795205","caption":"Top Traffic Sources: direct visits, referring sites, and Google Ads or Meta Ads campaigns."},{"src":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/screenshot-4.png?rev=3795205","caption":"Real-Time: pageviews per minute and the pages visitors are on right now."},{"src":"https:\/\/ps.w.org\/primeplaced-logless-analytics\/assets\/screenshot-5.png?rev=3795205","caption":"Privacy settings: choose strict anonymous mode or daily rotating session hashes, and set data retention."}],"raw_content":"<!--section=description-->\n<p>PrimePlaced - Logless Analytics gives WordPress site owners a practical analytics dashboard that runs inside WordPress and is designed around data minimization.<\/p>\n\n<p>The plugin records pageviews and selected interaction events locally and keeps retention explicit. Strict mode stores no visitor or session identifier; optional session metrics use a daily rotating pseudonymous hash instead of a raw visitor identifier.<\/p>\n\n<h4>Core features<\/h4>\n\n<ul>\n<li>Cookieless frontend tracking.<\/li>\n<li>REST, admin-ajax, and Beacon POST fallback transports.<\/li>\n<li>Local WordPress database storage.<\/li>\n<li>Optional pseudonymous session hashes with daily salt rotation.<\/li>\n<li>Top pages, traffic sources (including Google Ads and Meta Ads), devices, realtime activity, events, and 404 views.<\/li>\n<li>Bot filtering, role exclusions, IP exclusions, and URL path exclusions.<\/li>\n<li>Configurable script injection position and tracking transport mode.<\/li>\n<li>Configurable data retention (30 days to one year, or until you delete the data) and maintenance tools.<\/li>\n<li>CSV export for core analytics snapshots.<\/li>\n<\/ul>\n\n<h4>Privacy model<\/h4>\n\n<p>PrimePlaced - Logless Analytics is designed to avoid storing raw IP addresses and raw User-Agent strings in analytics tables. The plugin uses request data in memory to derive a pseudonymous session hash and device type, then stores only the derived analytics data needed for reports.<\/p>\n\n<p>The identity model never uses visitor cookies. Strict anonymous mode is enabled by default. If pseudonymous session metrics are enabled, their hashes rotate daily to prevent long-term visitor profiles.<\/p>\n\n<h4>Pro features<\/h4>\n\n<p>An optional paid Pro version is available separately. The free plugin is fully functional on its own and does not contain locked features.<\/p>\n\n<p>Pro areas include geolocation analytics, site search reports, goals and conversions, Event Studio (no-code click, visibility, and scroll tracking), scroll depth tracking, referrer attribution, delegated analytics access for selected roles, form tracking, ecommerce analytics, user journeys, scheduled email and PDF reports, report archive, page heatmaps, white-label admin, branded PDF reports, full event log export, and WP-CLI\/MainWP workflows.<\/p>\n\n<h3>Development<\/h3>\n\n<p>The complete, human-readable source for the generated JavaScript and CSS in <code>assets\/build\/<\/code> is available on GitHub: https:\/\/github.com\/Dobrzepostawieni\/primeplaced-logless-analytics<\/p>\n\n<p>To rebuild <code>assets\/build\/<\/code>, clone the repository and run <code>npm ci<\/code> and then <code>npm run build<\/code> with Node.js 18.12 or newer.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses the <a href=\"https:\/\/freemius.com\/\">Freemius<\/a> SDK, a service provided by Freemius, Inc., for opt-in usage diagnostics, account and license management, and the optional upgrade flow. Visitor analytics data recorded by the plugin is never sent to Freemius.<\/p>\n\n<p>The plugin contacts Freemius (<code>api.freemius.com<\/code>, <code>wp.freemius.com<\/code>, <code>checkout.freemius.com<\/code>) only in these cases:<\/p>\n\n<ul>\n<li><strong>After an administrator opts in<\/strong> on the plugin's welcome screen: the administrator's name and email address; the site's homepage URL and title, WordPress and PHP versions, and site language; the plugin and SDK versions and whether the plugin is active, deactivated, or uninstalled. If the administrator also allows it, the names, slugs, versions, and active status of installed plugins and themes are sent. Opting in is optional, and the administrator can skip it or change permissions later from the plugin's Account page.<\/li>\n<li><strong>When an administrator submits deactivation feedback<\/strong>: the selected reason and any text entered.<\/li>\n<li><strong>When an administrator opens the Pricing page or starts checkout<\/strong>: plan and pricing data are loaded from Freemius, and the information entered during checkout is sent to Freemius to process the purchase.<\/li>\n<\/ul>\n\n<p>If the administrator does not opt in and does not use these screens, no data is sent to Freemius.<\/p>\n\n<p>Freemius terms of service: https:\/\/freemius.com\/terms\/\nFreemius privacy policy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>PrimePlaced - Logless Analytics is built around local storage, data minimization, and short-lived pseudonymous identity.<\/p>\n\n<p>Core data stored by the plugin may include:<\/p>\n\n<ul>\n<li>Pseudonymous session hash.<\/li>\n<li>Device category.<\/li>\n<li>Visited URL path and allowlisted site-search parameters.<\/li>\n<li>Referrer origin without path, query, or fragment.<\/li>\n<li>A finite acquisition channel (<code>google_ads<\/code> or <code>meta_ads<\/code>) when an allowlisted paid-campaign marker is present; campaign parameters are evaluated in memory and discarded.<\/li>\n<li>Versioned event type, bounded subject, metrics, and event-specific attributes.<\/li>\n<li>Timestamps.<\/li>\n<\/ul>\n\n<p>Core data intentionally excludes:<\/p>\n\n<ul>\n<li>Raw IP addresses in analytics tables.<\/li>\n<li>Raw User-Agent strings in analytics tables.<\/li>\n<li>Visitor cookies.<\/li>\n<\/ul>\n\n<p>If Pro geolocation is enabled, country-level data may be derived from privacy-friendly edge headers or a local MaxMind database. This is designed to store country codes, not raw visitor IP addresses.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/primeplaced-logless-analytics\/<\/code>, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Logless Analytics<\/strong> in the WordPress admin menu.<\/li>\n<li>Review privacy, exclusion, transport, and retention settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20use%20visitor%20cookies%3F\"><h3>Does the plugin use visitor cookies?<\/h3><\/dt>\n<dd><p>No. The core tracking flow is cookieless.<\/p><\/dd>\n<dt id=\"does%20it%20store%20raw%20ip%20addresses%3F\"><h3>Does it store raw IP addresses?<\/h3><\/dt>\n<dd><p>No. Raw IP addresses are processed in memory for exclusions, pseudonymous session hashing, and optional Pro geolocation logic, but raw IP addresses are not stored in the core analytics tables.<\/p><\/dd>\n<dt id=\"does%20it%20store%20raw%20user-agent%20strings%3F\"><h3>Does it store raw User-Agent strings?<\/h3><\/dt>\n<dd><p>No. User-Agent strings are processed in memory for device classification and pseudonymous session hashing, but raw User-Agent strings are not stored in the core analytics tables.<\/p><\/dd>\n<dt id=\"where%20is%20analytics%20data%20stored%3F\"><h3>Where is analytics data stored?<\/h3><\/dt>\n<dd><p>Core analytics data is stored locally in custom WordPress database tables prefixed with <code>ppla_<\/code>.<\/p><\/dd>\n<dt id=\"how%20does%20the%20buffer%20work%3F\"><h3>How does the buffer work?<\/h3><\/dt>\n<dd><p>Incoming hits are written to a local <code>ppla_buffer<\/code> database queue and are aggregated into analytics tables by WP-Cron. A manual flush tool is available in the admin screen.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20administrators%20or%20editors%3F\"><h3>Can I exclude administrators or editors?<\/h3><\/dt>\n<dd><p>Yes. The settings include role exclusions so logged-in user groups can be excluded from tracking.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20ip%20addresses%20or%20urls%3F\"><h3>Can I exclude IP addresses or URLs?<\/h3><\/dt>\n<dd><p>Yes. You can exclude individual IP addresses and URL paths. A path such as <code>\/checkout\/<\/code> excludes that page, and <code>\/blog\/*<\/code> excludes every page below <code>\/blog\/<\/code>.<\/p><\/dd>\n<dt id=\"how%20long%20is%20analytics%20data%20kept%3F\"><h3>How long is analytics data kept?<\/h3><\/dt>\n<dd><p>30 days by default. You can choose 90 days, 180 days, one year, or keep the data until you delete it. Older data is removed automatically once a day, and the maintenance tools can delete data at any time.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20analytics%20data%20to%20a%20remote%20service%3F\"><h3>Does the plugin send analytics data to a remote service?<\/h3><\/dt>\n<dd><p>No. Analytics data is stored only in your WordPress database. The plugin uses the Freemius SDK for optional opt-in usage data, licensing, and upgrades; see the External services section for exactly when it contacts Freemius and what it sends. Visitor analytics data is never sent to Freemius.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20uninstall%3F\"><h3>What happens on uninstall?<\/h3><\/dt>\n<dd><p>Deleting the plugin from the Plugins screen removes all of its database tables, options, scheduled events, and per-user report preferences. Deactivating the plugin keeps your data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Privacy-first, cookieless analytics for WordPress. Local traffic insights without visitor cookies or raw IP storage.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/395537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=395537"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dobrzepostawieni"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=395537"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=395537"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=395537"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=395537"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=395537"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=395537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}