This technique applys to everyone who has 2 or more Adsense blocks on a page (and who can stop at just one?).
First up, not everyone knows that Google always serves up the highest paying ads to the first ad block it encounters in your site’s HTML. This can mean that an Ad block that is getting all the clicks is worth .01 a click, while on the same page a block that is totally ignored has the big $$$s.
But how to find out? Channels.
Go to your Adsense account, and create a custom channel for each of the ads on your page. Call the channels ‘1st Ad’, ‘2nd Ad’ etc. Put the Adsense code on your site, making sure that the ‘1st Ad’ channel ad block goes to the first ad in your page HTML, ‘2nd Ad’ the 2nd spot in the HTML and so on. Now sit back for a few days.
OK, you’ve got some stats to check so lets see which ad gets the most clicks. If the first Ad gets the most clicks, then you can stop right here. If not (as was my case), then we have some work to do.
What we need to do is move the Adsense code around so that the Ad block with the greatest number of clicks is the first Adsense code in your site HTML. There are a few ways to do this, but I’m going to concentrate on 2.
CSS Positioning
If you use absolute positioning on your site, then moving the Adsense code around is trivial and I won’t go into it here. ‘Static’ positioning (the default) is tougher and worth a short mention.
Basically, I am going to use the negative margin trick (courtesy a list apart). This very simple example shows how to reverse the position of 2 elements.
Here is the code:
<div style='float: left;width: 200px;margin-top:70px;border:3px green solid'>
Block containing High CTR Adsense Ad, position this at the bottom
</div>
<div style='float: left;margin-left: -200px;width: 200px;border:3px red solid'>
Block containing Low CTR Adsense Ad, position this at the top
</div>
And here is the result:

Frames
Sometimes you are stuck with a complicated layout, or a site that uses tables, so CSS positioning is not an option. For this, you can always use frames.
Go to the first Ad in the HTML and copy the Adsense Code to a new text file. Make the code:
<style>body {padding:0px;margin:0px} </style>
-- Your Adsense Code --
The style command is so that the Adsense ad is displayed nicely within the frame. Save the file as ‘google_ad.htm’
Go back to your site, delete the Adsense code for this ad and replace it with:
<iframe DESIGNTIMESP="23032" frameBorder="0" style="width: 120px; height: 240px" id="google_adsense_iframe"></iframe>
(of course, adjust the height & width to the proper size of your ad).
Then at the bottom of the HTML for your site, add this:
<script type="text/javascript">
document.getElementById('google_adsense_iframe').src='google_ad.htm';
</script>
This last bit of javascript sets the source of the frame to your google ad, ensuring it is loaded after the first ad has been displayed. In fact, you might not even need this, and you could just set the src property in the frame & the 2nd ad would still be loaded first. Thats for another day of testing though, ’cause I’m using the method shown & it works for me.
Straight away after making this change, a site that was making $40 a day went to $60 - not bad for a few hours work 