4/14/2008

I'm nearing end of construction of a fairly massive site based on Drupal.

To rotate and track banner ads, I originally installed the standalone script OpenAds, and used the Drupal module written to incorporate it into a Drupal site. OpenAds has a long track record under its old name PHPadsNEW, and a few weeks ago was renamed yet again to OpenX. I was sure it was the way to go. The installation of OpenAds wasn't too bad, but would be challenging to someone who has never installed a PHP/MySQL script. The administrative interface of OpenAds, at first, looks great. But in the end, getting ads installed in the system is quite complex. There are a few steps along the way that are not apparent until you study the documentation, and that comes up short in a few areas. Once the script is fully installed and running, the process of adding a single new banner ad involves more than a dozen steps: you create a new ad campaign, you assign several variables there, then you ad the banner ad itself as part of that campaign, and quite a few more questions must be answered there. In short, not terribly user-friendly. If I was away from the system for a couple of weeks, then went back to it to add a new client, I always found myself stumbling around in OpenAds trying to remember what step to do next, which tab to click on to do it, and wishing I had created a cheatsheet.

The other part of the installation was the Drupal module intended to embed the OpenAds banners inside a Drupal site. Installation of this likewise wasn't too bad, but did require me to go fairly deep in the OpenAds process and scan through some code to pick up an encoded line and copy-and-paste it into the module. And repeat that process for each banner or button size I had defined. Once that was accomplished, it was easy to use Drupal's Blocks module to display the various ad sizes where I wanted them. Except in my template, I had to resort to hard coding one banner in the site template code.

Installation issues aside, this setup seemed to work for a few weeks, except for two troubling things. First, every few days, one or another ad position refused to display for several hours. For example, my 468x60 banner ad suddenly would be blank for three hours, or half a day, at times. All the scripts were set up correctly, and I never could find the problem. It would spontaneously start displaying after failing for hours. Second, when I added a new button or banner, it would be several hours before that ad would begin showing up in the rotation. I check cron, even ran cron manually, and that wasn't it. The last straw was last week, when I installed my full stable of banner ads. Of the eight new ads I tossed in, only two showed up in the rotation, even after three days. I double-checked everything, even removed the new ads completely from OpenAds and reinstalled them. No go - they simply would not show up. And the blank ad space seemed to happen more often.

I'm not sure where the problem lies, with OpenAds, with the module, or with my server. But something wasn't working. (No, I haven't enable Drupal throttling for this module, so that can't be an issue.)

So I looked around and found a separate Drupal module called simply "Ads."

I installed it on a local test installation and it worked. So I installed it on my live site, punched in all my banners and buttons, and it worked instantly. The installation is much simpler than the OpenAds/integration module system. It seems to serve the ads more quickly, so site pages load faster. I will need to wait and see if it has eliminated the failure-to-display issue, but I suspect it has.

Installing the Drupal Ads module was simple. Unpack it, FTP it to the modules directory, then enable it in the Drupal control panel. Set up, aided by an excellent and concise readme file, was straightforward. Creating an ad group for each ad size or placement you want involves a few clicks in the control panel. Each ad group you create automatically shows up in the Drupal Blocks area as a new block that you can assign to the location you prefer. Then, to upload the actual banner or button ad artwork, you go to Drupal's Create Content control panel. You will see that activating the Ads module has automatically created a new Content Type, Advertisement. Just click on that, and proceed to upload each banner or button and use the logical interface to assign click-through url, group, etc. Click Activate, and your ad will instantly begin appearing on your site.

Ads includes a statistics module that tracks views and click-throughs for each ad, and even offers a graph for each ad and for each group. Perfect for showing your clients the stats for their banner.

The Ads module for Drupal is simpler to install, faster and more reliable than the OpenAds integration system. In a few weeks, I will update this post with a reliability report on the Ads module as it is working on the site.

UPDATE: 24 hours later, the new ad delivery system is still functioning flawlessly. There's an ad everywhere there should be one, all the ads appear in the rotation, and stats are accumulating nicely.

1 comments:

Anonymous said...

Nice article, thanks!