I have a particular site (powered by WordPress) that has a high demand for banner advertising. I was tired of cutting in the ad networks on advertising space sales, so I went in search of a fully automated native advertising plugin. I ended up going with the OIO Publisher plugin.

I wanted an automated solution so that I wasn’t constantly having to go back and forth in email with advertisers and so that ads auto renewed (or expired) without me having to remember to get a renewal payment or remove them when the time period was up if the advertiser chose not to renew.

Additionally, as an advertiser myself sometimes, I know that the easier you make it for me to buy advertising on your site, the more likely I am to do so.


Once you’ve purchased the plugin, you’ll be able to download it. Go to WordPress > Plugins > Add New > Upload and upload the zip file. On the next screen, you should get a message that the plugin has been installed successfully. Then you’ll need to click “activate plugin”. That’s it in regards to the actual installation. Now we’ll move onto setting it up.

Setting up the plugin

Once you’ve activated the plugin, you’ll notice that there is now a tab in your WordPress dashboard sidebar that is labeled “OIO Ad Manager”. This is where you’ll find all the “controls” regarding the plugin. The “Getting Started” tab contains a link to a short tutorial. While the tutorial goes over what the plugin can do, it doesn’t really cover the “how” behind enabling the features it goes over in any significant detail.


This is the first tab in the OIO Ad Manager menu that you’ll want to visit. Under the On / Off Switches section you’ll see the ability to disable the plugin, uninstall the plugin and enable a payment test mode.

Next you’ll see a “Basic Settings” heading which allows you to add the website name, contact email and affiliate ID (if you have one – you can find your ID by logging into the OIO Publisher website and clicking on the “affiliate commission” link).

Next up you’ll see the ability to customize your payment settings. You’ll set your preferred currency and your preferred payment methods. As of the time I am writing this review, the payment method options are Authorize.net, Google Checkout, Payza, 2Checkout, Paypal and offline payments (shudder). You can enable one or all of these payment methods – it’s up to you.

Next to each payment service, you’ll see a link that says “edit settings”. For the example below, I’ll be setting up PayPal as my accepted payment method since I imagine it’s the most common payment method bloggers utilize / accept.

Clicking the “edit settings” link next to PayPal causes a popup to display. You’ll want to check the box to enable PayPal and then enter the email associated with the PayPal account you want payments to be sent to. You can also use a custom PayPal checkout page style if you want to, but it’s not required.

Paypal payment setup

Once you tick off the box and enter in your PayPal email, click update settings and you can now take your advertising payments via PayPal. Super. Simple.

The next heading you’ll see is “Advanced Settings” which basically amounts to “how picky are you about who advertises?”. Ha. There are several options under this setting:

  • Allow advertisers to edit ads? – I always set this to no. I don’t want any ad going up on my sites that I haven’t seen. Additionally, I don’t want to approve a G rated ad and have it flipped out to an R or X rated ad later (hey, you never know).
  • Only allow payment after ad approved? – This is a tricky one because you want people to pay ASAP. Allowing payment before an ad is approved means you may end up having to do some refunds if you don’t want to take on the advertiser. Requiring an ad to be approved before accepting payment delays the process for the advertiser and creates an extra step. Personally, I only accept payment after approval.
  • Allow Subscription Payments? – So, the pro of allowing subscriptions is that ads will auto renew. The con is that it will auto renew at the same price. You *can* edit the price on subscription ads, but you’d need to do so in both OIO and in the payment method interface (like PayPal), so it’s a bit complicated. If you foresee ad prices changing often, you probably won’t want to allow subscriptions. An alternate option is to sell advertising in bulk packages (such as 3 months, 6 months, etc). Additionally, recurring subscriptions are only available in cost per day pricing.
  • Display Ads in New Window? – If yes is selected, ads will open a new browser window when clicked. If no is selected, it will work like a regular link. Choose whatever your personal preference is.
  • Allow Image Uploading? – Some people are really, really strict on security and would select no here. However for most of us, advertisers being able to upload their own ads is a huge plus. I set this to “yes” personally.
  • Use Security Question? – This ensures actions are being taken by humans and not bots, so I leave this set to Yes.
  • Post Specific Purchase Links? – If you want to allow advertisers to purchase advertising on a single, specific post, then you’d select yes here to enable a post specific advertising option to appear on every post after the post content. I don’t use this function personally and set it to no.
  • Ad Badge Window – The ad badge is basically an “advertise here” widget. This setting allows you to choose how the ad is displayed when people click it.
  • Redirect Purchase links to Custom URL? – This allows you to send users who click on the advertising links in the OIO widgets, etc to a custom page that you can then link to your OIO advertising purchase page with.
  • Request Feedback – This allows people to leave feedback about advertising on your site on your OIO marketplace page (if you have one, and you’ll find you need one, even if you don’t plan to use their marketplace – but more on that in the “Marketplace” section below). I leave this blank.
  • Purchasing Guidelines – This last section allows you to leave any guidelines for advertisers. For instance, you may tell advertisers that you don’t accept animated ads in this section.

