0

Many banners are tied to a zone. All of these banners have different targeting requirements using the site:variable (I say "requirements" loosely as the banner can be displayed even when requirements are not matched). The reason for this is because all banners must ultimately have an even number of impressions; however, along the way, the system should use the best of targeting when possible.

An example of the desired logic is below:

Given -

  • Banner 1 Targeting: IncomeGreaterThan20k=1, FishingIndustry=1
  • Banner 2 Targeting: IncomeLessThan20k=1, FishingIndustry=1
  • Visitor Profile: IncomeGreaterThan20k=1, FishingIndustry=1

Case 1 -

  • Banner 1 Impressions = 999
  • Banner 2 Impressions = 1000
  • Zone Rendered to Visitor 1 - Banner 1 is displayed
  • Why?: Targeting of Banner 1 is better than targeting of other ads (more matches on site:variables), best targeted banner has impressions less than or equal to other banners = true, show Banner 1.

Case 2 -

  • Banner 1 Impressions = 1000
  • Banner 2 Impressions = 1000
  • Zone Rendered to Visitor 1 - Banner 1 is displayed
  • Why?: Targeting of Banner 1 is better than targeting of other ads (more matches on site:variables), best targeted banner has impressions less than or equal to other banners = true, show Banner 1.

Case 3 -

  • Banner 1 Impressions = 1001
  • Banner 2 Impressions = 1000
  • Zone Rendered to Visitor 1 - Banner 2 is displayed
  • Why?: Targeting of Banner 1 is better than targeting of other ads (more matches on site:variables), best targeted banner has impressions less than or equal to other banners = false, show Banner 2.

When there are more than 2 banners, the logic should be extended based on the number of targeted variables matched and the number of impressions.

How can you configure the banner targeting to accomplish this?

  1. If this can be accomplished, is there a way to put importance weights on the various site:variables?
  2. If this can be accomplished, can you adjust the threshold for the number of impressions difference that can occur between the ads? Rule: No ad should be rendered more than 10 time more than any other ad.
BWelfel
  • 532
  • 6
  • 20
  • I have been reading up more and more on the weighting system that OpenX uses and was wondering if the number of fields matched factors into this. – BWelfel Apr 03 '11 at 21:52

1 Answers1

2

The number of targeting fields matching does not affect ad selection.

If 4 banners in a zone end up with their targeting as 'true' (as in, all targeting criteria are met) then they are all considered for delivery. After that, if all 4 are remnant banners from different campaigns, the only thing which adjusts the ad selection is the campaign weight. If they're all equal weighting, they all have equal chance of selection. If campaign1 has double the weight of campaign 2,3, and 4, then it has double the chance of the other campaigns of being selected.

To do exactly what you wish would require a plugin which alters the ad selection process. 1) Set all campaign weights equal (lets say weight=10), and all campaigns as remnant 2) Once all banners with targeting=false are thrown away, analyze the remaining banners and give more weight to ones with more targeting criteria 3) During hourly maintenance, analyze the stats and give a higher weight to ones which are falling behind. You don't want to do this during delivery because querying stats during delivery will cause a lot of overhead to the delivery process, which should be as quick as possible without DB calls

Using weights does not guarantee equal impressions - if they have a 50/50 chance of delivering there is a chance bannerA will delivery 1005 and bannerB will delivery 995, etc. It generally works out well - but since you are altering weights depending on targeting you are going against the 'deliver evenly' idea and perhaps pausing an ad which has gone above the 10x is a better idea, and then re-activating once it is within 5x (or such)

Note - unfortunately, making plugins for OpenX isn't very easy unless you have someone who already knows their way around. Its not a matter of knowing PHP, its a matter of knowing the OpenX plugin architecture.

ox vintage
  • 131
  • 1
  • Thank you so much for the response! Do you know the OpenX plugin architecture / would be able to create a plugin of this sort? – BWelfel Apr 08 '11 at 00:13
  • I believe that you do not actually need a plugin for this. You can use the OpenX API to fetch the number of impressions per banner and change the banners weight accordingly. – Goran Jurić Jun 14 '11 at 19:20
  • Thanks for the note Goran. I would agree; however, the system must go beyond the single weighting system that is on the banners. It must take into account the various attributes for which the ad can be matched and based on how sparse the potentials matches are as well as the number of impressions, render the best advertisement. Let me know if this makes sense to you (and if you know someone who would be interested in developing a plugin to do this). – BWelfel Jun 17 '11 at 00:52