Mave metrics help you understand video usage without cookies or tracking viewers across visits. Analytics are built into Mave Core and are available in both managed Mave and self-hosted installations.
With managed Mave, we operate the platform and analytics infrastructure for you. Open Data in your dashboard to explore your video metrics.
When you self-host Mave Core, analytics run alongside your dashboard, uploads, encoding, and API. The Docker Compose bundle includes ClickHouse for analytics storage. You do not need to install the former standalone metrics application.
The player records playback events with a randomly generated session ID. Events include the video, playback position, timestamp, and source URL. A new player session gets a new ID; it does not identify a person across visits.
The @maveio/data client buffers events and sends JSON batches over HTTP POST to /v1/events. During playback, queued events are normally flushed every five seconds, or earlier when a batch fills up. When the page becomes hidden or is closed, the client attempts to send remaining events using sendBeacon or fetch with keepalive. Delivery on page exit is best-effort, so the last event may not arrive.
Metrics are enabled by default. For managed Mave, keep the default endpoint. For self-hosted Core, use the embed generated by your installation so its configuration points to your own services.
If you configure web components manually, set metrics.endpoint to the full HTTP event-ingestion URL before initializing playback:
<script crossorigin type="module">
import { Player, setConfig } from "https://cdn.video-dns.com/npm/@maveio/components/+esm";
setConfig({
metrics: {
enabled: true,
endpoint: "https://video.example.com/v1/events",
},
});
</script>Replace video.example.com with your own Core hostname. This example changes only the metrics destination; it does not configure the API or media URLs for a complete self-hosted player integration. Start from your installation’s generated embed for those settings.
To disable metrics for components configured this way, set this before initializing playback:
setConfig({ metrics: { enabled: false } });Those components will no longer send playback events. Existing analytics remain available; new plays from those components will not appear in the dashboard.
Events are sent in batches, so allow a few seconds for new activity to appear in the dashboard.
Run the complete open-source Mave Core platform, including analytics, on your own infrastructure. Core includes the event endpoint and ClickHouse storage. Follow the self-hosting guide to get started.