Changelog ======== = 1.2.1 = * **Fix**: Fixed scroll tracking to use GTM's built-in variable names (`gtm.scrollThreshold`, `gtm.scrollUnits`, `gtm.scrollDirection`) instead of custom Data Layer Variables, making GTM setup simpler and more reliable. * **Fix**: Fixed scroll percentage calculation bug that prevented scroll events from firing. Changed from string-based property access to direct property access with cross-browser fallbacks for better reliability. * **Improvement**: Renamed `time_on_page` event to `user_engagement` with descriptive engagement levels (quick_view, browsing, engaged, interested, highly_engaged) and added detailed parameters (`engagement_time_msec`, `time_label`, `time_threshold`) for better analytics insights. * **Fix**: Corrected typo in settings class name (`Attribution_Settings`) for consistency. * **Docs**: Updated readme.txt and README.md with benefit-focused messaging emphasizing ROI and business value over technical features. = 1.2.0 = * **Security**: Hardened AJAX handlers with strict WhatsApp URL validation and optimized PII risk logging using nonce verification and state checks. * **Feature**: Introduced Custom Database Table (`wp_clicutcl_events`) for scalable event logging, removing reliance on Custom Post Types. * **Feature**: Implemented REST API Log Endpoint (`/wp-json/clicutcl/v1/log`) for faster and lighter tracking requests. * **Feature**: Added Admin Log Viewer (`ClickTrail > Logs`) to view events from the custom database table. * **Feature**: Implemented Automated Database Cleanup (Cron) to keep the events table healthy. * **Refactor**: Major architectural improvements including Namespaced Admin class, decoupled AJAX Log Handler, and extracted CPT registration. * **Refactor**: Standardized Integrations (WooCommerce & Forms) into namespaced classes (`CLICUTCL\Integrations`), cleaning up the global namespace and dependencies. * **Refactor**: Centralized settings logic (`Attribution_Settings`) and Attribution Utilities (`Utils\Attribution`) for better maintainability. * **Fix**: Fixed GTM Data Layer variables for Scroll Tracking—now uses GTM's built-in variable names (`gtm.scrollThreshold`, `gtm.scrollUnits`, `gtm.scrollDirection`) plus `percent_scrolled` for GA4 compatibility. No custom Data Layer Variables needed in GTM! * **Fix**: Fixed scroll percentage calculation bug that prevented events from firing. Changed from string-based property access to direct property access with cross-browser fallbacks. * **Fix**: Improved engagement tracking by renaming `time_on_page` event to `user_engagement` with descriptive engagement levels (quick_view, browsing, engaged, interested, highly_engaged) and added `engagement_time_msec`, `time_label`, and `time_threshold` parameters. * **Cleanup**: Removed legacy `clicutcl_wa_click` Custom Post Type and associated AJAX handlers. * **Cleanup**: Removed `CLICUTCL\Ajax\Log_Handler` and `CLICUTCL\Post_Types\WhatsApp_Click` classes. = 1.1.1 = * Refreshed readme copy and release guidance to align WordPress.org listing with latest documentation. * Prepared for updated screenshots/assets to keep plugin visuals accurate. = 1.1.0 = * Added comprehensive Event Tracking (Searches, Downloads, Scroll Depth, Time on Page). * Added Server-side Event Tracking for User Login, Signups, and Comments. * Implemented Google Consent Mode v2 support with region-specific defaults. * Added manual Google Tag Manager (GTM) Container ID injection. * Refactored codebase for better modularity and performance. * Enhanced WooCommerce integration with "Source" column and detailed meta box. = 1.0.0 = * Initial release with attribution capture, consent banner, and integrations for WooCommerce, Contact Form 7, Fluent Forms, and WhatsApp.