Boosting Ad Fill Rates with Advanced Ad Prefetching: A Solution Overview
In the fast-paced world of digital advertising, optimizing the delivery of ads is critical to maintaining user engagement and maximizing revenue. When dealing with high-traffic volumes, the risk of missed ad insertions due to server overload or request throttling becomes a real challenge. Enter advanced Ad prefetching, a proactive approach designed to streamline ad insertion and improve ad fill rates during live streaming.
The Problem: Ad Insertion Delays & Failures Under Heavy Loads
In a typical server-side ad insertion process for individual session:
- The ad delivery process involves dynamic ad insertion service detecting an ad break using an SCTE-35 marker.
- The dynamic ad insertion service triggers a call to the Ad Decision Server (ADS) to fetch ad information.
- The ad insertion service fetches ad creatives from the ad origin server and conditions the ads to build the ad pod.
- The ads are stitched into the manifest and delivered to the player.
This process works smoothly with a low number of sessions, but as session volumes and concurrent request spikes increase, the ad insertion service and ADS sometimes fail to deliver ads to certain sessions within the limited time available. These missed insertions result in a reduced ad fill rate.
The Solution: Advanced Ad-prefetching
Many Dynamic Ad Insertion (DAI) services have a basic prefetching mechanism. For example, Google Ad Manager (GAM) offers generic prefetching, where you can specify the "initial ad request duration". However, ad duration may vary, which can result in bloated or insufficient ad prefetching. For accurate prefetching, the DAI service needs to know the exact ad duration along with essential targeting information.
This solution leverages AWS MediaLive (EML) as the ABR distribution encoder, GAM as the DAI service, and Freewheel as the ADS. The solution employs Early Ad Break Notification (EABN), an API offered by GAM. By giving the ad insertion system advance notice of upcoming ad breaks, EABN smooths out request spikes and improves ad fill rates.
A similar solution can be applied to other services, provided certain prerequisites are met:
- The distribution encoder supports SCTE-250 (ESAM).
- The DAI service offers an API for notifying upcoming ad breaks. For example, AWS MediaTailor (EMT) offers CreatePrefetchSchedule API
The solution leverages the encoding and packaging delay inherent in content delivery. During testing, it was observed that the DAI service can receive an early warning of upcoming ads ranging from 6 to 15+ seconds. This advance notice allows ample time to stagger VAST requests to the Ad Decision Server (ADS), condition the ads, and build the ad pod. As a result, ad fill rates improved by 10% to over 15% during periods of high concurrent viewership. The exact lead time for early warning may vary depending on the specific configuration and system setup.
Advance Ad Prefetching Process
- Ad Marker Detection (Step 1): When an ad break marker is detected by AWS MediaLive (EML), it sends an ESAM (Event Signaling and Management) message to an ESAM processor.
- Processing SCTE-35 Signals (Step 2): The ESAM processor decodes the SCTE-35 signal (base64 encoded), retrieves the ad duration and other metadata, and sends a “NOOP” response back to EML.
- EABN Call (Step 3): The ESAM processor sends an API call to GAM, including ad duration, SCTE-35 cue, and other custom parameters for ad targeting, such as the Content Asset ID (CAID).
- Proactive Ad Preparation (Step 4 through 8): GAM requests ads from Freewheel, proactively preparing ads for all active sessions. This distributed preparation reduces load spikes during the actual ad break, resulting in higher ad fill rates and a smoother user experience.
Key Considerations
- Automation: The process is fully automated with no manual intervention, ensuring seamless operation during live broadcasts.
- Failure Handling: In case of any failure in the EABN workflow, the standard ad insertion process continues unaffected.
- Testing and Configuration: Robust testing and proper configuration of AWS MediaLive and GAM are critical to ensuring the solution's effectiveness in various scenarios.
Technical Requirements
To implement this solution, you need:
- ESAM Processor: A service to decode SCTE-35 signals and handle EABN API calls.
- GAM Configuration: Setting up Google Ad Manager to recognise EABN API calls.
- AWS MediaLive: Configuring AWS MediaLive to send ESAM messages as part of ad break orchestration.
Conclusion
Early Ad Break Notification is a powerful solution for ad delivery, especially in high-traffic environments. By managing ad break notifications proactively, the system prepares ads in advance, reducing missed opportunities and significantly improving ad fill rates.
Abbreviations:
- ABR: Adaptive Bitrate Streaming
- ADS: Ad Decision Server
- CAID: Content Asset ID
- DAI: Dynamic Ad Insertion
- EABN: Early Ad Break Notification
- EML: AWS MediaLive
- ESAM: Event Signaling and Management, SCTE-250
- GAM: Google Ad Manager
- SCTE-35: Society of Cable Telecommunications Engineers Standard for Ad Insertion
[Editor's note: This is a contributed article from Amazon. Streaming Media accepts vendor bylines based solely on their value to our readers.]