Once you’ve set the options how you want them on this main general settings screen, scroll back up to the top. You’ll see a menu at the top of the page with the following options; General (the main page we just walked through above), Emails, Themes, Coupons, Geolocations, Languages and Ad Zones.


In this section, you’ll find a list of email message templates that are sent to advertisers during various stages of the advertising purchase and relationship.

  • Purchase Submitted (sent before coupon entered)
  • Purchase Approved
  • Purchase Rejected
  • Purchase Payment Reminder
  • ‘Free’ purchase confirmation (sent if 100% off coupon used)
  • Purchase Expiry
  • Purchase Renewal
  • Purchase Published
  • Purchase Promoted from Queue

These emails are automatically generated and sent to the advertiser (triggered by the above steps they’re at in the process). OIO includes basic templates for each, but you can customize them to use your own wording if you’d like.

When I first started using OIO, I couldn’t find a nice and neat listing of the available dynamic fields that were available. I still can’t after trying again while writing this review (if anyone from OIO should ever read this, you need one). However, if you make a mistake or somehow botch the email template, you can restore them back to the defaults by clicking the button on the top right of this screen.

email templates

However keep in mind that this restores ALL of the email templates to their default – you can’t do it individually. There’s also no ability to send a test email of each template to ensure the dynamic fields do what you think they do without going through the process as a dummy customer, which sucks.

Once you’ve gotten the emails how you want them, you can move onto the next section.


The Themes section will allow you to change the template of your advertising purchase page(s). On this screen you’ll see a section labeled “Active Theme” with a dropdown below it that will have “default” selected by, uh, default, LOL. If you click on the drop down, you’ll see three other options listed; core_custom, sandbox and WordPress.

The default theme is done in the OIO website template. I’m not a fan. The sandbox version basically creates the design in a neutral gray color scheme. If you don’t want to customize anything, but don’t want the bright OIO default colors, this is a good option.

The core_custom template includes the base features of the form with zero design. You can fully customize this template, but if you’re not a coder / designer, you’re best served to leave this option alone, IMHO.

The last option is “WordPress” and choosing it will attempt to use your default WordPress theme to style the advertising purchase page(s). The problem for me has historically been that I can never get this to work correctly and “look good” out of the box.

For example – this is what the default OIO Publisher advertising page(s) theme looks like:

oio default theme

Here’s what happens when I enable the “WordPress” template:

OIO wordpress template implemented

The sidebar (there’s supposed to be a sidebar) disappears and the text is all shoved up against each other. Now, OIO knows they can’t get every theme to look exactly as it should with this feature (and fair enough). So, they have a guide about how to fix it.

The problem though is that this guide is only setup to fix things if you’re using a standard WordPress template. If you’re using a framework like Genesis or the Thesis theme, well, that guide will be of no help – because those frameworks don’t include the have_posts() function referenced in the guide to fixing it. I’ve seen questions about how to fix compatibility between the OIO WordPress theme and the Genesis / Thesis theme, but they’ve gone unanswered / unsolved.

I can hack the core plugin files enough to get the text spacing, etc to look right, but I haven’t ever figured out how to get the sidebar back. Any edits to the core plugin files will also be overwritten every time you update it, so it’s not really a great solution. But if you’re using a custom framework and not a standard WordPress theme, it’s unfortunately your only solution if you want to use OIO. And that sucks.

However, if you don’t mind the loss of your sidebar as the tradeoff for having it match your theme as much as possible, it’s pretty easy to space it out and get it looking good. And frankly, there’s no competing plugin that compares to OIO feature wise / price wise to use instead.

You’ll need to look around a bit to find the specific items you want to change in the templates (for instance, the “continue to payment” button is found in purchase_payment.tpl), but it’s doable. Your only other real option is to set a custom advertising page to send users to *first* that links to the OIO page with either the pre designed templates or the custom_core template, which is a blank canvas that you can customize with CSS, etc (but remember, it’s overwritten in plugin updates).

This is the only disappointing part of the plugin, but man is it ever disappointing. With the amount of professional bloggers (i.e. people that will buy an advertising plugin) using custom frameworks, I am honestly a little flabbergasted that OIO has (seemingly) ignored such a big issue.

Also annoying is that I can’t *easily* remove the OIO advertisement link while using a WordPress theme, considering I paid for the plugin. To do so, go to Plugins > Editor > Select OIO Ad Manager > find the /platform/wordpress.php file. Inside it, look for the following line of code:

$oiopub_hook->add('content_end', 'oiopub_powered_by');

Remove that line, click save, and the “Powered by OIO Publisher” message will no longer appear.

