Does this or any other module support custom OpenX zone arrays for each node? That's what I need.
I am using the 'official' OpenX Drupal module, so am not able to test other modules to see without screwing up my sites - and there is no description of module functionality.
I know that the 'official' one does not do custom arrays - and I'm assuming this one probably doesn't either.
But it appears that this is what I need for my sites - and probably anyone using OpenX would benefit from it.
In my case, I use a lot of zones, like 50 (though doesn't seem like that many to me), many of which are only called on a few select pages, so lot time is being spent calling unneeded zones. To make things worse, I am using OpenX Hosted which has recently imposed fairly tight timeout limitations which causes ad load failure on lots of page loads.
So I am hunting around for a solution that will enable custom zone arrays. Does any module support this and/or are the module developers (or anyone else) interested in pursuing a solution - either inside this module or as a separate module?
I have a leading OpenX expert willing to put a bit of time against it. I would be prepared to sponsor in a modest way. I believe some amount of OpenX tech support can also be engaged to assist (though not certain of this point).
Any thoughts/idea are welcome.
Comments
Comment #1
nevets commentedSince you can display the zone using a block and you can control block visibility why not control which ads are "active" that way?
Comment #2
john.kenney commentedWell, problem would exist whether ad was showing on a specific page/block or not when using single-page call (SPC) which the 'official' module does.
SPC is theoretically faster since pulls down all info in one OpenX call - as long as it doesn't time out altogether and pull down nothing. Alternative is multiple calls via separate invocation calls - this will get the job done, but complete page load will take long time.
So using the current 'official' module with SPC, all active zones - meaning any zone that is called on any page in the site (even if not called on the current live page) is called by SPC.
I'm looking for a solution where the zone array created by the module calls only the active zones on each page vs. current approach which generates one array that's used on every single page.
Hopefully that's a bit clearer.
Comment #3
gordon commentedSince we use SPC (Single Process Call) it means that there is only 2 http requests to the openx server, however it does also mean that you are getting delivered all the zones that you have configured in your Drupal settings.
I have looked into do being able to display only the zones for a page which exist on the current page, and for Drupal 6.x I feel that this is not possible to do this, esp with the ability for themes to directly call openx_invoke() at any time.
However with the changes that have been made the page rendering system in Drupal 7.x I feel that this can now be done without too much effort, and even allowing for continuing the support of direct calls to openx_invoke().
This will most likely be done in version 7.x-1.3 (given the first version of OpenX for D7 will be 7.x-1.2)
Comment #4
se7en76 commented+1
Comment #5
john.kenney commentedi had some custom work done on this module (or maybe it was the 'official' OpenX version they have on their site) and one thing that was done was to call node-specific zones only. so as you go from page to page, the zones called up is a smaller set than the total zones from the entire site (at least this is the case for my sites).
for example, below are the zones called for 2 different nodes on one of my sites. some zones are on both pages, so they are called both times, but others are called on only one or the other.
it's been a while since i paid much attention to this since my setup works as I'd like, so I'm rusty about what was done or what other features we might have built, but if you are interested to see the code, i can share it with you. at the time, we worked directly with people at OpenX to put some of the code together and they were going to put it into their version of the module. I don't know if that happened or not or whether they even have their own Drupal module anymore.
Comment #6
gvdm commentedThis issue can amount to serious damages (financial) hence the bump of priority.
This issue can be traced to lines 61-72 of openx.inc in the OpenX Drupal module. Specifically it requests
which simply gets all the zones that have been configured for the site. This needs to be changed to get only the zones used on the specific page.
On our site we have several different pages displaying ads of different sizes and in different contexts, this amounts to relatively large amount of zones that we have set up in total of which a small subset is shown on any given page.
This means that there is a rather large gap between ad requests and ad impressions. Note; OpenX customers pay for ad requests. You pay an ad serving fee based on the number of ad requests per month, whereas the ad revenue you earn is based on impressions (from direct advertisers and/or RTB exchanges).
Because the OpenX module is using the single page call technique and is accidentally requesting all zones that have been defined for all the various page layouts even though for the specific page you need only a few of those zones you end up paying much more than you should.
If john.kennedy would share his code then I would be happy to make a patch to this drupal module and go through the process of getting it accepted.
Comment #7
gvdm commentedComment #8
wuinfo - bill wu commentedIt is not necessary to get all zones ads since there just some of them are used.
Comment #9
wuinfo - bill wu commentedCode was commit to branch 7.x-2.x, Now only needed zone will be loaded.
Comment #11
wuinfo - bill wu commentedI would like to make it clear. Impression count is based on ads show up on page. Getting all zones code with SPC not necessary mean all zones get impression counted. I think ad requests is not equal to impressions.