Ad Queuing

Prev Next

On InStream inventory, a broadcast break is signaled to Triton Digital as the break starts, through a "cue point" in the audio feed's metadata. As all listeners of the radio station are getting the same content, the commercial break takes place for all listeners at the same time. Also, all radio stations tend to have their commercial breaks around the same time. This makes it impossible to request ads, trim/transcode/normalize the creatives to each listener's stream specification, and stitch it all in real time. For this reason, ads are pre-fetched ahead of the break, and prepared and queued in the streaming server, where they wait for the commercial break. The impression will therefore be delayed from the bid request.

In some cases, ads are flushed from the queues and no impressions get called. This happens if the ad has reached its expiry time (maximum time allowed in the queue) or if the listener disconnects before the ad was stitched into the stream. The expiry time is indicated in the bid request's imp.exp attribute. For mid-roll ads, this can reach 30 minutes. For pre-roll, ads are requested at the session start so their expiry time is short, typically around five minutes (although the impression will most likely happen before that). A buyer can request a shorter expiry by providing a seatbid.bid.exp attribute in the bid response. This is can be used if the end of a campaign's daypart is due to arrive sooner than the expiry. In general, it's better to respect the expiry provided in the bid request, as it is optimized to avoid useless chatter (constant bid requests and ad cancellation).

OnDemand inventory usually makes ad requests "just in time" (usually one song before the ad break) so the impression reporting is usually delayed of a couple minutes from the ad playback time.