How to Implement ITG Using MediaTailor

To enable ITG rendering of NonLinearAd units during live events, a multi-stage signaling process must be orchestrated through the AWS Elemental workflow. This implementation requires coordinating real-time data triggers with SCTE-35 markers, processing them through MediaLive and MediaPackage, and using MediaTailor to request NonLinearAd content from the ad server. The OTT application then retrieves this content by polling the tracking URL provided in the MediaTailor session initialization response.

image.png

Step 1: Signal Marking (SCTE-35)

Send SCTE-35 signal with SegmentationUpidType 52 (represents overlay opportunity) to MediaLive. Here is an example of the SCTE-35 marker.

{
    "ScheduleActions": [
        {
            "ActionName": "{uniqueNumber}",
            "ScheduleActionSettings": {
                "Scte35TimeSignalSettings": {
                    "Scte35Descriptors": [
                        {
                            "Scte35DescriptorSettings": {
                                "SegmentationDescriptorScte35DescriptorSettings": {
                                    "SegmentNum": 1,
                                    "SegmentationCancelIndicator": "SEGMENTATION_EVENT_NOT_CANCELED",
                                    "SegmentationEventId": 99999,
                                    **"SegmentationTypeId": 52,**
                                    **"SegmentationUpid": "313233346E6F6E6C696E656172",**
                                    "SegmentationUpidType": 12,
                                    "SegmentsExpected": 1
                                }
                            }
                        }
                    ]
                }
            },
            "ScheduleActionStartSettings": {
                "ImmediateModeScheduleActionStartSettings": {}
            }
        }
    ]
}

Step 2: Configure NonLinearAds in the Ad Server

Configure your ad server to serve NonLinear VAST responses, ensuring the StaticResource element contains the ITG creative in JSON format.

image.png

** Screenshot from Google Ad Manager

Step 3: Configure Your Ad Server URL in AWS MediaTailor

Set up an ad unit in your ad server that supports both Linear and NonLinear ad formats. Then, add the ad server URL to your AWS MediaTailor configuration.

Example Ad Server URL (Google Ad Manager):

<https://pubads.g.doubleclick.net/gampad/ads?iu=/55646404/flexi_ad_unit&vpos=midroll&videoad&output=vast&correlator=%5Bavail.random%5D&avail_id=%5Bavail.index%5D&scte_segmentation_id=%5Bscte.segmentation_upid%5D&segmentation_type_id=%5Bscte.segmentation_type_id%5D&vad_type=%5Bscte.segmentation_upid%5D>

These three parameters leverage SCTE-35 metadata to enable dynamic ad decisioning. The scte_segmentation_id passes the unique program identifier (UPID) from the SCTE-35 marker to your ad server, allowing it to identify specific content or ad break types. The segmentation_type_id indicates the type of content break (such as program start/end, chapter start/end, or ad break), helping the ad server determine appropriate ad placement rules. The vad_type parameter repurposes the UPID value to communicate custom ad type information, which can be used to trigger specific ad campaigns or creative formats based on the content context.Add to Conversation

Note: This example uses Google Ad Manager (GAM), but you can adapt the format for any VAST-compliant ad server. The bracketed values (e.g., %5Bavail.random%5D) are MediaTailor session variables that get dynamically replaced during playback.

Step 4: Implement Client-Side ITG Ad Handling in Your OTT Application

Configure your OTT application to continuously poll the tracking URL provided in the MediaTailor session initialization response. When the polling returns a NonLinear Avail, extract the URL from the StaticResource element within the NonLinearAd Avail object, this URL points to your ITG ad configuration. Fetching this URL will return a JSON object containing all the necessary ITG ad unit details for rendering

Rendering the ITG Ad Unit