The Art of Adsense Advertisement Blending
Keywords:
Adsense ads, Adsense advertising, Adsense blended ads, blended ad
This article is about the art of blending synchronously and asynchronously displayed ads on your website. Blending can also be achieved in other ways by using a coder to insert code into your website that does this for you. This technique creates better audience experience because it provides a seamless transition from one ad style to the next which makes for an overall more engaging user experience. Synchronous blending will require the use of Javascript and asynchronous blending uses inline CSS which means it won't require any external script integration like syncing up timers or page-loading delays. Also, since Javascript is used with most major ad libraries to display these ads, synchronous blending is arguably better in that it gives better publisher control and a more committed audience experience.
My brother and I have been working together on some independent projects along with our creative agency "We Are The Intersection" which we started recently. We have used Adsense advertising to generate a significant amount of revenue for the business. We found that one area where we could improve the overall performance of our ads and maximize the impact was by being able to create a better user experience for advertisers on our site . Here is what I mean.
Start with a basic website with some Adsense ads in place
At the bottom of my homepage, you'll see this banner ad from one of our previous clients. The 3x2 size banner at the bottom of the page is from Google Adwords and the large centered image is from one of our campaigns with Revcontent . In between these ads is just empty space as you can see below:
This site has been set up to work with two different ad serving technologies and because it's just a test site, I don't have anything else set up yet (no menu links or anything). The first ad is a banner ad. A user comes to the site and the banner at the bottom automatically displays (synchronous) because it is set to fire on every page load. This banner has been optimized using ad tags like 'milliseconds=300' or 'onClicks=1'. The second ad is an image display (asynchronous). An image display is meant to be shown after a certain amount of time. With this type of advertising, you don't want your users to see it too soon or too late.
In the example below, I've set the image display to show after 5 seconds.
This means that the user will see the banner at the bottom and then they'll have to wait 5 seconds to see this image display.
5 second delay synched with page-load. Site visitor can't click on ads until timer is up
The key element here is that whichever ad is displayed first, it should be set up to fire as soon as possible so there's a minimal lag time for site visitors. You can see that this has been set up in the examples above. As another example, one of our other companies sells ad space to others. In this case, the site owner sets an ad up using AdWords and a time delay is created so when the ad gets clicked it shows up in place of the Google AdSense ads instead. There's virtually no difference here except for one little detail where the second ad serving technology has a less intuitive timer than the first but I'll get into that later .
Next let's look at synchronous blending with Javascript and asynchronous blending with inline CSS .
Synchronous blending with Javascript
Let's start with the synchronous blending example. This is basically a banner ad that the user sees immediately and the AdSense ad that loads after 5 seconds.
Ads load at same time, site visitor sees both ads (synchronous)
Here's an example of how you could use this type of implementation: <script language="JavaScript"> document.write("<style>"); document.write("#ban {display:none;}"); document.write(" #dis {display:none;}"); document.write("</style>"); <script language="JavaScript"> setTimeout('#dis {display:block;}',5000); </script> Here's what that code does: It starts off by hiding two different elements on the page and then when 5 seconds is up, it shows the second element. Now let's say you want to control this manually. In other words, instead of waiting for a timer to fire off then show one ad, you want to be able to control them yourself and have them display at the same time. This would take a little more effort because you'd have to run two timers and check for the completion of each timer. When both have completed, then display both at the same time. To do this, you might change the code above to something like this: <script language="JavaScript"> var ad1_timer = null; var ad2_timer = null; var ad1_running = false; var ad2_running = false; <!-- BEGIN EVENT LISTENERS --> document.onclick = function() {ad1_running = true;} document.onclick = function() {ad2_running = true;}
... document.onclick = function(event) { if (event.target == '#ban') { ad1_timer = null; } else if (event.target == ' #dis') { ad2_timer = null; } else if (ad1_running) { ad1_running = false; } else if (ad2_running) { ad2_running = false; }
Let's look at how this looks:
Notice that both ads are now running and the page visitor can click on either one of them as they please.
In this example, the user can see that both the Adsense ad and the Revcontent ad are loaded at the same time. This works fine, but in some cases there may be an internal timer that is too short for a user to see both ads before one exits (like a full page refresh). Or if you have an extremely long page view, then you might lose your audience before they see your ads.
Asynchronous blending with inline CSS
This is where asynchronous blending with inline CSS comes into play .
Conclusion
In order to get the most out of Adsense ads, there are some changes you can make to your website. For my own book that I have written, I recommend using asynchronous blendings with inline CSS instead of synchronous blending with Javascript. If you're interested in reading this book, please check it out here .
Extra gear:
The new version of the script above has been updated and rewritten using Modernizr and Modernizr.js . The script is also available in a separate JS file . Here is what it does: The first part of this example shows an image display (asynchronous) with a delay set for 5 seconds.