Tip #11: Use the zone probability screen

One of the most useful screens in the OpenX ad server is the zone probability page. There’s an incredible amount of information that you can get from this screen about what’s happening with regards to banner delivery in your zones, if you know how to understand the information presented.

What’s linked and active?

The most immediately obvious information on the zone probability screen is the list of all banners that are linked and active1 in the zone. The fact that the zone probability screen only shows active banners can be useful, as it allows you to easily see the difference between banners that are active in the zone, and any banners that are merely linked to the zone, as shown on the linked banners screen.

Zone probability screen showing only active linked banners.

The zone probability screen showing only one active linked banner.

Zone linked banners screen, showing all (including inactive) linked banners.

The zone linked banners screen, showing two linked banners -- one of which is inactive.

What’s targeted and/or capped?

Any banner in OpenX can have delivery limitations or capping applied, to target the delivery of the banner to certain users of your website. However, targeting or capping not only applies to your users, it also applied to you when you are viewing your site. Sometimes, that means that when you view your own website, you won’t see some of the active banners linked to the zone!

As a result, it’s often important to know exactly which banners have targeting or capping applied. The zone probability screen makes seeing which banners in a zone are targeted or capped very easy.

The zone probability screen showing which banners are targeted and capped.

The zone probability screen showing which banners are targeted and capped.

What’s the approximate probability of seeing a banner?

The probability column of the zone probability screen shows, as you would expect, the approximate probability of OpenX delivering each of the active banners that are linked to the zone.

The probabilities shown are only approximate as a result of delivery limitations and capping.

  • When delivery limitations and capping rules are applied to Contract (Exclusive) and Remnant campaign banners, then the banners will usually be shown less often than the probability shown. This is because the delivery limitations and capping reduce the available inventory that the banners can be displayed in.
  • The OpenX Maintenance Prioritization Engine has code to compensate for the effect of delivery limitations and capping rules that are applied to banners in Contract campaigns. However, in The Guru’s experience, this compensation often means that the probability values shown on the zone probability screen for Contract campaigns are often, well, rather odd. This is because banners that are very highly targeted2 are given a very high probability — but because of the fact that during the banner delivery process, banners that cannot be displayed are discarded, and then the priority values are re-calibrated, this means that the un-targeted Contract campaign banners with apparently low probabilities on the zone probability screen actually end up with much higher probabilities after re-calibration.

Are Contract campaigns over-subscribed?

If you’ve read The Guru’s article on how the OpenX banner delivery process works, you will know that a banner from a Contract campaign may not deliver on every impression, in the event that the OpenX Maintenance Prioritization Engine has decided that not every impression is required to be used up to allow the Contract campaigns to meet their delivery targets.

The converse of this is that if you run Contract campaigns in a zone, and if almost every impression in the zone is being used by a Contract campaign, then it might be the case that there is not enough inventory in the zone for the Contract campaigns to meet their delivery targets — a condition known as the zone being “over-subscribed”.

You can easily identify this situation by looking at the probability of your Remnant campaign banners in the zone — in particular, look at your “guaranteed delivery” campaign banner. If the probability is zero (or very close to zero), then your Contract campaigns in the zone are using up all of the inventory (or almost all of it) — and so the Contract campaigns may not be delivering to contract. If you see this, you may want to investigate the linked Contract campaigns to inspect their delivery progress — you may need to take action and update the campaign if it is not delivering sufficiently quickly!

The zone probability screen showing a Contract campaign using almost all of the zone's inventory.

The zone probability screen showing a Contract campaign using almost all of the zone's inventory, which may indicate an over-subscribed zone.

  1. A banner is considered to be active if it’s in a campaign that is currently active — that is, is within its start and end dates, if they are set, and has not been disabled due to the campaign meeting its delivery targets, again, if it has any. Additionally, the banner itself must be active within the campaign. []
  2. That is, targeted to a very small part of the total zone inventory. []

Tip #10: Always have a “guaranteed delivery” remnant banner

The last thing you want on your website is a “blank” banner. Not only might it make your website look “wrong”, it also means that you are not making any money!

