Skip to main content

Managed Ad Break Activation in Live Streams

Ad insertion and the resulting revenue are a core service offering for Audio Streaming customers. While there are lots of different aspects to playing commercials and ads on your station streams, this article focuses on using the ad triggers and how they work.

This article will cover:

  • Ad Trigger File Overview
  • Configuration Guidelines and Operational Notes
  • Fundamentals of Ad Insertion
  • Automating Hourly Ad Breaks with SAM Broadcaster

In order to trigger the ad insertion mechanism on our servers, It is required to place Trigger Files into your automation program and ensure that the metadata is being correctly sent. You may also choose to run more than the required minimum number of hourly triggers, and this could allow your station to generate more revenue.

Ad Trigger File Overview

Here is an overview of the ad trigger files:

The ad trigger files are located in the ZIP folders linked below.

Each folder contains files for specific lengths (120, 90, 60, 30 seconds), and there are 5 copies of each trigger spot. This is so that customers can trigger multiple ads of the same length in your automation system.

Once downloaded, unzip the folder and place the ad trigger. MP3s where your automation system pulls tracks from.

 

Here are the ad trigger files in sets of 5 and contained within ZIP folders:

120 Second Ad Triggers

90 Second Ad Triggers

60 Second Ad Triggers

30 Second Ad Triggers

 

Configuration Guidelines and Operational Notes

Some automation systems require additional steps in order to get the ad triggers to actually trigger ads. These settings control how metadata is transmitted for certain files and the frequency at which ads are played as part of your programming rotations. You'll want to follow instructions specifically related to your automation system.

It is required to run a minimum of 3 minutes and 30 seconds of trigger files an hour if you are running pre-roll spots. If you are not running pre-roll spots, then the minimum is 4 minutes. You will need to choose whether or not you would like pre-rolls enabled. 

You must point all of your listener traffic to the stream server that we have provided you, if not, the system will not receive ad impressions for those listeners. We highly suggest the use of PLS and ASX files to give to directories such as iTunes, Windows Media Guide, and TuneIn for distributing your stream.

We may need to update the ad trigger files for technical reasons. When this happens, our team will announce it. It will be important that you delete any old trigger files from your local music library or the folder that your automation software picks the trigger files from so that customers can replace them with any updated versions.

 

Fundamentals of Ad Insertion

The audio content of the triggers is irrelevant, as the files themselves contain a metadata trigger to insert an actual ad on the listener's end. As such, customers may choose to hear the same audio over and over again if you are listening to the "studio feed" of your station. When you listen as a listener through a stream link or player, you'll then hear the inserted ads and not the triggers.

The ads are inserted to the listeners depending on several dynamic factors, including their geolocation. In other words, listeners from different cities or counties may be hearing different commercials on your stream while tuned in at the same time. For example, your listeners in London will hear different ads than those in Edinburgh. Tuning in from a different computer or mobile device is not enough to hear different ads: You would need to travel to a different city, county, or even country in order to notice the difference in ads being inserted.

From time to time, some locations may hear more PSA's than ads. This depends on the ad market availability of ads to be served to that geographic region. When there is a low ad availability, listeners in certain areas may hear more PSA's than ads. This varies, and we strive to maintain a high number of high-quality ads available to be delivered across our network.

Adverts will change in variety as existing or new advertisers submit new ads to the ad provider. The resulting change in variety is based on the regional market where those ads are meant to be delivered to.

 

 

Automating Hourly Ad Breaks with SAM Broadcaster

With SAM Broadcaster PRO, the Ad Trigger files can be programmed to air at certain times of each hour using PAL Scripts. PAL is short for Playlist Automation Language and was developed to give station programmers full power over their station rotation.

 

Step 1: Download the 1 minute ad triggers archive and extract the .zip file somewhere on your computer. The ad triggers are available here.

 

Step 2: Save ad triggers in your desired hard drive folder, create a new playlist in SAM called "advert-60" and add the ad trigger files to the newly created playlist. It is important to use the name "advert-60" for the playlist because this syntax is currently coded in the .pal script which we are going to provide.

Playlist ad breaks

Step 3: Right-click on each ad trigger file, then select Song Info and make sure the Type is set to A-Advertisement.

ADWTAG

Step 4: Navigate to “C:\Users\[Your User]\AppData\Local\SpacialAudio\SAMBC\PAL\” and create a new text file. Give it a name of your preference that would distinguish it from other .pal scripts. 
Make sure the extension is set to .pal, not to .pal.txt.

 

Step 5- Add the .pal file that you just created to the SAM Broadcaster PAL Scripts window by navigating to the specified path. Once it's in the list, double click to edit it and copy/paste the following code:

PAL.Loop := True;                              // Loop the PAL Script

 

// Variable Declarations

var Player1 : TPlayer;                         // Declare an instance of TPlayer for the Active Player

var Player2 : TPlayer = DeckB;                 // Declare an instance of TPlayer for the Idle Player

 

var CountRep : integer;

var AdBreakTotal : integer;

var AdCount : integer;                         // Used to count the number of adverts

var P1Track, P2Track, P3Track : TSongInfo;     // Declare the TSongInfo Containers

// End Of Variable Declarations

 

// Declare Adjustable Variables

CountRep := 1;

var AdTotal : integer = 1;                     // Set the number of adverts to play

// End Of Declare Adjustable Variables

 

While Countrep <5 do

begin

case CountRep of

1 : PAL.WaitForTime ('XX:00:00');

2 : PAL.WaitForTime ('XX:15:00');

3 : PAL.WaitForTime ('XX:30:00');

4 : PAL.WaitForTime ('XX:45:00');

end;

CountRep := CountRep + 1;

 

PAL.LockExecution;                         // Speed up the Script processing

 

// Check for the Active Player

Player1 := ActivePlayer;                   // Assign the Active Player to Player1

If Player1 = DeckB Then Player2 := DeckA;  // Assign the Idle Player to Player 2

 

// Add the required number of adverts to the top of the queue

for AdCount := 1 to AdTotal do

begin

CAT['advert-60'].QueueTop(smLRP,NoRules);

writeln(AdCount);

end;

 

// Capture the Track Information from the Active Player

P3Track := ActivePlayer.GetSongInfo;

 

// Count the Adverts before reducing the Player Volume

while (AdCount < AdTotal) AND (P3Track['songtype'] <> 'S') do

begin

PAL.WaitForPlayCount(1);                 // Wait for the Advert to Play

P3Track := ActivePlayer.GetSongInfo;     // Capture the next Track Information

end;                                     // end for the While loop

 

PAL.UnLockExecution;                       // Return PAL Script processing to normal speed

end;

 

// Housekeeping

Player1.Free;

Player2.Free;

P1Track.Free;

P2Track.Free;

P3Track.Free;

HTML

6. Step 6- Lastly, run the .pal script you've just created by clicking on the play button within the PAL scripts window.

PAL script

If all the steps have been followed, It is recommended to start seeing a timer until the next advert trigger file will be queued. A 1 minute ad break will be triggered and playing on your station at :00, :15, :30, :45 each hour.