3rd party integrations
Tracking and Analytics
Purple Analytics Readmode
6 min
introduction welcome to purple dynamic resources extensions a comprehensive analytics and tracking solution for purple publishing applications this repository contains the complete readmode implementation with multi platform analytics support, event tracking capabilities, and seamless integration tools the project provides everything needed to implement advanced readmode features with sophisticated analytics tracking across different platforms (default, matomo, google analytics) while maintaining clean code architecture and extensible design patterns readmode overview purple analytics readmode is a javascript library that provides comprehensive analytics tracking for readmode features in purple publishing applications with automatic time tracking and seamless platform integration quick summary library components timetracker precise time measurement utility purpleanalyticsreadmode main analytics integration class key features automatic time tracking per article multi platform analytics support (default, matomo, google analytics) tts, night mode, and font size interaction tracking swiper integration for article navigation getting started basic setup const readmode = new purpleanalyticsreadmode(); await readmode init(); with configuration const readmode = new purpleanalyticsreadmode({ articlemergefields \['headline', 'kurzueberschrift'], articlemergeseparator ' | ' }); migration & integration migration process create migration/ folder with custom js and readmode loader js run claude from migration folder use migration prompt to generate custom migrated js deploy migrated file integration requirements purple analytics platform modern browser with es6+ support required globals window\ purple tracking , window\ readmodeinited event tracking automatic events read mode opened/closed, article opened/time spent, tts on/off, night mode on/off, font size changed, external link clicked csv generation use generate events csv js for comprehensive event overviews across all platforms best practices always use error handling and cleanup ( destroy() ) configure based on actual content structure monitor performance and memory usage use hooks for custom functionality integration