All in all, I feel like the OIO Publisher plugin has an unaddressed (significant) weakness where professional bloggers (using frameworks) are concerned. I hope they address it at some point, but until then, I’ll have to make do.


The next section listed is the coupons section and it’s pretty self explanatory. If you’d like to offer coupons for whatever reason, this is the section to do it in.

coupon options in OIO


As always, I’m keeping it real with y’all. I don’t use the geolocation feature. But the gist is that you can show specific ads only to people who view your website from a specific location. This feature doesn’t have much use for your average blogger, IMHO.


Another self explanatory feature. You can load an existing language file to over-ride the default (English) text.

Setting up your ad zones

This is actually the final tab at the top of the (General) Settings screen, but it’s also a standalone link in the WordPress OIO Ad Manager as well, so I’m treating it as an entirely different section in this review.


Clicking on the ad zones link brings you to “Banners” by default. Since banner ads are the most popular for bloggers, I’ll be walking you through setting up a banner ad zone step by step.

banner ad setup OIO publisher

Let’s say I want to setup an ad zone to show 300×250 banners in my right sidebar. I want to limit the amount of advertisers in that area to 2 and I want to charge $150 per month for those ad slots.

banner zone ad setup oio

I named my ad zone “Right Sidebar” so it would be descriptive to advertisers. I set the pricing model to be cost per day and set the cost to be $150 for 30 days. I set the ad width to 300 and the ad height to 250. I set zone columns to 1 (1 per line) and zone rows to 2 (so the zone will have 2 lines).

Now, let’s say I’d like to give a discount to advertisers who purchase multiple months in advance. So, a standard ad for this zone is $150 for 30 days. Over a 90 day period, that would total $450. But, if someone is willing to buy three months up front, I’d like to discount their total cost for the ad to $400. Then I’d do the following:

giving prepay discounts

Once you click save settings, your advertising sales page is automatically updated to show the available ad zone.

Under the above, you’ll see a listing of advanced settings that allow you to do things like ad nofollows to the link (I recommend you leave this option selected as “Yes” to stay out of trouble with Google), choose whether or not ads will rotate, if you want an ad zone to only show in certain categories and a variety of other items.

ad zone advanced settings oio

You can repeat the same process above with text ads, inline ads, posts ads and custom ads. And remember that Google’s official stance is that any and all advertising you sell on your site should contain a nofollow attribute or else you run the risk of being penalized by Google in their search results.

You’ll also see the ability to add a default image to show when you have no advertisers (choosing zero will show no default image).

ad zone defaut ads


OIO comes with three widgets that you’ll find under Appearance > Widgets. The first widget you should add is the OIO Ad Zone widget. This tells your theme that an ad zone is available wherever you place it, so that when someone purchases an ad, their ad will automatically appear after their payment is received.

oio ad zone widget

You can choose to have the zone show a placeholder “Advertise here” ad (the “Max empty ad slots” setting) or to show nothing at all unless a paid ad actually exists in that zone (the setup above will show nothing in the zone unless an advertiser pays for an ad).

The OIO Available Ads widget will show how many ad slots are open on the site in text form. The OIO Ad Badge widget will show a graphical ad you specify that links to your advertising page (the one you setup in the Settings section).

Ad Purchases

This area allows you to see what ad purchases have occurred. The main “General” screen contains new ad purchase alerts (this is where you would go to approve or deny an advertiser) and links to allow you to manually add an ad yourself. In the top navigation in this area you’ll see links to view ad purchases by type as well as a “Reports” link that allows you to generate simple reports on your site advertising sales that you can export in HTML or Excel format.

Ad Stats

Much like the reports link, this will provide you with simple ad report statistics. It also allows you to search for a specific ad by ID.


The “Affiliates” tab allows you to create an affiliate program for your ad sales. This means that I can give my friend Jane a special link to my advertising page. If she refers someone through that link who purchases an ad slot from me, then I would pay Jane a commission. It’s a cool feature, but I’ve yet to have a need / use for it on my own sites.


This is essentially a listing on the OIO website of all the publisher websites using their plugin to provide advertising on their sites. They don’t take a commission, it’s simply a perk of being a paying customer. While I’ve never personally received an ad sale from their marketplace (that I know of), I still sign every site I use OIO on up for the marketplace.


Because signing up for the marketplace is the only way to get an API key and getting an API key is the only way to automatically update the plugin through the WordPress dashboard (otherwise, you’re stuck doing the ancient and long process FTP plugin update).

All in all

At the end of the day, the OIOPublisher plugin is a highly configurable native self serve advertising plugin for WordPress. And considering it costs less than $50, it’s an extremely cost effective one as well. While their themes section / theme customization integration has some *serious* weaknesses, I’ve yet to find something that can do what OIO does, at the price they do it.

Is Pinterest part of your marketing plan?

Check out my recent case study that shows how I generated 234,000+ pins (and counting) to a site with only 45 posts. I give you all the details (with specifics) here.