Control Panel User Manual

# Best Practices

## Chains & Priority

There are two ways that you can prioritize the campaigns in your zones: chains and priority.

If you want to adjust either chain or priority settings, edit the zone that needs to be changed. Then click the Edit Campaign Assignments link on the top right. Scroll down to where you see Adjust Assignments and it lists each campaign in the zone along with the option to change their chain and priority settings.

### Priority

To give a real example of how priority works, let's say you have four campaigns in your zone and two of them (B & C) will receive more impressions than the others:

• Campaign A – Chain = 1, Priority = 1
• Campaign B – Chain = 1, Priority = 3
• Campaign C – Chain = 1, Priority = 5
• Campaign D – Chain = 1, Priority = 1

First, you must recognize that these campaigns are all in the same chain, so their priorities are ranked against each other. Try to think of each chain as a separate rotation within the zone. With that in mind, it's easy to see B will get 3 times as many impressions as A & D or C will get 5 times as many impressions as A & D. To figure out the percentages of total impressions they will receive, simply divide each priority by the sum of them all.

Sum = 1 + 3 + 5 + 1 = 10

• Campaign A = 1/10 = 10%
• Campaign B = 3/10 = 30%
• Campaign C = 5/10 = 50%
• Campaign D = 1/10 = 10%

Another thing you should be aware of is the ad server will reduce priority values if they share a common denominator, so if you had set the priority values like this instead:

• Campaign A – Chain = 1, Priority = 10
• Campaign B – Chain = 1, Priority = 30
• Campaign C – Chain = 1, Priority = 50
• Campaign D – Chain = 1, Priority = 10

It evaluates exactly the same but you can immediately see those priorities sum up to 100, so they are effectively already in percentage format. A neat trick which avoids you having to do any math!

### Chains

Chains are generally used if you want some (usually higher paying) campaigns to be shown to visitors in a specific order. Let's say that C pays the highest, B pays the next highest, and A and D both pay the same lower rate or they could even be non-paying in-house campaigns. You'd probably want to show C & B first in that case, so you would set the chains like this:

• Campaign A – Chain = 1, Priority = 1
• Campaign B – Chain = 2, Priority = 1
• Campaign C – Chain = 3, Priority = 1
• Campaign D – Chain = 1, Priority = 1

The ad server starts at the highest chain (greatest number) and works its way down to the lowest, so visitors will see C, B, and then A & D will rotate equally. Notice that the priority for each of the campaigns is set to 1. With only one campaign in a chain, there is no point to setting priority because they can't be prioritized against anything else and would ultimately take 100% of that chains impressions.

You might of course be wondering how the ad server ever decides to loop back to the highest chain once it reaches the lowest chain?

What you have to watch out for is the ad server will not move down to the next lowest chain so long as any campaigns in higher chains can still be shown to a visitor. This generally means campaigns in higher chains need to have even distribution, frequency caps, or fairly specific targeting set on them to limit how many visitors can see them and how many times they can see them repeatedly. If you don't have any limiters on your campaigns in higher chains, the ad server will essentially get stuck on them (until they expire or are disabled) and never display any campaigns in lower chains. However, you may in some cases want that behaviour, such as with in-house campaigns that you only want to display when you have no paid campaigns running.

## CSS Usage

### Separate Content From Design

It is generally best that you don't embed CSS rules within the content of your ads unless those CSS rules are specific to a single ad. Doing so would make it very time consuming for you to make design changes later because you'd surely have dozens or hundreds of copies of your CSS rules by then. To avoid that extra work, you should instead favor placing common CSS rules for your ads into the master stylesheet for your web site. An alternative is to create a dedicated stylesheet only for CSS rules used by your ads, but that can be more work to link into every one of your web pages if you do not use a good content management or templating system.

### Use Descendant Selectors

If you're not already familiar with descendant selectors, you can read up on them here: http://www.w3.org/TR/REC-CSS2/selector.html#descendant-selectors

### An Example With Text Ads

For this example, let's assume that we're going to be displaying 5 text ads in a 120x600 space (using the Display Multiple Ads option from the Code Wizard), so each of the text ads occupies a 120x120 box.

First, you will need to include the following CSS rules in your stylesheet (remember: you don't want to embed these CSS rules within the ad content itself!):

``````
background-color: #FEFFE7;
border: 1px solid #000000;
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
height: 106px;
line-height: 12px;
margin: 0px;
width: 106px;
}

font-size: 12px;
font-weight: bold;
line-height: 14px;
margin: 0px;
text-decoration: underline;
}

color: #00386B;
}

color: #000000;
margin: 0px;
}

