Media Analytics
Track video and audio engagement on your website.
This feature is available on the Premium plan and above.
Overview
Media Analytics tracks how visitors interact with video and audio content on your website. Understand what content gets watched, how long people stay engaged, and where they drop off — essential for optimizing your media content strategy.
Once the Ghost Metrics tracking code is installed, supported media players are detected and tracked automatically — no extra setup is required for most sites. Reports appear under Media in the left reporting menu.
Supported Media Players
Ghost Metrics automatically tracks the following players out of the box:
Video
- HTML5 video — Native browser
<video>elements - YouTube — Embedded YouTube iframes (requires
enablejsapi=1, see below) - Vimeo — Embedded Vimeo iframes
- JW Player
- Video.js
- MediaElement.js
- Flowplayer (HTML5)
Audio
- HTML5 audio — Native browser
<audio>elements - SoundCloud — Embedded SoundCloud players
- SoundManager 2
Custom Players
Other JavaScript players aren’t tracked automatically, but you can integrate them with the media tracking API using MediaAnalytics::addPlayer. Contact support if you’d like help integrating a custom player.
YouTube Setup Requirement
YouTube embeds are only tracked when the embed URL includes the enablejsapi=1 parameter:
<iframe src="https://www.youtube.com/embed/yA2NUur0770?enablejsapi=1"></iframe>Without this parameter, YouTube videos won’t appear in your media reports.
Naming Your Media
By default, media is identified by its URL and the element’s title attribute when present. For clean, readable reports, set a custom title (and optionally a canonical resource URL) directly on the element:
<video
data-matomo-title="Provider Introduction — Dr. Smith"
data-matomo-resource="https://example.ghostmetrics.cloud/videos/dr-smith-intro.mp4"
src="/videos/dr-smith-intro.mp4" controls></video>To exclude a specific video or audio element from tracking, add data-matomo-ignore:
<video data-matomo-ignore src="/videos/internal-only.mp4" controls></video>What’s Tracked
For each media file, Ghost Metrics captures:
Engagement Metrics
- Impressions — How often a page containing the media was viewed
- Plays — How many times playback was started
- Play rate — Percentage of impressions that led to a play
- Finishes and finish rate — How many plays reached the end of the media
- Average time spent — How long visitors watched or listened
- Average completion — How far through the media visitors got on average
- Average time to play — How long visitors waited before pressing play
- Fullscreen rate — Percentage of plays that went fullscreen
- Unique visitors — Individual visitors who played the media
Playback Events
Play, pause, resume, seek, and finish interactions are recorded as media events, giving you a fine-grained view of playback behavior.
Progress Data
- Viewing timeline — Which parts of the media were actually watched
- Drop-off points — Where in the media visitors stop watching
Media Reports
The Media section of the reporting menu contains:
- Overview — Key metrics across all media with evolution graphs
- Real-time — Plays and time spent over the last 30 minutes and 24 hours, including the most popular media right now
- Video — Detailed reports for every tracked video
- Audio — Detailed reports for every tracked audio file
- Audience Log — A chronological log of each visitor’s play, pause, resume, and finish activity, including what they did before and after
- Audience Map — Where in the world your viewers are located, from continent down to city
Click any video or audio row to drill down into per-media detail, including how far viewers watched, playback by time of day, and viewer screen resolutions.
You can also add media widgets to your dashboards, apply media segments (such as visitors who played a specific video) to any other report, and receive media reports by scheduled email.
Understanding Media Metrics
Play Rate
Percentage of impressions where the visitor pressed play.
Low play rate may indicate:
- Video thumbnail isn’t compelling
- Video isn’t prominent enough on the page
- Visitors don’t understand what the video is about
Average Time Spent
How long viewers watch before leaving.
Low watch time may indicate:
- Content doesn’t match expectations
- Video is too long
- Quality issues (audio, video, pacing)
Finish Rate and Average Completion
Finish rate tells you how many plays reached the end; average completion tells you how far through the typical viewer got.
Low values may indicate:
- Video is too long
- Content loses interest partway through
- Key message should come earlier
- A call-to-action at the end is being missed
Viewing Timeline
Shows which portions of the media viewers actually watched.
Use this to identify:
- Where viewers drop off
- Which segments get re-watched or skipped
- The effective length of your content
Common Use Cases
Optimize Video Length
- Open the video’s drill-down report
- Find where significant drop-off occurs in the viewing timeline
- Consider shortening videos to that point
- Front-load important content before the drop-off
Improve Video Content
- Identify videos with low finish rates
- Look for patterns in drop-off points
- Analyze what’s happening in the video at those moments
- Revise content to maintain engagement
Measure Video ROI
- Create a segment of visitors who played a video
- Compare conversion rates for viewers vs non-viewers
- Attribute goal completions to video engagement
- Justify video production investment
Evaluate Video Placement
Compare performance when video is:
- Above vs below the fold
- On different pages
- With different surrounding content
Healthcare Video Strategies
Provider Introduction Videos
Track to ensure:
- Patients watch enough to feel connected
- Key information is delivered before drop-off
- Videos help drive appointment requests
Procedure/Treatment Videos
Monitor:
- Are patients watching the full explanation?
- Where do they seek back and re-watch (signs of confusion)?
- Do these videos reduce call volume?
Facility Tour Videos
Measure:
- Do virtual tours drive visits?
- How much of the tour do people watch?
- Which departments/areas generate most interest?
Patient Testimonials
Analyze:
- Which testimonials resonate most?
- How long should testimonials be?
- Do testimonials drive conversions?
Privacy note: Third-party players such as YouTube, Vimeo, and SoundCloud load their own code and may set their own cookies when embedded on your pages — independent of Ghost Metrics. If that’s a concern, host sensitive videos as HTML5 video, or disable tracking of a third-party player entirely with _paq.push(['MediaAnalytics::removePlayer', 'youtube']);.
Configuration Options
Media Analytics is configured through your tracking code rather than a settings screen:
- Disable a player type —
_paq.push(['MediaAnalytics::removePlayer', 'youtube']);(valid names:html5,youtube,vimeo,soundcloud,jwplayer) - Adjust the progress ping interval —
_paq.push(['MediaAnalytics::setPingInterval', 5]);(default: every 10 seconds while media plays) - Extend the maximum tracking time —
_paq.push(['MediaAnalytics::setMaxTrackingTime', 60 * 60 * 4]);(default: 3 hours per media) - Disable all media tracking —
_paq.push(['MediaAnalytics::disableMediaAnalytics']);
Single Page Applications
If your site loads videos dynamically (React, Vue, Angular, or any SPA), tell Ghost Metrics to scan for newly added media after rendering:
_paq.push(['MediaAnalytics::scanForMedia']);You can pass a specific DOM element to scan only part of the page.
Limitations
- YouTube embeds without
enablejsapi=1aren’t tracked - Unsupported custom players require integration via the media tracking API
- Media longer than the maximum tracking time (default 3 hours) stops being tracked beyond that point
- Very high-frequency playback events are rate-limited per pageview to protect data quality
- Offline video playback isn’t tracked
Next Steps
- Goals — Track video engagement as goal conversions
- Heatmaps — See how visitors interact with video players on the page
- Session Recordings — Watch visitor video interactions in context
- Custom Reports — Build media performance dashboards