If you understand the OpenX ad server banner delivery process, then you will be able to appreciate that the last place OpenX looks for a banner to deliver when all else fails is in any Remnant campaigns linked to your zone1.

As a result, unless you have your zone set up to be chained to another zone in the event that no banner can be displayed, The Guru recommends that you always have at least one banner from a Remnant camapaign in your zone with no delivery limitations or capping applied, so that if all else fails, this banner is guaranteed to be able to deliver, and save you from the embarassing situation of having a “blank” banner showing.

  1. If you don’t count the default banner, of course, but this is a somewhat limited fall-back type, as it only supports a single image banner — you would not be able to use the banner tag from an ad network as the default banner, for example, as these generally come in the form of an HTML tag. []

Tip #9: Understand campaign types

You’ve got OpenX installed. Great! You’ve set up an advertiser, and now its time to create a campaign, so that you can add some banners and get them onto your website — but the problem is that you are not sure which campaign type your should be using. Luckily, The Guru is here to explain all…

The campaign types

The OpenX ad server has three different campaign types. With the release of OpenX 2.8, these three campaign types are now very obvious, as they are all explicitly named at the top of the screen for adding a new campaign:

(The campaign types above are listed in a slightly different order to that in OpenX — for a reason! More on that later.)

Different Campaign Types in OpenX 2.8

Campaign types in OpenX 2.8.

If you are running OpenX 2.4 or 2.6, while these three same campaign types existed, the names were slightly different, and seeing which campaign type you were using was less obvious, as this was not at the top of the screen for adding new campaigns, but rather down in the fourth section on the page, under the section called Priority in relation to other campaigns. In OpenX 2.4 and 2.6, the three campaign types were called:

  • Exclusive;
  • High; and
  • Low.
Campaign types in OpenX 2.4 and 2.6

Campaign types in OpenX 2.4 and 2.6.

For the this article, Contract (Exclusive), Contract and Remnant will be used as the campaign type names — just remember if you’re using a version of OpenX earlier than 2.8, your ad server will call these campaign types Exclusive, High and Low, respectively.

Campaign targets

Before discussing the three campaign types, however, a brief discussion about campaign targets is required.

There are three campaign target types in the OpenX ad server1:

  • Impression targets;
  • Click targets; and
  • Conversion targets.

Any of the three campaign types can optionally have any of these campaign targets set2 — this includes having more than one target set, if so desired.

The effect of having a campaign target set is that as soon as any one of the campaign targets has been reached, OpenX will stop the campaign from running. Here are some examples of how campaign targets affect campaigns:

  • “Campaign 1″ has no campaign targets set. It also has no end date set. As a result, this campaign will never be disabled by OpenX — it will continue to run for as long as it remains set up in this way in OpenX.
  • “Campaign 2″ also has no campaign targets set. However, it has an end date set. As a result, this campaign will run until the end date is reached, at which point it will be disabled by OpenX.
  • “Campaign 3″ has an impression target of 1,000,000 impressions set. There are no other targets set, and no end date set. As a result, the campaign will run until 1,000,000 impressions have been delivered, and then it will be disabled by OpenX.
  • Finally, “Campaign 4″ has an impression target of 5,000,000 impressions set, a click target of 10,000 clicks set, and no end date set. As a result, the campaign will run until either 5,000,000 impressions have been delivered, or until 10,000 clicks have been counted, whichever comes first. The campaign will then be disabled by OpenX.

(If at this point you are wondering what happens when a campaign has, for example, an impression target of 5,000,000 impressions set and an end date set, fear not — this will be discussed shortly in the section on Contract campaigns.)

Contract (Exclusive) campaigns

Contract (Exclusive) campaigns exist for a very specific purpose in the OpenX ad server — as you may have guessed from the name, the campaign type is there to exclusively deliver campaigns that are special because the advertiser wants exclusive rights to certain inventory3 on your website.

