Rate limits when tracking media events
Matomo limits the maximum number of media events that can be tracked on a single (virtual) page view. These limits are in place to prevent hundreds of events being sent for a single play that skew data and can cause a high server load, for example when a media player experiences a bug where it falsely triggers a huge amount of events. We chose high limits where we haven’t seen anyone run into these limits in practice while protecting data quality and server load.
Note: None of this applies or impacts the actual Media reports, which are completely independent of these events. This only impacts the « play », « pause », « resume », « seek » and « finish » events which you see in the « Behaviour -> Events » report and in the visits log.
Limits
-
We track max these amount of events per unique video or audio url during a single page view:
play:50, pause: 25, resume:25, finish:50, seek:50 -
We track max these amount of events across all videos or audio that are being interacted with during a single page view:
play:50, pause: 100, resume:100, finish:50, seek:100
Note: If the duration of your media resource is more than 15 minutes, the maximum number of events allowed media action pause and resume for each unique audio or video url is 50 and not 25 as defined above.
Every time the trackPageView
tracker method is called, these limits are reset to make sure single page apps or progressive web apps aren’t limited.
Disabling the rate limiting of media events
You can disable the rate limiting of media events by adding the below JavaScript tracking code to your website:
window._paq = window._paq || [];
window.paq.push(['MediaAnalytics::disableRateLimit']);
If you disabled the rate limiting, then you can enable it again at a later point by adding the below JavaScript tracking code to your website:
window._paq = window._paq || [];
window.paq.push(['MediaAnalytics::enableRateLimit']);
Examples of how this rate limiting works
Scenario 1: Assume you are tracking a website and have a single video/audio resource on a page called « My Media Resource ». If a user initiates 25 pause events, all 25 pause events will be tracked.
Scenario 2: Assume you are tracking a website and have a single video/audio resource on a page called « My Media Resource ». If a user initiates 30 pause events, only the first 25 events will be tracked, since we allow maximum 25 pause events for each media resource on each tracker.
Scenario 3: Assume you are tracking a website and have 5 video/audio resources on a page called « My Media Resource 1 », « My Media Resource 2 », « My Media Resource 3″, Media Resource 4 » and « My Media Resource 5 ». If a user first initiates 25 pause events each for « My Media Resource 1 », « My Media Resource 2 », « My Media Resource 3 » and 15 pause events each for « My Media Resource 4 » and « My Media Resource 5 » later. Matomo will track all the 25 events for each « My Media Resource 1 », « My Media Resource 2 », « My Media Resource 3 » and 15 events for « My Media Resource 4 » and only first 10 events for « My Media Resource 5 », as we can see even though the total pause events for « My Media Resource 5 » is less than the allowed limit we tracked only 10 events due to limit on maximum number of pause events that can be tracked on each tracker is 100.
Scenario 4: Assume you are tracking a website and have a single video/audio resource on page called « My Media Resource ». If a user initiates 30 pause events and refreshes the page later and initiates 20 more pause events after refresh, Matomo will track first 25 pause events and skip 5 pause events since the limit has been reached for a media resource and since the page is refreshed the limits will be reset and 20 pause events will be tracked.
Using multiple trackers on a single site
Sometimes, people may track the same data into multiple Matomo sites by setting up multiple trackers. The above limits apply on a per-tracker basis. This means each tracker can send for example 100 seek events during a single page view.
Note: The rate limit is enabled by default for Media Analytics version 4.1.0 and above.