Playlist Generation
On this page, we describe how Broadsign Control Player automates playlist creation.
Broadsign Control 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 Control 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 result in a playlist of ad copies. The software filters the playlist through loop transformation rules, as specified in the loop policy (see Loop Policy Transforms). 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 in 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 Control Player will only take into account ad copy bundles that are in schedules that are in effect at the current moment in time.
Empty schedules and bundles are ignored.
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 Control Administrator:
- Place multiple ad copy bundles on 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, for example, schedule weight '0' will play before schedule weight '100', etc.
Booking a campaign across a heterogeneous network of displays often requires matching multiple versions of the same ad copy to their corresponding displays.
This can be greatly simplified by the use of bundles, ad copy criteria, plus the ability of Broadsign Control Player to automatically match ad copy to the resolution or aspect ratio of a display.
For example, a campaign may be targeted to 3 different aspect ratio displays:
- 16:9 Wide-screen
- 4:3 Normal
- 4:3 Anamorphic (stretches across a 16:9 display)
In the example above, you would create a criterion for each aspect ratio and assign it to the proper display units or frames.
To take advantage of criteria matching, add the multiple versions of ad copies to an ad copy bundle, one for each media requirement, and then set proper criteria to match ad copies to requirements of the display units.
Or, you can allow Broadsign Control Player to try to match the resolution or aspect ratio of the ad copy to the display automatically, without the need for human intervention.
Ad Copy Criteria Matching
Ad copy criteria matching operates as follows, in sequence:
- Criteria Matching:
- When a player picks which ad copy to download and play from a bundle, it first seeks a match based on the ad copy criteria matching mechanism.
- Criteria and conditions have precedence over resolution matching.
- Only ad copies with the most matching criteria will be downloaded and played.
- If two or more ad copies match a criteria, then the one with the lowest id will be downloaded and played.
- If any criteria match is found, the subsequent steps are skipped.
- If no criteria match is found, then the player moves to the next step.
- Frame and ad copy resolution matching:
- Only ad copies with automatic Width and Height detection are included for consideration (Images and Videos).
- Only ad copies that match the Width and Height of the on screen Frame will be downloaded and played.
- If two or more ad copies match the frame Width and Height, then the one with the lowest id will be downloaded and played.
- If any Width and Height match is found, the subsequent steps are skipped.
- If no Width and Height match is found, then the player moves to the next stage.
- Frame and ad copy Aspect Ratio matching:
- Only ad copies with automatic Width and Height detection are included for consideration (Images and Videos).
- Only ad copies that match the aspect ratio of the on screen Frame will be downloaded and played.
- If two or more ad copies match the aspect ratio, select the ad copy that has the highest Width and Height.
- If there is still a tie, then the player selects the ad copy with the lowest id.
- No best fit:
- The player picks the ad copy with the lowest id in the bundle.
Broadsign Control Player filters your playlist through loop transformation rules, as specified in the loop policy (see Loop Transformation Tab).
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.
For more information, see Use 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 unsuitable to be adjacent (that is 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 decided 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.
-
For the secondary separation to work, the primary separation of the campaigns must be in the other's list, either as primary or secondary separation. To decide if campaigns will be separated, Broadsign Control Administrator compares the list of separation categories in a campaign only with the primary separation categories of other campaigns.
- The relative importance of the secondary categories is dynamically worked out 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.
Note: As with regular category separation, if a loop contains more than 50% of slots that have the same primary/secondary separation rules it will not be possible to avoid adjacent playback. The more secondary categories assigned the more likely this is to happen.
For more information, see Use Category Separation.
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 proper conditions set.
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.
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.
Note: Filler content is unable to respect triggers (synchronization), for example, Frame Synchronization. If you would like to synchronize filler content, use the same ad copies in a pre-emptible campaign, instead.
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.
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 are not enough unique Ad Copy Bundles to fill in all the filler slots, then Broadsign completes the loop by repeating the filler content that is available.
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.
Note: Filler content is unable to respect triggers (synchronization), for example, Frame Synchronization. If you would like to synchronize filler content, use the same ad copies in a pre-emptible campaign, instead.
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.
Preemptible campaign slots are appended to the loop if the loop is not already full. Preemptible campaigns take precedence over filler.
Broadsign Control Player calculates a playlist for each loop with a maximum loop duration to keep, if it is configured (see Duration Tab). When generating loops, Broadsign Control Player keeps in memory whether this maximum duration has been exceeded (debt) or not reached (credit). If there is a credit, the next loop can be filled a little bit more.
When combined with under-saturation transformation, the playlist generation system keeps track of the debt or credit of the loop duration across iterations to respect campaign performances.
For example, lets say that we have the following scheduling:
- Campaign A: saturation 1.00, duration 10 seconds
- Campaign B: saturation -2.00, duration 10 seconds
- Campaign C: saturation -2.00, duration 10 seconds
- Campaign D: saturation -2.00, duration 10 seconds
- Campaign E: preemptible, saturation 99.0, duration 5 seconds
- Maximum loop duration: 25 seconds
Iteration 1:
The loop will have campaigns A, C and D, for a total duration of 30 seconds.
There is now a debt of 5 seconds.
Iteration 2:
The loop will have campaigns A and B only for a total duration of 20 seconds.
In this case, the playlist generation system could have added the premptible Campaign E to fill the loop up to 25 seconds, but due to the debt of 5 seconds from the previous iteration, nothing is added.
The debt returns to 0.
Iteration 3:
Campaigns A, C and D again.
Iteration 4:
Campaigns A and B again.
etc.
With this behavior, the average loop slot duration remains the same and campaign performances are respected.
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 playback. This feature randomizes the order of filler content that is selected to be played back in a loop.
Note: Filler content is unable to respect triggers (synchronization), for example, Frame Synchronization. If you would like to synchronize filler content, use the same ad copies in a pre-emptible campaign, instead.
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, that is 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.
For more information, see Use Category Segmentation.
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.
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.
Note: Share of loop disables certain other loop transforms. If you enable share of loop, and navigate to Settings > Loop Transformation in the loop policy properties, incompatible loop transforms will appear greyed out. Also, a note appears saying "Incompatible with share of loop".