End of year sale

adrotate-proIt’s been a good year – Lots of new users, good updates. Some bad… Mostly good though. So to sort of celebrate the good stuff – A sale! yay!
So starting monday you can get 20% off on all licenses till January 1 2015!

Use coupon code HOLIDAYS2014 at checkout for a 20% discount on every AdRotate Pro License.
Starting midnight December 22nd (GMT+1/CET) until New years eve midnight (GMT+1/CET).

Sell lots of ads, manage them with AdRotate, increase revenue!
I hope everyone has a very nice christmas and a happy new year!

fireworks

AdRotate Pro 3.11.7 and AdRotate Free 3.10.17

At long last – A working version of AdRotate :)
This version includes more fixes and tweaks to improve AdRotate as a whole.
The group output has been redone a bit so it uses much less queries (Most notable in larger groups). Block columns are working now and Widgets no longer use an Ambiguous ID.

Widgets

Widgets had received a bugfix in the previous version replacing the ID value with a non-ambiguous parameter. This caused a bunch of widgets to stop showing ads because they needed their ID re-set. If you haven’t re-set the ID yet you can do so more easily now by just opening the widget and clicking Save (if the ID is filled in, which it should be).

Performance increase

A number of fixes and improvements have been made (and tested) to make AdRotate faster.
This is mostly achieved by more efficient use of Queries (less queries!) and less POST requests for stats.

AdRotate Pro

  • [tweak] Auto convert the ambiguous widget id to the new value
  • [tweak] More efficient group loading
  • [fix] Blocks properly sized
  • [fix] Sometimes passed the wrong prefix in multisite
  • [fix] Conflicting groups in post injection
  • [fix] Saving geo data for stats when not using geo targeting
  • [fix] Dynamic rotation better randomised
  • [fix] Much more efficient POST requests in Dynamic groups

AdRotate Free

  • [tweak] Auto convert the ambiguous widget id to the new value
  • [tweak] More efficient group loading
  • [fix] Blocks properly sized
  • [fix] Sometimes passed the wrong prefix in multisite
  • [fix] Conflicting groups in post injection
  • [fix] Dynamic rotation better randomised
  • [fix] Much more efficient POST requests in Dynamic groups

AdRotate Pro 3.11.5 and AdRotate Free 3.10.15

logo-128x128What a damn mess… Recent updates introduced cookies to lighten the load for MySQL and move tracking to a new system using cookies. This was tested by me but I didn’t account for the increased traffic or I/O that caused on servers. Hence impressiontracker.php happened.

Quickly pointed out by users I spent a day or 2 working around that and came up with a better way to handle the impression counting. This has been tested by various users with considerable success. After releasing the update earlier today it quickly became apparent that because of the unreliability of the jQuery Cookie library and the way WordPress handles jQuery didn’t work all that well too. Don’t know why it worked so well in earlier testing – So HMMM :(
The library turned out to not make the required tracking cookies and there was a conflict with adblockers and more of such nonsense.

Ultimately I decided to pull the entire cookie method but *keep* the newer way of counting impressions and clicks. Still increasing performance and still modernising the whole process :) That’s what this update will do and hopefully that’ll be the end of it.

AdRotate Pro & Free

  • [fix] Widget IDs not saving for some users
  • [fix] Removed tracking cookies and ‘reverted’ to on-server tracking
  • [fix] Notice undefined variable clicktracker for some users
  • [fix] Post Injection missing top or bottom advert for some users

Widgets

A few versions ago I fixed a small bug or glitch in the Widget code. This resulted today in some users not being able to save the AdRotate widget.
Further examination of the earlier fix showed that while applied properly, not all widgets used the new values. You may have to re-set some of the widgets after this update because of the new values being applied again.

AdRotate Pro 3.11.3 and AdRotate Free 3.10.14 – Fixes performance issues

logo-128x128After almost a week of testing it seems that the performance issues have been resolved in this version for pretty much everyone. Perhaps some fine-tuning may be required for the larger crows but overall things now work very well.

A number of tweaks and improvements have been made based on user feedback over the past week.
See the changes below.

Cookies

A notable change is that impressions and other temporary data is now stored in cookies, these cookies last for 24 hours until they expire. Where required they are updated to be re-used.

wp-load.php

No more calls to wp-load.php – Thus reducing CPU usage by a lot. You may see a increase in calls to admin-ajax.php this is the WordPress replacement for calls made previously to clicktracker.php and impressiontracker.php.

Impression and cookie timers

To further mitigate server usage the timers now have a minimum of 60 seconds. This reduces, especially for Impressions, CPU usage and MySQL traffic even further without loosing stats.

Changes

AdRotate Pro

  • [new] Replaced clicktracker.php with callback
  • [new] Replaced impressiontracker.php with callback
  • [tweak] Better sizing of grid in block mode
  • [tweak] Better sizing of dynamic groups
  • [tweak] Margin in blocks is now padding
  • [tweak] Move cookie check for impressions into jQuery
  • [tweak] URL differentiation for GeoIP City and Country API’s
  • [tweak] Remaining Geo Lookups more accurate for MaxMind and GeoBytes
  • [tweak] Minimum timeout for impressions is now 60 seconds
  • [tweak] Minimum timeout for clicks is now 60 seconds
  • [fix] Excessive file loading of impressiontracker.php
  • [fix] Cookies not generated for Dynamic groups for some users
  • [fix] Cookies not always updated with correct timestamp for some ads

AdRotate Free

  • [new] Replaced clicktracker.php with callback
  • [new] Replaced impressiontracker.php with callback
  • [tweak] Better sizing of grid in block mode
  • [tweak] Better sizing of dynamic groups
  • [tweak] Margin in blocks is now padding
  • [tweak] Move cookie check for impressions into jQuery
  • [tweak] Minimum timeout for impressions is now 60 seconds
  • [tweak] Minimum timeout for clicks is now 60 seconds
  • [fix] Excessive file loading of impressiontracker.php
  • [fix] Cookies not generated for Dynamic groups for some users
  • [fix] Cookies not always updated with correct timestamp for some ads

Upcoming update fixing CPU spikes

logo-128x128It’s been a rough week for some. But there is light at the end of the madness…
Due to some unforeseen circumstances the new impression tracker didn’t quite work as expected. Some servers crashed and burned and got patched quickly.
This wasn’t apparent in my testing and my call for beta testers went once again unnoticed. So there we go. The circle of doom is complete – just like last year.

Anyway, we’re testing a beta now. We sent it out to a number of people with high volume sites and things are looking very good. We even managed to ditch the wp-load thing completely. Making AdRotate a lot faster. Which will be the focus of the next update.

Speed speed speed

The aim of updates 3.11.3 and 3.10.13 was to make AdRotate faster. This as some of you noticed didn’t work out too well. The introduction of cookies didn’t work for everyone and the jQuery handling impressions reloaded too often for servers to cope. This has been fixed and improved like never before – Better timers, better code, better handling of cookies. It’ll be great.

Tracker data

Cookies will hold tracker data. With the introduction of these fancy cookies the entire wp_adrotate_tracker table will become obsolete. This means *A LOT* less MySQL traffic which in turn will mean your site will be faster. Yay! This also means that since tracker data is now stored in cookies you can now more accurately target multiuser networks. Since not just their WAN ip is tracked but the individual computer on those networks.

Availability

I expect testing to continue over the weekend. I’m confident things work today. But I’m awaiting some feedback and will release an update this coming Monday.
If you’re having issues with your hosting right now, email me for the fixed version so you can get a head start!