Analytics
Collect privacy-reduced playback events and aggregate owner reports.
Privacy-reduced events
Persisted players send validated play, progress, completion, error, and advertising events. Client addresses are immediately replaced by a keyed SHA-256 value; raw IPs, user-agent strings, and full referrer URLs are never stored.
Consent controls
Do Not Track is honored by default. GDPR mode requires explicit event consent and disables third-party geography fallback.
Coarse dimensions
Country, region, device type, browser family, OS family, player dimensions, quality, and referrer domain.
Aggregation
A five-minute scheduled job rolls raw events into idempotent hourly, daily, geography, and device statistics. Raw event retention defaults to 90 days; active viewers are distinct recent sessions cached for 45 seconds.
php artisan schedule:list
php artisan schedule:run
php artisan queue:work
Owner reports
Read totals and daily series at /api/v1/analytics/overview, or one owned video at /api/v1/analytics/videos/{id}. Filament administrators use /admin/analytics.