On This Page:
Banner Selection Mechanism.
Zone Level Invocation
The following described the banner selection mechanism when using zone invocation tags or website invocation tags.
Step 1: Zone Blocking and Capping Rules Applied
There is zone blocking in the MAX_limitationsIsZoneForbidden() function. Is this still real? Where is it in the UI?
Zones may be capped, to display a certain number of impressions in total, or per session, to any given user, with or without a reset of the counters after a certain amount of time.
In the event that a zone is either blocked and/or it's capping rules prevent the zone from displaying, then no banners will be displayed for the zone - in which case, Revive Adserver will skip ahead to Step 4 below.
Step 2: Select All Banners
Next, Revive Adserver retrieves all banners which can potentially be displayed in the zone, based on a cache of which banners are linked to the zone.
The cache is updated periodically - but may mean, depending on the Revive Adserver configuration and deployment, that some changes to banner/zone links in the user interface take a little while before appearing.
Step 3: Campaign Type Iteration
Next, Revive Adserver iterates over the possible banners by campaign type.
Specifically, Revive Adserver follows the process below, in the following order:
- Inspection of banners from Override campaigns; then
- Inspection of banners from Contract campaigns; then
- Inspection of banners from Remnant campaigns.
This process ensures that if (for example) there are banners from all three types of campaign linked to a zone, then, if it is possible to deliver a banner from the Override campaign, then that will happen.
Step 3.1: Invalid Banners Discarded
For the banners which could potentially be displayed, from all of the campaigns of the campaign type being considered, any invalid banners which cannot be displayed are excluded. Specifically:
- If the invocation tag is not the first on the page (and where supported), then if any banner from a campaign where companion positioning has been enabled has already been selected for display, then all banners from all other campaigns will be excluded. That is, only banners from the same companion positioning campaign will be able to be displayed.
- Revive Adserver forces the expiration of any campaigns, so that banners from any campaigns that have just passed their end date are excluded, even if scheduled maintenance has not run yet.
- A list of excluded banners, campaigns and advertisers are checked. Where do these lists come from - parameters in the tag? Any banner in these lists will be excluded.
- A list of included banners and campaigns are checked. Where do these lists come from - parameters in the tag? Any banner NOT in these lists will be excluded.
- As with zones, banners may be capped, to display a certain number of impressions in total, or per session, to any given user, with or without a reset of the counters after a certain amount of time. In the event that a banner's capping rules prevent the banner from displaying, then the banner will be excluded.
- If the zone invocation tag is being called over HTTPS, then any HTML banners which are not safe to be displayed over HTTPS will be excluded (to prevent HTTPS/HTTP mixed content warning messages).
- Banners can be configured with a number of different Delivery Limitations. These limitations are checked, and any banners which would fail their limitations are excluded.
At this point, it is possible that there are no remaining banners available to be displayed for the campaign type being considered. In this case, Revive Adserver considers the next type of campaign. If there are no further campaign types to consider, then Revive Adserver skips ahead to Step 4 below.
Step 3.2: Banner Selection
At this point, Revive Adserver has determined that there is at least one banner from the campaign type being considered which it is valid to display.
If there is only one such possible banner, then it is displayed.
If there are two or more such possible banners, then Revive Adserver calculates the relative desired delivery probability of the remaining banners, generates a random number, and selects a banner based on this random number.
Revive Adserver selects a banner based on the relative desired probability of the remaining banners to ensure that, of the banners that it is possible to deliver, one of these banners will definitely be delivered.
However, this means that, where banners in a zone are regularly excluded from being displayed in Step 3.1 above, the actual relative delivery distribution in any given zone may end up being quite different from the apparent desired delivery distribution as shown in the zone's probability tab.
Be careful with how highly capped or limited banners can affect delivery!
Step 4: Zone Chaining
In the event that, after all of the above, no banner has been selected for display, then Revive Adserver will check if there is zone chaining in place. If so, then Revive Adserver will go to the next zone in the chain, and start the process from Step 1 above, with the new zone.