Some examples will hopefully make this clearer:

  • Your website might have certain “sections” — perhaps it’s an online clothing shop site, and you have sections for different types of clothing (jackets, shirts, shoes, hats, etc.) — and a shoe manufacturer wants to have exclusive rights to all of your inventory for the month of May in the “shoe” section4; or
  • An advertiser wants to have exclusive access to the first 5 impressions on your site, for every visit your users make to your site, no matter where on the site they are for those first 5 impressions5; or
  • An advertiser wants to purchase 5,000,000 impressions on your website that are shown exclusively to all visitors from New Zealand, their target market country. That is, any user that visits your site from New Zealand should only ever see this advertiser’s banner, until all 5,000,000 impressions are delivered6.

As you will have noticed, all of these examples have a common aspect — it’s not the number of impressions that are booked, it’s not how long the campaign will run for, and it’s not about where on the site the banners will be shown, or which users the banners will be shown to — rather, it’s all about the fact that when the campaign banners should be shown, then they should be shown exclusively — no other banner must ever have priority over the campaign’s banners.

This is why this campaign type has been discussed first (rather than in the order the campaign types are show in OpenX 2.8) — the OpenX ad server will always display banners from Contract (Exclusive) campaigns to your website users before any other campaign type (provided, of course, that campaign or banner limitations allow the banner to be shown).

Most small to medium website owners probably don’t have much use for the Contract (Exclusive) campaign type, because a website generally requires a relatively high profile before advertisers will want to purchase exclusive rights to inventory. However, don’t let that put you off — even smaller sites can consider negotiating special deals with advertising partners, and you can consider using the Contract (Exclusive) campaign type to deliver house banners7 for special promotions.

Contract (Exclusive) campaigns are delivered on the basis of relative campaign/banner weights. However, as the whole idea of Contract (Exclusive) campaign is to be exclusive, you should never have more than one Contract (Exclusive) campaign linked to a zone at any one time — unless you are separating multiple liked Contract (Exclusive) campaigns either in time (by having the campaigns run at different times), or by section/location via delivery limitations.

Contract campaigns

As with Contract (Exclusive) campaigns, Contract campaigns exist for a specific reason — in this case, to deliver campaigns that have certain time-sensitive campaign targets.

To understand the nature of time-sensitive campaign targets, it is easiest to think of Contract campaigns as having two different sub-types — Contract campaigns with campaign targets and an end date, and Contract campaigns with campaign targets and no end date; or no campaign targets.

Contract campaigns with campaign targets and an end date

If a Contract campaign has at least one campaign target set, and it also has an end date set, the it should be clear that there are two possible ways that this campaign could be disabled by OpenX — either when the campaign targets that are set are met, or when the end date is reached.

As a result, in this situation, the Contract campaign’s targets can be considered to be time-sensitive — not only do the campaign targets need to be met, they need to be met by the end date of the campaign, and ideally, not before the end date of the campaign either!

This is why Contract campaigns with campaign targets set and an end date set are a special type of campaign.

An OpenX 2.8 Contract campaign with a campaign target and end date set.

An OpenX 2.8 Contract campaign with a campaign target and end date set.

Contract campaigns with campaign targets and no end date; or no campaign targets

If a Contract campaign has at least one campaign target set, but no end date set, then it is different from the above example of a Contract campaign with campaign targets and an end date, as there is no end date by which the campaign targets need to be delivered by.

However, it is possible to create an artificial time-sensitivity for the campaign, by setting a number of impressions, clicks or conversions that need to be delivered every day, until the the campaign targets are met.

Similarly, a Contract campaign with no campaign targets set (with or without an end date set) obviously has no time-sensitivity around the campaign targets, as there are no campaign targets! But as before, it would still be possible to create an artificial time-sensitivity by setting a daily number of impressions, clicks or conversions that need to be delivered.

An OpenX 2.8 Contract campaign with a campaign target and a daily target set.

An OpenX 2.8 Contract campaign with a campaign target and a daily target set.

As you can see, Contract campaigns are all about the delivery of time-sensitive campaign targets, and there are two different ways of creating this time-sensitivity — either by setting normal campaign targets and a campaign end date, or by artificially specifying daily campaign targets.

