Priority and trafficking examples tutorial
Understanding Priority and Campaigns in OpenX
Terms to know:
Contract Campaign – High Priority Campaign
Remnant Campaign – Low Priority Campaign
MPE – Maintenance Priority Engine – The part of Maintenance which reviews campaign performance and updates banner priority factors.
OI – Operation Interval - The OI is the time interval for how often maintenance should run. In 2.4 this should not change from the default of '60'. In 2.6 and 2.8 you can set maintenance to run at different intervals.
A campaign's priority and weight settings affect how often its banners are displayed in any linked zones. The probability also depends on what other Campaigns/Banners are linked to a particular zone.
In OpenX there are three types of campaigns:
Contract (Exclusive): these campaigns have delivery priority over all other campaigns. The only distribution option allowed in the case of exclusive campaigns is campaign weight. The greater the weight, the more likely it is that an impression will be delivered.
Contract (High priority): this type of campaign has a target number of impressions/clicks to be delivered, and may also have an end date. OpenX attempts to deliver these impressions before delivering low priority campaigns. The priority level can be set between 1 and 10. A campaign with Impressions booked and an Expiration date set can only be a high priority campaign with automatic distribution.
Remnant (Low priority): This is for remnant inventory, and applies only when there are no exclusive or high priority campaigns available. The only distribution option is to set the campaign weight. The greater the weight, the more likely it is that an impression will be delivered.
More information on campaign properties: here
The Low Priority and Exclusive settings are the more basic settings which are not affected by the Priority Engine, and instead rely on weights to determine how often their banners are delivered.
Contract Campaigns are automatically altered by the Maintenance Priority Engine (MPE). The MPE will alter the weights of banners in a campaign to attempt an even distribution across a certain time period. The MPE runs when maintenance runs once per Operation Interval, and can also be run automatically when you edit your inventory. Automatically running the MPE option is turned on by default.
Weights
Contract (Exclusive) and Remnant (Low Priority) campaigns are affected by the Campaign Weight and Banner Weight settings, which run from 1 (lowest priority) to 10 (highest priority). The higher the weight/priority, the more often the banner will be displayed. Remember, if an exclusive campaign is linked to a zone it will always be used before any other campaigns if available.
Example:
If you have a zone called 'zoneA' and it has 3 banners from campaignA and 1 banner from campaign, then you will see with basic weight settings that the 3 banners from campaignA have a 25% probability of being served, and the 1 banner from campaignB also has 25% probability.
But, if you set campaignB's weight to '3' this banner will now have 50% probability, and campaignA's 3 banners will have 16.67% probability.
The calculations for "Low" and "Exclusive" priority campaigns is: (Banner weight * campaign weight / SUM(banner weight * campaign weight for all banners in the zone).
They are grouped separately, so Contract (Exclusive) campaigns are only compared against other Contract (Exclusive) campaigns.
Contract Campaigns
High Priority campaigns are, essentially, for when you want to limit a campaign's delivery so that it is delivered evenly across a certain time period. Before setting a campaign as an Contract Campaign make sure this is actually what is wanted, as it may be that you actually want to use Remnant Campaigns separated with weights.
An Contract Campaign will have a set end date and/or a delivery target (a set number of impressions, clicks or conversions to reach). If the campaign has both an end date and a delivery target the campaign properties will be set to automatic distribution. Automatic distribution is when OpenX will automatically alter the weights of the campaigns' banners to best distribute the target delivery across the specified time period.
If the Contract Campaign does not have both a set date and delivery target, then you must set a target number of impressions, clicks or conversions per day. Make sure to set a valid value for the daily target.
The Priority setting for an Contract Campaign is to help organize your Contract Campaigns into an order of delivery. During delivery, the delivery engine will try to deliver impressions from level 10 campaigns first. If none are found, the engine moves on to level 9 campaigns, and so on down the list. However, depending on the actual campaign settings it could be that a level 10 Contract Campaign has a lower probability of being delivered for a certain period than a level 9.
Zone Chaining
Chaining is used when you want to use a second set of banners in the case that the invoked zone has no banners to deliver. This option is set on a zone's advanced properties page.
Let’s say you want to deliver one campaign 3 times, then a second campaign 3 times, and then a third campaign 3 times, and following that a standard rotation of banners.
To do this you could set up a zone with one exclusive campaign and one Low Priority campaign, both capped to 3 times total. Set zone chaining to load a 2nd zone if all banners are exhausted. This 2nd zone will have one exclusive campaign capped to 3 times, and then a standard inventory of Contract Campaigns and Remnant Campaigns.
Considerations
At least 1 low priority and non-capped, non-targeted banner should be linked to a zone for accurate prioritization. The reason for this is that an impression is not counted if no banner is delivered. If no impressions are counted a certain percentage of times, this means that the number of impressions available will be seen as being less than it actually is, and the MPE will prioritize based on an incorrect traffic pattern.
For the MPE to deliver the best prioritization there should be at least two weeks of historical data for a zone. Until this level of data is reached the MPE is basing priorites strictly on the previous Operation Interval. After this level of data is attained the MPE will be able to more accurately gauge the average delivery for a certain OI over the course of those 2 weeks.
If you change the OI setting in OpenX then this 'two-week' requirement is reset, and you must wait for another two weeks after changing the OI until the MPE can again make use of a full average of historical data, rather than only the previous OI.
More information: here
Note: If you set the priority level of multiple Contract Campaign's to the same value and then assign them to a zone it could result in this zone becoming oversubscribed. In this case the priority engine will be unable to correctly sort through the multiple campaigns as they will all be of equal priority.
Trafficking Examples
An important question to ask when setting up campaigns is, “What is my goal?” Do not set a campaign as High Priority or Exclusive just because it ‘feels’ right: you should make sure its setting actually meets the requirements for that campaign. Remember, you should not say “I want a High Priority Campaign” - you should say “I want a campaign which delivers X impressions at Y rate” and then analyze which method might work best for your set-up.
Consider these situations:
I want one special campaign to be displayed three times, and then never again for the session. After this, use the other banners linked to the zone.
Set the special campaign to Contract (Exclusive) and set a session capping of ‘3’ on the main campaign properties. Make sure to set a time for how long the session should last. The exclusive campaign will always be delivered before any Contract Campaigns or Remnant Campaigns linked to the zone.
If you have multiple exclusive campaigns linked to a zone you can use the weights to determine how often one should be used versus the other. If you want one to be used 100% of the time, and then the 2nd campaign, and then the standard banners, you should use Zone Chaining (as described above).
I have some paid campaigns which I want to display more often than my other campaigns.
If you have certain campaigns which simply should be displayed more often than others, you most likely want to set all campaigns as Low Priority campaigns and give the higher paid campaigns a higher weight value. View the zone's probability screen to see an estimate of the impression distribution.
You want to use a Contract Campaign if you want the special paid campaign to limit its impressions to evenly distribute across the day or a time period. If there is no end date or target delivery for a campaign, it works well to set it as Low Priority and permanently set the weight.
I have 300k impressions a month for a zone. I have booked a paid campaign for 300k impressions for a month. I want this campaign to be used and only use a house campaign as a backup.
If you have a Contract Campaign which has a target of 300k impressions and there are only roughly 300k impressions available for the zone in that time period, this can have unexpected results. The priority engine is attempting to alter probability every OI to ensure that each campaign has impressions available for the full time period. If the campaign under-delivers by 5k for one OI it is then hard for these impressions to be regained, because you are targeting for 300k out of 300k impressions, and any missed impressions in an OI might not be made up even if priority is maxed out.
In such a case, consider setting the campaign as a Remnant campaign with 300k impressions booked. This way it will deliver at a standard rate and will stop after 300k impressions. Using Contract campaign in such a case is a good idea if you want 200k impressions in a month but 300k is what is available – this way the priority engine can work to ensure that impressions are available for the whole month. Remember, a Contract setting is actually meant to limit a campaign so that impressions are evenly distributed through a time period. It shouldn't be used to try and max out impressions.
I have a zone where I want to target users from the UK. I wish to display to them a special campaign which is set for 1k impressions over a month and also a house campaign. For non-UK users I wish to display a standard set of campaigns.
If you have 1 zone which wishes to target users of a certain limitation it will most likely work best to use Zone Chaining. Let’s say that you want to limit a campaign to only 1k impressions of UK users while the zone has 5k impressions for UK users available for the time period. However, the zone itself has 10k impressions for general users over the same time period.
The issue is that the special campaign wants to target 1% of the total traffic, but actually wants to have 20% of the available UK traffic. This will result in the campaign having 1% probability, but the user will not be from the UK every time it is requested.
If you set a primary zone which has only the UK targeted banners, the special campaign will now have a proper 20% probability, rather than a mere 1%. You can then set zone chaining to use a standard zone for when a user is not from the UK, and these targeted banners are not available.

RSS
Twitter
Facebook
FriendFeed