color: #356C00;
}

/* Begin IE box model hack \*/
height: 120px;
width: 120px;
}
/* End IE box model hack */```
```

``````
<P>
Search for anything
you can imagine in
over 8 billion web
pages from that
marvelous Internet
thing we all love.
</P>
</DIV>```
```

Finally, if you put everything together, you should see that your CSS rules are only applied to <P> and <A> tags that are descendants of an outer <DIV id="textad"> tag. This allows the actual HTML markup for the text ad itself to be very compact. More importantly, it's very easy for you to go back and change the style of your text ads with this approach since your CSS rules are all in one place. You're not limited to a single set of CSS rules though. If you're running the same text ads on multiple sites, you can by all means have a separate stylesheet for each site that use different color schemes to match the design of each site.

### Make It Easy To Customize

When you provide text ads to publishers, they will more than likely want to customize colors and fonts to match the look and feel of their own content. One option is to allow the publisher to create their own stylesheet or incorporate the CSS rules for the text ads into their existing stylesheet. Another way is to provide them with your stylesheet and allow them to override the CSS rules that they want as is done in the following example:

``````

<STYLE type="text/css">
div#textad p { color: #000000; }
</STYLE>

<!-- BEGIN TEXT AD CODE -->
... generated code from code wizard goes here ...
<!-- END TEXT AD CODE -->```
```

You can see that the code above loads your stylesheet and then overrides the color choices. The rest of your CSS rules will be applied as-is because they were not redefined.

## HTML E-mail

While the ad server can insert ads into HTML formatted e-mail messages, you need to be aware of several limitations shared by the vast majority of e-mail client software:

• Cookies are often not supported or disabled by default for security.
• JavaScript is often not supported or disabled by default for security.
• <IFRAME> capability is often not supported or disabled by default for security.
• Content fallback constructs such as <NOSCRIPT> or placing content inside of <IFRAME> tags are usually not recognized and ignored!

Given those limitations, it is not possible for the ad server to dynamically insert Flash or other types of HTML content into HTML formatted e-mail messages. This means that you are limited to displaying graphic banners in the common GIF, JPG or PNG formats. Fortunately, if you use the E-mail Banner Code Wizard to generate code for placement into HTML formatted e-mail messages, the ad server will intelligently skip over non-graphic banners that might be assigned to a zone. This prevents problems with broken images due to unsupported media types and also eliminates the need to set up and maintain special graphic banner only zones for HTML formatted e-mail messages.

If you are able to modify the software used to send your HTML e-mail messages it is suggested that you emulate cookies to allow things like frequency capping to work properly. The first thing you need to do is replace &position=1 in both URLs in the e-mail banner code with &random=[number] where [number] is an 8-digit random number (repeat the same random number in both URLs). Once that's done you also need to add a &uuid=md5(email) parameter where md5(email) is an md5sum of the recipients e-mail address. This assigns them a unique identity, which would normally be stored in a cookie. Once the visitor does click on a banner the browser will also use the same uuid value (where it can be set in a cookie), which prevents tracking problems caused by visitors having a different uuid in their browser than in their e-mail client.

## Mixing Sizes

What do you do when you need to run multiple sizes of campaigns in the same banner zone? For example, you may want to run both 160x600 and 120x600 campaigns in the same zone. This is absolutely possible to accommodate by doing the following:

1. Go to Settings > Sizes and edit the largest size out of the group of sizes you wish to make compatible.
2. Scroll down to and expand the Compatible Sizes panel.
3. Use the arrows to select all of the smaller sizes you want to make compatible and then save your changes.

Once you've done this, you will be able to assign campaigns of the smaller sizes to any zones which use the largest of the sizes.

### Warning

If you are working with a pre-existing zone, it may be necessary to use the Code Wizard to regenerate code for the zone. This can be determined by checking to see if the current zone code contains any <IFRAME> tags. If that tag is present, you must regenerate the code for the zone in order for it to be able to support multiple sizes.

## Naming Schemes

Defining a standard naming scheme for your campaigns, groups, media, and zones can really help to make them easier to identify and manage. Things such as alphabetical sorting, media size/type, deployment locations, and more need to be taken into consideration for inclusion into names. With those requirements in mind, we give some examples in the text that follows to serve as guidelines for designing your own naming schemes.

### Campaigns

