Report THEOads interstitial errors as failed ads to Conviva - #108
Merged
Conversation
Co-Authored-By: benny.tepfer <benny.tepfer@dolby.com>
- Add calculateInterstitialAdBreakInfo() including the missing POD_POSITION derived from the interstitial start time, and fix POD_DURATION to an Int to match calculateCurrentAdBreakInfo(). - Add POD_POSITION to calculateCurrentAdBreakInfo() as well, matching the web connector. - Extract collectBaseAdMetadata() for the c3.csid and contentAssetName tags shared by successful and failed ad reporting, and replace the scattered "Server Guided" literals with the SGAI_AD_TYPE constant. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
tvanlaerhoven
requested review from
Dev1an and
Jeroen-Veltmans
and removed request for
Dev1an
August 13, 2026 19:37
Jeroen-Veltmans
approved these changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
A THEOads (SGAI) ad break can fail before any ad exists - e.g. an empty VAST response makes the ad request fail before an ad break is created. In that case no
adbreakbegin/adbegin/aderroris dispatched, only THEOads'interstitialerror, which the Conviva connector didn't listen to. Conviva therefore never saw an ad attempt, and fill rate looked like 100%.Solution
The connector now listens to interstitialerror on the THEOads integration. For ad break interstitials that fail while no ad break is active, it reports:
reportAdBreakStarted → setAdInfo → reportAdFailed(message) → reportAdBreakEnded
Errors during an ongoing break keep using the existing aderror path, so nothing is reported twice.
Implementation notes