Appearance
#23d -- VCR Breakdown by Exchange/OS
Priority: High Status: In Progress Category: Delivery Raised by: Min Hein Kyaw, 22 May 2026
Problem
Post-VAST fixes (#23a, #23b), Cavai average VCR is ~80% vs Humology's internal benchmark of 87%. GAM exchange and Android cohorts are pulling the average down.
Key numbers:
- GAM: 70.96% VCR
- Android: 79.37% VCR
- iOS: 90.95% VCR
Kevin's Assessment (Discord)
Working on it currently, also expecting next week release. Android is going to get a bump, iOS will most likely stay the same. When streaming, we always have AV1 as stream option too, but it might be that some older Android devices don't have hardware support for it and try to do software decoding, which results in too much CPU usage and ad is closed coz of it. Apple won't pick AV1 at all, if it doesn't have harware support
Another option would be to turn off AV1 and just go with good old h264. It's rather reliable, but it's also more costly to deliver, especially on longer videos
Another option is to create separate playlist file that has only h264 media in there and that's used for VAST only. Then primary desktop ads can still pick either AV1 or h264. Kinda best of both words, but requires most dev time to figure out how to handle it
Available Data
The VCR/CTR comparison Excel (8 Jun 2026) contains:
- Creative Report (16 rows): per-creative daily data comparing DSP Cavai, DSP Non-Cavai, and Cavai Report numbers
- Example: Pfizer Prevenar campaign (Sweden) -- lower CTR and VCR on Cavai vs non-Cavai with identical settings
- Exchange App Report (1937 rows): per-exchange, per-app breakdown with impressions, clicks, complete views
- Exchanges include: Google Ad Manager, Digital Turbine, and more
- Apps include: eFootball, Dream League Soccer, Top Eleven, Head Ball, etc.
- Massive dataset for analysis
Min Hein (9 Jun) shared comprehensive app and exchange breakdown reports with Haakon.
Cavai Feasibility Assessment
Can we fix this from our side? Yes, Kevin is actively working on it.
Root cause (Kevin's analysis): AV1 codec on older Android devices.
- AV1 is offered as a streaming option alongside h264
- Older Android devices lack hardware AV1 decoding, fall back to software decoding
- Software decoding causes excessive CPU usage, device kills the ad
- iOS avoids this problem entirely by never picking AV1 without hardware support
Three potential solutions:
| Option | Impact | Cost | Downside |
|---|---|---|---|
| Turn off AV1 globally | High -- fixes Android | Low dev time | Higher delivery cost (h264 larger files), loses AV1 benefits on capable devices |
| Separate VAST-only h264 playlist | High -- fixes VAST Android | Medium dev time | Need to figure out playlist routing |
| Keep current + wait | None | None | Problem persists |
Kevin recommends option 2 (separate VAST playlist) as "best of both worlds" but notes it requires the most dev time.
Next Steps
- Kevin expects a release next week (from 26 Jun, so ~early July)
- Android VCR should improve; iOS will stay the same
- The exchange/app data (1937 rows) could help identify which specific publishers/apps have worst VCR
- GAM's low VCR (70.96%) may have additional causes beyond codec -- worth investigating GAM-specific behavior
Related Items
- #15 (completion rate drop -- overlaps significantly)
- #23a (rewarded video transcoding -- released)
- #23b (VAST tag stack fixes -- released)
- #23e (malformed VAST rejections)