Onsite Video Tracking
Measuring Engagement That Actually Matters
As video becomes an increasingly dominant ad format in commerce media, understanding how viewers interact with ads - not just whether an impression was served - is essential for optimizing ad performance. Koddi's video tracking captures the full lifecycle of a video ad: from the moment it begins playing to completion, including pauses, clicks, and custom client-defined events.
Koddi tracks video events in alignment with the IAB standards, giving advertisers accurate, granular data across every video placement.
Video Tracking Events
Koddi captures video events via beacons fired from the publisher's video player to Koddi's Event Collection endpoint. Events fall into two categories:
Explicity sent as events
| Event | Description |
|---|---|
| impression | The ad met the viewability threshold |
| click | The viewer clicked on the ad |
| start | The video began playing |
| complete | 100% of the video has played |
| pause | Video was paused by the viewer |
| firstQuartile | 25% of the video has played |
| midpoint | 50% of the video has played |
| thirdQuartile | 75% of the video has played |
| clickToPlay | The viewer clicked to initiate the video (when autoplay is disabled) |
| playerExpand | Player expands (e.g., from inline to fullscreen or larger format) |
| playerCollapse | Player collapses to original size |
| closeLinear | User closes the ad experience (e.g., collapses an expanded ad) |
| progress | Fires once the viewer reaches a set playback threshold, defined as either a timestamp (e.g., 00:00:05.000) or a percentage of total duration. Used to measure early engagement. |
| mute | When the video’s audio is muted |
| unmute | When audio is turned back on after being muted |
| rewind | When the viewer rewinds the video (goes backward) |
| resume | When playback resumes after being paused |
| fullscreen | When the video enters fullscreen mode |
Derived from other events
| Event | Description |
|---|---|
| vtr | Of all impressions served, how many resulted in a completed view? Video Through Rate = Total Video Completions ÷ Total Impressions × 100 |
| vcr | Of the people who started watching the video, how many finished it? Video Completion Rate = Total Video Completions ÷ Total Video Starts × 100 |
In addition to standard events, Koddi supports client-defined custom tracking events.
Custom events:
- Client-level custom actions (e.g., flash_impression)
- Stored separately in video_beacon_logs
- Reported as custom_events.
in reporting endpoints
*Tracking URLs are fired by the video player at the moment each milestone is reached and received directly by Koddi's Event Collection endpoint.
This allows clients to extend Koddi's tracking to meet proprietary measurement requirements without affecting standard IAB event reporting.
Video Metrics
Koddi surfaces the following metrics in reporting, all derived from the tracking events above:
| Metric | Description |
|---|---|
| Video Completion Rate (VCR) | Measures how many viewers who started the video watched it all the way through: VCR = Total Video Plays ÷ Total Video Starts × 100 |
| View Through Rate (VTR) | Measures how many total viewed impressions resulted in a full video view: VTR = Total Completed Impressions ÷ Total Impressions × 100 |
| View count | For each quartile milestone, Koddi reports the number of viewed impressions that reached that milestone |
| View % | For each quartile milestone, Koddi reports the share of total viewed impressions that reached that milestone (e.g., First Quartile View % = # reaching 25% ÷ total viewed impressions) |
| Pause count | Total number of pause events recorded |
| Click count | Total ad clicks |
| Click-to-Play count | Total clicks that initiated playback |
| Average Seconds Viewed | Average watch duration across all impressions |
| vCTR | View Click-Through Rate = Clicks ÷ Completed Views × 100 |
| Video Unmutes | The number of impressions where the customer unmuted the video |
| X Seconds View Rate | The percentage of impressions where the customer watched the complete video or at least X seconds, whichever is shorter |
Methodology
For each reporting grain (ad group, campaign, advertiser, creative, placement, date, etc.) Koddi aggregates and calculate metrics as mentioned above. Duplicate events are removed prior to aggregation as well as invalid traffic (more on how Koddi does that here).
- Replay handling: Quartile events are emitted once per impression. If a user replays a video within the client's configured impression/click deduplication window, any quartile events already recorded for that impression are deduplicated and not counted again. Once the deduplication window expires, the replay is treated as a new impression and a new set of quartile events may be emitted.
- Seek handling: If playback seeks across one or more quartile thresholds, each previously unreported milestone is be emitted once in chronological order.
- Pause/resume handling: Playback continues to be associated with the original impression. Quartile events are emitted as playback reaches each milestone, subject to client deduplication rules.
- Buffering / Player Errors / Abandoned Sessions: Buffering, network interruptions, or player errors do not invalidate previously recorded milestones. Quartile events will only be counted once the corresponding playback threshold has been successfully reached.
Bringing It All Together
Koddi's video tracking gives advertisers and publishers a complete picture of video ad performance:
- Full event capture for start, pause, complete, click, and impression events
- Two distinct completion metrics - VCR (completes/starts) and VTR (completes/impressions)
- Quartile drop-off reporting to pinpoint where and why viewers disengage
- Third-party verification support for advertisers who require independent measurement
Whether you're optimizing creative, evaluating placements, or validating spend, Koddi's video tracking provides the precision needed to make confident, data-driven decisions.
Updated 1 day ago