Example NameTypeDescription
Advertiser / Product / 468x60 Banner This name makes it easy to see the name of the advertiser who owns this campaign, what product or service it is advertising, and the size of the banner that it contains.
Advertiser / Product - May 2005 / 468x60 Banner This name makes it easy to see that this campaign will run in May of 2005.
Advertiser / Product / 468x60 - U.S. Only Banner This name additionally indicates that this campaign will only be delivered to U.S. visitors.
Advertiser / Product / 468x60 (Views: 1/Day) Banner This name additionally indicates that this campaign is frequency capped at a rate of one view per day per visitor.
Advertiser / Product / Full Page Overlay Dynamic This name clearly indicates that this campaign will display one or more full page overlay advertisements.
Advertiser / Product / Text Link Text This name clearly indicates that this campaign will display one or more text links.
Advertiser / Product / Popups Window This name clearly indicates that this campaign will display one or more popup windows.

### Groups

Defining a naming scheme for groups is actually very simple. The best thing to do is name them after the domain name of the web site they represent, such as www.example.com or forums.example.com for example.

### Media

Example NameTypeDescription
Advertiser / Product - Offer / 468x60 Banner This name makes it easy to see the name of the advertiser who owns this media, what product or service it is advertising, a description of the offer (i.e. "20% Off Sale"), and the size of the banner that it contains.
Advertiser / Product - Offer / 468x60 (GIF) Banner This name additionally indicates the format of the actual media file. In this case it is a GIF file, but it could just as easily have been a JPG or SWF file.
Advertiser / Product - Visual Attribute / 468x60 Banner If you can't come up with a good description of the offer, the next best thing to do is identify a distinguishing visual attribute of the ad. For example, if the ad contains a beach ball the visual cue could be "Beach Ball". In some cases you may have multiple color variations of the same media, which if that were the case here the visual cue might have been "Blue Beach Ball".
Advertiser / Product - Offer / Text Link Text This name clearly indicates that this media is a text link.
Advertiser / Product - Offer / Popup Window This name clearly indicates that this media is a popup window.

### Zones

Example NameTypeDescription
Section / 468x60 - Top Banner This name makes it easy to see the section of your web site where this zone will be run, the size of the banners that it contains, and the location where it physically placed on the page.
Site / Section / 468x60 - Top Banner This name additionally indicates the name of the web site where this zone will be run.
Site / Section / Text Link - Right Column Text This name clearly indicates that this zone contains text links.
Site / Section / Popup Window This name clearly indicates that this zone contains popup windows.

## Renewing Campaigns

What do you do when a campaign expires and the advertiser wants to renew it? There are actually many ways to accomplish renewing a campaign. What we consider to be best practices follow, but you should choose to do whatever meets your needs the best:

• Change the stop date of the campaign to a date in the future in accordance with the number of days the advertiser has renewed the campaign for.
• Add the number of additional actions, clicks, or views that the advertiser has purchased to the existing limits of the campaign.
• Reset the campaign and set new start/stop dates and view/click/action limits on it. Be careful to only reset the statistics totals for the campaign. If you choose to also reset the statistics data for the campaign, you will not be able to go back and generate reports on past data for the campaign!
• Create a copy of the old campaign and start over from scratch with a new campaign. If you do this, it's suggested that you recycle the old campaign to avoid confusing it with the new campaign. You will still be able to generate reports for the old campaign after recycling it. Remember that the new campaign must have a different name, so including the month/year in campaign names is a good idea when using this method.

When choosing to modify or reset the old campaign, do not forget that you need to manually enable it before it will go live again. This is due to the fact that the ad server sets campaigns to a disabled status when they expire. If you are extending a campaign before it actually expires, it will still be enabled and you won't need to do this.

## Targeting Combinations

### Conflicting Targets

When targeting campaigns, you have to be very careful that you don't cancel out your campaign by combining multiple types of targets that will never occur together. For example, let's assume that you've created a campaign that is targeted at the Internet Explorer web browser and the Linux operating system. That campaign could never be displayed because the Internet Explorer web browser is not compatible with the Linux operating system and as a result the targeting criteria could never be satisfied by any visitor.

### Geography Targets

In most cases you do not need to select targets for both continents and countries together in the same campaign. Always target the lowest level of geography that you can. If you want to target countries, don't waste your time selecting any continents. Instead select only the countries that you want to target. The reverse is also true. If you want to target continents, don't waste your time selecting any countries because the ad sever already knows which countries are within the continents you've selected!

There are times, however, when selecting the lowest level of geography to target is not a good idea. For example, assume that you want to target a city in the United Kingdom. By only entering the name of the city as a target, you run the risk of displaying that campaign to visitors from other countries if the city name is not unique to the United Kingdom. Unless you know that a state/province, city, or zip code is unique to a single country, it's always a good idea to select the country and enter the state/province that you expect them to be located in.