Server-side tracking timing and caching behavior
In server-side reporting, MediaTailor fires tracking events based on actual segment requests from the player, not on manifest parsing or pre-loading activities. This approach ensures accurate impression counting that aligns with industry standards for video ad measurement.
Key timing principles
MediaTailor server-side tracking follows these fundamental timing principles:
-
Tracking events fire on actual segment requests - Beacons are sent only when the player makes HTTP requests to
/v1/segmentURLs, not during manifest parsing or caching. -
Player caching and pre-loading of manifests does NOT trigger events - Players can parse, cache, or pre-load manifest information without generating any tracking events.
-
Segment pre-fetching will trigger events - If players pre-fetch actual ad segments before playback, this follows industry standard behavior where segment requests constitute valid impressions.
-
Each /v1/segment request triggers appropriate beacon - The specific tracking event (impression, quartile, completion) is determined by the ad position and segment being requested.
-
Timing aligns with IAB standards - The approach follows Interactive Advertising Bureau guidelines for video ad measurement and impression counting.
Server-side tracking workflow
The following diagrams illustrate the complete server-side tracking workflow, showing when tracking events are fired in relation to player requests:
- Phase 1: Session initialization
-
The player requests a manifest from MediaTailor, which returns a personalized manifest containing ad segment URLs:
- Phase 2: Ad request and impression tracking
-
When the player requests the first ad segment, MediaTailor fires impression and start beacons to both the Ad Decision Server and Ad Verification Services:
- Phase 3: Quartile tracking
-
MediaTailor fires quartile beacons (first quartile, midpoint, third quartile, completion) based on subsequent segment requests:
- Phase 4: Segment delivery
-
After firing tracking beacons, MediaTailor redirects to the actual ad segment from Amazon CloudFront or your CDN:
The server-side tracking workflow includes the following key timing behaviors:
-
Session initialization - The player requests a manifest from MediaTailor. MediaTailor returns a personalized manifest containing ad segment URLs with the
/v1/segmentpath. -
Manifest parsing and caching - The player parses the manifest and may pre-load or cache segment information. No tracking events are fired during this phase, regardless of player caching behavior.
-
Ad segment request and impression tracking - When the player actually requests the first ad segment (typically for playback), MediaTailor fires the impression beacon and start tracking event to both the Ad Decision Server and Ad Verification Services. This occurs on the actual HTTP request to the
/v1/segmentURL, not when the manifest is parsed. -
Quartile tracking based on segment requests - MediaTailor fires quartile beacons (first quartile, midpoint, third quartile, completion) to both the Ad Decision Server and Ad Verification Services based on subsequent segment requests that correspond to the calculated quartile positions within the ad duration.
-
Segment delivery - After firing the appropriate tracking beacon, MediaTailor issues an HTTP redirect to the actual ad segment (either from Amazon CloudFront or your CDN).
Player caching and pre-loading considerations
MediaTailor server-side tracking is designed to be compatible with various player caching and pre-loading strategies while maintaining accurate impression measurement:
-
Manifest pre-loading - Players that pre-load or cache manifest information do not trigger tracking events. Tracking events are only fired when actual segment requests are made.
-
Segment pre-fetching - If a player pre-fetches ad segments before playback, tracking events will fire when those segments are requested, potentially earlier than the actual playback time. This behavior aligns with industry standards that consider segment requests as valid impressions.
-
Player buffering - Standard player buffering behavior (requesting segments slightly ahead of playback) will trigger tracking events at the appropriate times based on the segment request pattern.
Troubleshooting tracking discrepancies
If you notice discrepancies between MediaTailor server-side tracking and third-party metrics, consider the following factors:
-
Player behavior differences - Different players may have varying pre-fetching and buffering strategies that affect when segment requests are made.
-
Network conditions - Poor network conditions may cause players to request segments multiple times or at different intervals than expected.
-
CDN configuration - Incorrect CDN caching of
/v1/segmentrequests can lead to missed or duplicate tracking events. -
Session management - Ensure that each playback session uses a unique session identifier to prevent tracking event conflicts.
For detailed troubleshooting guidance, see Troubleshooting common issues.