As delivery of Contract campaigns is time-sensitive, delivery of Contract campaigns is performed on the basis of priorities calculated by the Maintenance Prioritisation Engine, to try to ensure that the campaign targets (either normal, or daily) are delivered correctly.

Remnant campaigns

The final type of campaign in the OpenX ad server is the Remnant campaign.

Remnant campaigns are the “catch all” type of campaign in OpenX — if a campaign does not have a requirement of having exclusive access to inventory, and does not have any time-sensitive campaign targets, then it should be set up as a Remnant campaign.

Note that although the word “remnant” suggests that Remnant campaigns are only there to take up “unsold” inventory, that’s not the case. There is no reason why an advertiser can’t ask to purchase, say, 1,000,000  impressions on your site, but not care about when those impressions are delivered by — so long as they are eventually delivered, that’s all that matters. In this case, setting the campaign up as a Remnant campaign makes perfect sense.

Having said that, campaigns that exist to show a low-paying ad network banner, or a house banner, whenever there is any unsold inventory would also normally also be set up as Remnant campaigns.

As with Contract (Exclusive) campaigns, Remnant campaigns are delivered on the basis of relative campaign/banner weights.

Conclusion

There are three campaign types in OpenX. Contract (Exclusive) campaigns exist to deliver campaigns where an advertiser requires exclusive access to certain inventory. Contract campaigns exist to deliver campaigns that have time-sensitive campaign targets of one sort or another. Remnant campaign exist for everything else.

Now you know what campaign type to use. Happy OpenX-ing!

  1. There are actually six types of campaign targets in OpenX — there are also daily versions of the impression, click and conversion targets. These are discussed in the section on Contract campaigns. []
  2. Can’t find all three campaign target options in OpenX 2.8? Change the campaign’s pricing model. []
  3. In the world of on-line advertising, inventory is a website’s number of impressions that are available in a given time period. For example, if your website has 10,000 page views per month, and you have a 468×60 banner zone and a 120×600 skyscraper on every page, then your website would have an inventory of 10,000 468×60 banner impressions and 10,000 120×60 skyscraper impressions per month. []
  4. In this case, you might use source parameter targeting to ensure that the campaign’s banners are shown in the “shoe” section of your site. []
  5. Capping the Contract (Exclusive) campaign to the first five impressions per session, and linking the campaign to all zones will get the job done for this example. []
  6. Use geo-targeting on the Contract (Exclusive) campaign’s banners to ensure that the impressions are exclusively shown to users in the target country, and link the campaign to all zones. []
  7. In the advertising business, house banners are banners that advertise yourself, on your own website — for example, you may have a house banner to promote a special deal you have that gives a discount for first time buyers on your shopping site. []

Tip #7: OpenX is not a banner rotator

If you spend any amount of time on the OpenX forums, then you will see quite a few questions asking about how to use the OpenX ad server as a banner rotator. Examples include asking:

I want to display banner 1, then banner 2, then back to banner 1 again. How do I do this?

and:

I need to show ads one after another with certain impressions. For example, there are 3 ads.

It should show ads like this: ad A first, then when ad A finishes its 200 impressions, ad B, and when ad B finishes its 300 impressions, show ad C, when ad C finishes its 500 impressions, go back to ad A again, and keep rotating always.

Here’s the simple truth — the OpenX ad server is not a banner rotator. If all you want to do is to have a specific sequence in which different banners are shown to your website users, then OpenX is not what you are looking for. Indeed, performing banner rotation like this is actually difficult to do with OpenX — if this really is what you want to do, go and find yourself a suitable banner rotator.

Rather than being a simple banner rotator, the OpenX ad server is really an integration of two very useful tools — a banner delivery engine, that allows you to easily put tags into your website to deliver banners, and track that delivery; and also a banner management system, that allows you to setup overall banner campaign targets. The OpenX ad server will then deliver banners as it sees best to try and meet those campaign targets.

Of course, this doesn’t mean that you don’t have any control over your banners, and how they are delivered. Indeed, OpenX provides you with far greater control than a simple banner rotator can ever give you. For example, with OpenX you can:

