Playlist Generation

On this page, we describe how Broadsign Player automates playlist creation.

Broadsign Player generates a playlist by ensuring all campaign specifications are met according to the rules specified in the loop policy.

A deeper understanding of this function will help you get the most out of the playback engine.

Broadsign Player creates the playlist in the following order:

    • The player visits each campaign in the loop, and lists a schedule.
    • From the listed schedule, the player extracts an ad copy bundle. It is at this level that the software executes upon slot schedules and slot rotations.
    • The player performs ad copy criteria matching to select the best content choice from the bundle.
    • The previous three steps results in a playlist of ad copies. The software filters the playlist through loop transformation rules, as specified in the loop policy. The possible filters are:
        • Category Separator
        • Condition
        • Exclusive Loop Preprocessor
        • Loop Preprocessor
        • Loop Segments
        • Loop Slot Filler
        • Manual Adjustments
        • Over-saturation Loop
        • Preemption
        • Program
        • Random Loop Slot Filler
        • Under-saturation Loop

Slots are either created manually on a frame or in batch through the campaign wizard. Different content may play depending on the time of day, the day of the week and the day of the month. To program what content plays when, associate the ad copy to the desired schedule. When building the playlist from its slots, Broadsign Player will only take into account ad copy bundles that are in schedules that are in effect at the current moment in time.

It is possible to schedule a rotation of content in a slot in a way that each time the player visits a slot while playing the loop, it will play the next item in the rotation. You can perform rotations in two ways in Broadsign Administrator:

    • Place multiple ad copy bundles in the same schedule. The bundles will then rotate and playback in an undefined order.
    • Place multiple schedules with specific weighting in a campaign. The ad copy bundles in those schedules will rotate in ascending order by the schedule weight, e.g., schedule weight ‘0’ will play before schedule weight ‘100’, etc.

If you wish to book a campaign across a heterogeneous network of displays, one which would require multiple different versions of the same ad copy to satisfy all its media requirements, then you wish to use ad copy criteria matching. This is performed by adding multiple ad copies to an ad copy bundle, one for each media requirement, and to set appropriate criteria to match ad copies to requirements.

For example, a campaign may be targeted to 3 different aspect ratio displays:

    • 16:9 Widescreen
    • 4:3 Normal
    • 4:3 Anamorphic (stretches across a 16:9 display)

If you were to schedule the same file to all these Players, it may fit perfectly on one of them, but it would be distorted on the others. The solution here is to create one criteria for each aspect ratio and to assign them to the appropriate Display Units or Frames. You would then create 1 ad copy for each aspect ratio and you would also set the criteria on these ad copies. When you schedule the 3 ad copies in an Ad Copy Bundle, the Player will match the criteria on its Display Unit with that of the Ad Copy to decide which Ad Copy to download and play.

Ad copy criteria matching operates using a “best fit” strategy, meaning that the ad copy that best matches the display unit or frame criteria will be played. Even if an ad copy has no matches with the display unit, it might still be displayed if there are no other, better matches in the bundle.

Category Separator

Category separation ensures that Ad Copy Bundles of the same category do not play back to back. This is key to automating playlist creation by spacing out editorial content, competitive ads and even ads from the same advertiser.


This transformation is designed for use with conditions. Conditions are criteria that are set on the campaign or the bundle that must be met in order for the associated content to play. This transformation is responsible for removing playlist items that do not have approriate conditions set.

Exclusive Preprocessor

The exclusive loop preprocessor transform will only insert the complete set of Ad Copies from the playlist once they have all been downloaded and are present on disk. This transform eliminates a partial playlist from appearing on the Player.

Exclusive Loop Slot Filler

When used as part of a Loop’s transformations, exclusive loop slot filler will remove all filler content from future loops when a scheduled ad copy is downloaded and on disk. When used together with Exclusive Preprocessor this strategy plays only Filler content until the entire list of ad copies are downloaded and present on disk of the Player.

Loop Preprocessor

The preprocessor removes all Ad Copies from the loop that are not yet downloaded and on disk.

Since the preprocessor is performed after ad copies are extracted from the slots, a slot rotation that is missing one or more files on disk will lead to the slot being omitted from the loop for some iterations.

Loop Slot Filler

Filler slots are added to the loop based on the loop policy using the following formula:

(Loop Policy’s Loop Duration) – (Actual Duration of Loop)

Default Slot Duration

Using the same process as slot rotation, loop policy schedules are then sourced to produce content to fill those filler slots. If there is not enough unique Ad Copy Bundles to fill in all the filler slots, then those that are unfilled are dropped from the loop.

Since all the filler slots are of the same length (the default slot duration), the content strategy should take into account all filler ads being of the same duration.

Over-Saturation and Under-Saturation

You can create a Campaign that reserves multiple slots in the same loop. This is called over-saturation and is described as multiple plays per loop. You can also create a Campaign that reserves partial slots where the slot can be shared by multiple Campaigns. This is called under-saturation and is described as multiple loops per play.

Random Loop Slot Filler

This strategy will select ad copies at random from the default loop policy schedules present in a loop policy’s properties. Any ad copy from any schedule will be selected for play back. This feature randomizes the order of filler content that is selected to be played back in a Loop.

Second Level Separation

Secondary category separation
In cases where not only it is required to separate competing ads but it is also desired to separate them from other items in different categories judged inappropriate to be adjacent (i.e. separate car ads, but also separate cars from alcohol ads, and both cars and alcohol ads from prescription drugs), it is possible to implement secondary levels of separation.

In these cases, the secondary-level separation works by first determining the precedence level of the secondary categories with a count, and then proceeding to swap slot positions only if primary and any preceding secondary separation are not violated.

The separation precedence is determined as follows:

    • The primary separation category for all campaigns in the loop takes precedence over any secondary categories that have been assigned. Any re-ordering to accommodate secondary categories can only take place if primary category separation is not degraded.
    • The relative importance of the secondary categories is dynamically determined by how many items in the loop have a particular secondary category. The more a secondary category is present in the loop, the higher the precedence of that secondary category.
Category Segmentation

Category Segmentation is the complement to Category Separation where you can set a specific weight to all the ads in the loop. You use Categories to create a playlist template, i.e. define your segments and their relative order. You then add Ad Copy Bundles to segments by setting a segment category and you can weight the order of ads within a segment by setting a weight on the Ad Copy Bundle.

Mixing Segmentation with Separation

It is possible to use the Category Separation and Segmentation transforms together in a loop. The resulting effect will have the bundles with a category appearing in between segmented bundles for a television-like display of content.

When both transforms are present in a loop policy an example of the resulting order can be seen below:

Share of Loop

The Share of Loop feature allows network operators to apply contractual or planning quotas to a loop policy, splitting it up.

The player will intelligently increase or decrease playback of each type of content to meet the quota. We achieve this by making one category of content the primary, normally “advertising”; then, the player adjusts the other categories of content.

For more information, see Share of Loop.