Jump to content

Recommended Posts

After one week of using the new async code, I am having mixed feelings.

 

At one hand, pagespeed improved considerably.

 

On the other hand, we are serving much less ads. In fact, we are serving about 25% of what we used to.

 

Note that our banners are basically RTB networks.

 

Please see attached screenshots.

 

async-spc-hs.png

 

async-spc-cdh.png

 

async-hs-pagespeed.png

Share this post


Link to post
Share on other sites

Thanks so much for the feedback gabrielt! It's great to see your graph above showing that you've probably taken 30-60% off of your page load time by moving to the asynchronous tag type, which is obviously a super result, and very encouraging to see that in principle, it does what its supposed to do!

 

However, the drop off in banner impressions is of course, worrying.

 

What does pop into my head though, as an immediate thought is that after the move, the page load time has come down to around 5 seconds. However, that is, I assume, the load time for the page without ads, as the ads will then start to load up after the page is done. Assuming nothing else has changed performance-wise, I would guess this means that the ads are then taking something like another 5 to 10 seconds to complete loading up?

 

If that's the case, there's now a 5 to 10 second window for your site users to move on to another page, and interrupt the loading (and therefore impression logging) of the ads.

 

How does your average time on page look? Might this kind of behaviour explain the drop off in impressions?

 

I think this is worth looking into - although of course, we're totally open to the fact that perhaps it's something in the tag that isn't working as we expect re: logging impressions...

Share this post


Link to post
Share on other sites

andrewatfornax, your line of thought is correct. As the page is available must faster, the user will move to a different page or leave the website before all banners have loaded, hence the drop in adviews. If all banners were stored locally, I doubt that we would see any drop at all, as they would be loaded super-fast. The issue here is with the latency of RTB networks, which can't do much about it. As you probably know, with RTB networks we have a cascading stream of networks that check if the network has a banner to serve to that user, otherwise the network moves on to the next network in the pipeline, and so on. Something like this:

 

Revive -> Network #1 -> Network #2 -> Network #3 -> Google AdSense

 

These networks pay way more than Google AdSense, so removing them is not an option.

 

So, for the time being, I reverted back to the single-page call method. Unfortunately, most our inventory goes unsold and we have to use such networks...

Share this post


Link to post
Share on other sites

Thanks for the feedback - and good to know that it's down to the network speed, rather than something wrong with the asynchronous tag.

 

A thought - would you be able to mix the two types? Use the normal SPC tag on pages where users are likely to navigate quickly, but asynchronous on pages that are more content focused and users may stick around longer?

Share this post


Link to post
Share on other sites

After changing to the async tags, the impressions on the sites that i manage dropped by 25 to 35% :(

This has resulted in a drop of 25% in revenue :(.

 

As gabrielt said, increase in pagespeed is a good thing but this loss in revenue is not. The sites that i track use only 2 or 3 networks and in 2 cases Adsense being the only one.

Share this post


Link to post
Share on other sites

 I have ajax loading page, and need to "refresh" the banners after ajax loading, and find the following, I can say, working, solution:

I'm not expert in JS, but I  use very simple method, even without jquery. And it work fine for text, html, and other ad system code banners.

 

in the real slot I put only div:

<div id="OA_show_7"></div>

 

then single load config

 

<script type='text/javascript'><!--// <![CDATA[
var OA_zones = {
'my_zone_name' : 7
}
// ]]> --></script>
 

 

at the bottom of pages, avoid delay main content rendering

 

//initial request:

<script type='text/javascript' src='http://AD.SERVER>NAME/id=1&amp;charset=UTF-8'></script>

//insert banner code in hidden div

<div id="OA_container_zone_7" style="display:none;">
<script type='text/javascript'> 
OA_show('my_zone_name');
</script>
</div>
 
//copy rendered code to real, visible slot 
<script language="JavaScript">
function g_e(el) {return document.getElementById(el);}
if (g_e('OA_show_7')) g_e('OA_show_7').innerHTML=g_e('OA_container_zone_7').innerHTML;
</script>

But...

Placing banners in "hidden" div is agains google adsense terms and conditions.

Here is my "improvement", but it require change in spcjs.php

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
	<title>
	</title>
	
<script type='text/javascript'>
var OA_zones = {
	'header': 3,
	'sidebar': 8,
	'eventSidebar': 9,
}
</script>
<script type='text/javascript'
src='http://DOMAIN/www/delivery/spcjs1.php'></script>


</head>
<body>
	<div class="revive" data-reviveSlot="header"></div>
	
	Lorem ipsum Bla bla

	<div class="revive" data-reviveSlot="sidebar"></div>

	Lorem ipsum Bla bla
	<div class="revive" data-reviveSlot="sidebar"></div>

	Lorem ipsum Bla bla

	<div class="revive" data-reviveSlot="eventSidebar"></div>

	<button>refresh</button>
	
	<!-- Javascript below this line -->

	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

	<script type="text/javascript">

		$('button').click(function() {
			$('.revive').each(function(i, element) {
				var id = $(element).attr('data-reviveSlot');
				$(element).html(OA_show(id));
			})
			return false;
		})

	</script>
</body>
</html>

Change in spcjs.php is in OA_show function (line 3199 in v3.2.1)

replace  document.write({$varprefix}output[name]);

with return {$varprefix}output[name]

Share this post


Link to post
Share on other sites

I wanted to make one note on data provided by Gabrielt. I noticed that there was huge increase in the CTR. I think that is a very good point to look into. I'm trying some prioritizing the way Matteo suggested. I try loading banners with Ajax when people, according to statistics, use more time on the pages.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...