As you are instructing the OpenX ad server about overall campaign targets, and OpenX is then making decisions about how best to ensure these targets are met, this means that you do not have the “specific sequence” level of control that a banner rotator has. Having said that, though, there are ways that you can emulate certain aspects of simple banner rotators, if you really need to:

  • Use an Exclusive Campaign with Delivery Capping applied to ensure that the first few impressions of a user’s visit to your site are always given to a special advertiser; or
  • Use Zone Chaining to emulate a specific display sequence of special advertiser’s banners.

So, stop thinking about delivering banners in terms of banner rotation — delivering banners in a given order isn’t really that important. What is important is delivering banners to your website’s users in a way that gives your advertisers value for money. Talk to your advertisers about who they need to reach, and what their overall capaign targets are — and then let OpenX do the rest.

Tip #1: Use a naming convention

The OpenX ad server offers a lot of flexibility — which is exactly what you want from a full featured ad management solution.

However, as with many things in life, with flexibility comes complexity. That means that as your website grows, and you start to need to manage more and more advertisers, or, if you’re running an OpenX installation that looks after more then one website, it can become very easy to get yourself tied up in knots when trafficking in the OpenX ad server, if you’re not careful!

To avoid getting yourself lost in a maze of trafficking management inside OpenX, one of the best things you can do is to use a naming convention for all of your OpenX entities.

While a “naming convention” sounds complicated, it doesn’t have to be. All that it means is that you (and your trafficking team, if you’re lucky enough to manage an OpenX installation large enough to need one), need to come up with a system for naming your advertisers, campaigns, banners, trackers, channels, websites and zones that means that, no matter what page you are looking at inside OpenX, you don’t have to think twice about what it is you are looking at.

Exactly how you do this will depend on how you (and your team) use OpenX. To give you some ideas, The Guru has seen all of the following used to great effect:

Client Codes

  • Use codes to identify your clients (i.e. your advertisers, perhaps also your websites, depending on how you are using OpenX). A short, simple code is all it takes. For example, if you have an advertiser called Green’s Fantastic Veggies, then “GFV” might be a simple, easy to use code.
  • Use these codes throughout OpenX. By including the client code in all entities (e.g. by putting “GFV” at the start of the name of all campaigns and banners that Green’s Fantastic Veggies run), then you’ll never have any confusion about who’s campaign or banner you are looking at, no matter which screen you’re viewing. This is especially helpful when looking at entities from the “reverse” point of view — for example, when viewing all of the banners linked to a zone, when only the banner names (normally from a number of different campaigns and advertisers) are visible.
  • If you have any external systems for managing the contracts you have with clients, try and align your identification codes in these systems with those in OpenX.

Campaign Information

  • Include information about how campaigns are set up to run in the campaign name. When looking at the statistics screens in OpenX, it is often very useful to be able to quickly identify the main points of how a campaign should be delivering without having to review the campaign configuration. For example, you could include:
    • Details of the type of campaign  — e.g. “EXC” for exclusive campaigns, “CON” for contract campaigns and “REM” for remnant campaigns;
    • The start and end dates of the campaign, if it has them;
    • Details of any campaign lifetime delivery targets;
    • Details of any daily delivery targets.

Zone Position or Purpose

  • Include something meaningful about the position or purpose of a zone in the zone name. Perhaps you use OpenX in a way where you have separate zones for separate parts of a website — the main site section, the sports section, the news section, etc. — so, make sure that you clearly name which zone appears where.

Size Information

  • Including the size of banners or zones in the name isn’t really necessary, as OpenX will always make sure that you don’t link banners and zones that are of different sizes. However, there’s nothing wrong with including this information, as it can help with tracking down exactly where banners are being delivered quickly and easily.

Obviously, there is an almost infinite scope for how you can name your OpenX entities. Ensuring that you have a consistent, easy to understand naming convention that suits the way you use the ad server will go a very long way to helping you get the most out of OpenX, by keeping things clean, clear and easy to understand — and in the log run, this will help you save time, and make more money.