@php $maxTrend = max(1, collect($trend ?? [])->max('events') ?: 1); $maxHourly = max(1, collect($hourly ?? [])->max('total') ?: 1); @endphp

Events

{{ number_format($kpis['events'] ?? 0) }}

{{ number_format($kpis['today_events'] ?? 0) }} today

Page views

{{ number_format($kpis['page_views'] ?? 0) }}

{{ number_format($kpis['today_page_views'] ?? 0) }} today

Avg engagement

{{ number_format($kpis['avg_engagement'] ?? 0, 0) }}s

Per instrumented hit

Conversions

{{ number_format($kpis['conversions'] ?? 0) }}

{{ number_format($kpis['converted_sessions'] ?? 0) }} sessions

Traffic trend

Events, page views, and conversions over the selected window.

@foreach($trend as $day)
{{ $day['label'] }}
@endforeach
Events peak {{ number_format($maxTrend) }} PV {{ number_format(collect($trend)->sum('page_views')) }} · Conv {{ number_format(collect($trend)->sum('conversions')) }}

Hourly heat

When activity clusters across a 24-hour clock.

@foreach($hourly as $hour)
@if($hour['hour'] % 3 === 0) {{ $hour['hour'] }} @endif
@endforeach

Top pages

Highest traffic paths

Top countries

Geographic concentration

Devices

Desktop / mobile / tablet

Top event types

Behavioural mix for this period

Live pulse

Last 30 minutes

Recent stream

Latest instrumented behaviours

Open full log
@forelse($recent ?? [] as $event) @empty @endforelse
Event Path Location Device IP When
{{ $event->event_type }} {{ Str::limit($event->path ?: $event->url, 40) }} {{ $event->locationLabel() }} {{ $event->device_type ?: '—' }} {{ $event->displayIp() }} {{ $event->occurred_at?->diffForHumans() }}
No recent events.