Forum Moderators: martinibuster

Message Too Old, No Replies

Some Strange Observations

Removing non-performing ad units caused good units to stop performing

         

glitterball

7:35 pm on Aug 2, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



A Strange observation from a test that I ran for a few days a couple of weeks ago...

On one of my sites - behind a login, members site with high traffic, I decided to remove all of the ads that were not performing.
By not performing, I mean low RPM, low earning, low CTR: everything bad.
I left only the best-performing 728x90 banner (this is an old desktop-only site), in the hope that the user experience would be better with only one ad on the page, and that maybe ad-blindness would be reduced and CTR might also improve.

I ran the test for a few days and the results were very surprising: CTR collapsed by 90% on the remaining Ad unit.

Why would this happen? Why would removing non-performing ads at the side and bottom of the page cause people to stop clicking on an ad unit that was previously working well?

This particular site has always been problematic for me, since it is a very different type of site to the rest of the sites that I run. In the last few days I made the decision to completely remove Adsense from it, because I suspect that it may be causing the rest of my sites to earn less from Adsense.
It's too early to make any conclusions, but I will report back on how it affects my account.

keyplyr

11:54 pm on Aug 2, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Why would removing non-performing ads at the side and bottom of the page cause people to stop clicking on an ad unit that was previously working well?
Ad blindness? Seeing only the one ad type over and over? This may have even more effect on repeat viewers like your members.

That's the only idea I can come up with off hand (... even on hand.)

glitterball

8:24 am on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Ad blindness? Seeing only the one ad type over and over? This may have even more effect on repeat viewers like your members.


You may be on to something there - possibly having ads at the top, side and bottom of the page distracts the user away from the main content just enough to actually notice the ads. Maybe it's easy to 'tune out' from seeing one banner ad that is always in the same place.

Doesn't really explain why users rarely click on the side or bottom ads.
Though I'm sure removing two ad slots influences which ad is actually shown in the remaining slot. Just wouldn't have expected it to have an adverse effect.

engine

8:36 am on Aug 3, 2017 (gmt 0)

WebmasterWorld Administrator 10+ Year Member Top Contributors Of The Month



Doesn't really explain why users rarely click on the side or bottom ads.

Perhaps those ads are not as appealing to click on. The ad style and content could be off-putting.

As with all these things, you need to test, test, test constantly, and that's especially important if you have repeat visitors.
That being the case, this test you're running now is just another phase. Keep us updated as to how the test goes.

BTW, on a site I use to test the latest experiment was to move the ads away from the top of the page. Time will tell how it works out.

NickMNS

12:40 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Why should this not happen?

Your ad space is being sold at auction. The advertiser with the best price wins the ad slot. When you block an ad what you are doing is taking that price out of the auction and replacing it with the next highest price (which is lower than the price of the ad removed). So each time you block an ad you are incurring a small loss. Repeat this many times, and all that will be left are low paying ads.

But you'll say I have only removed the low paying ads? No, you don't know that. The RPM information that you have is historical, it is how the ad performed in the past. It may be a good predictor of future performance but not always. So you may be blocking high paying ads without knowing it.

Finally, it comes down to basic economics, supply and demand. You a have a more or less fixed inventory (ad impressions per day) so the supply side of the equation is fixed. If you block advertisers then you are reducing the demand, and as a result the price falls. This drop in price impacts all of the auction from the highest to the lowest bidder.

Rule number 1 never block ads. Only break the rule when the ad displayed is objectionable and could negatively impact the quality of your site or simply offend your users. In other words when the cost of showing the ad is greater than the cost of blocking the ad. This is not easily quantifiable, but spammy ads are pretty self evident. You should also break the rule if your competitor is advertising on your site.

I fully understand your intent of your experiment, and I agree with it. But for it to work you would need to take the low paying ad-units out of the auction. The easiest way to do this is with, the not yet working, ad-balancer or by setting up a DFP account and then setting price floor.

If you are really looking at blocking something, you could look at removing ad-units that are not performing. Example would be ad units at the bottom of a page where users rarely ever scroll to. This could boost your AVV and make your site more desirable to advertisers thus increasing demand. And one would hope that the increase in demand and price would then be sufficient to make up for the resulting drop in impressions.

glitterball

1:01 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



@NickMNS Please read my post again - I think that you've missed the point. I did exactly what you suggest in your last paragraph.
Just to be clear: By removing 2 Ad Units from my page, the remaining ad unit (which had been performing well) stopped performing and CTR dropped by 90%.

martinibuster

3:59 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Administrator 10+ Year Member Top Contributors Of The Month



90% is relative and because of that it is a misleading metric. Discussions of CTR are always flawed when discussed in terms of percentages.

For example, if you have twenty clicks per day and you drop by 90%, that's roughly a drop to 3 clicks per day. A difference of 22 clicks is not a huge drop in itself. The 90% figure is misleading.

Why did the CTR collapse?
The answer is simple. Removing the ads changed the inventory of advertising for the remaining ad.
Removing the ads changed what kind of advertising is shown (IBA, Display, etc.)
Removing the ads changed the quality of the bidding environment for those pages.

Those are three changes that occurred. It could very well be that the change triggered the remaining ad to show more CPM based advertising, thus triggering a collapse in CTR. You didn't say whether or not the earnings on the remaining ad unit changed and that's the most important metric.

glitterball

4:25 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



You didn't say whether or not the earnings on the remaining ad unit changed and that's the most important metric.


Sorry, earnings collapsed even more dramatically than CTR.

NickMNS

4:51 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



@Glitterball yes I misread your post. Sorry for that.

I ran the test for a few days

A few days is very short in terms of Adsense (at least from my experience) CTR and other metrics are highly variable. Similar to the point that martinibuster made, 90% may not be significant if your daily variability is in the order of say 40% to 60%, and in this case you would need to look at your CTR specifically for the ad unit in question. Also timing of the test is also crucial, testing a month end or quarter end could produce significantly different results as compared to the same test conducted at the beginning of a month or quarter. Bid prices tend to be higher at month end as advertisers consume their remaining budgets.

Also further to the points of Martinibuster CTR in general can be misleading as you are only looking at one aspect, clicks. It is better to focus on RPM as this provides a standardized measure to compare both CPM and CPC earnings. And note that there is "Page RPM" and "Impression RPM". It is only normal that Page RPM drops significantly if you remove ad units. Impression RPM will provide the data ad the ad-unit level so use that to compare.

Finally check your AVV metric (Active View Viewable). A drop in AVV can cause a drop in demand for your site. The higher the better and you should target 50%. If this metric dropped since the change it could signal that users are scrolling past the top banner without ever seeing it. It is possible that removing the additional ad-units has sped up the page load, so now users scroll down much sooner, thus missing the top banner.

glitterball

6:30 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Just to clarify a few points:
The top performing Ad Unit, that stayed in place as the 'control' during this test was a 728x90 banner just below the header and well above the fold.
Since this is an old-fashioned non-responsive site, the removal of 2 ad units (at the bottom and right-hand side) would have made no difference to active view viewable.

The RPM, CTR, CPC and every other metric collapsed, while I ran the test.

I was comparing the metrics only of the Ad Unit that stayed in place - that is what I'm talking about in my above posts - only the reports for that Ad Unit that stayed in place at the top of the page.

Earnings. CTR, CPC etc. all returned to normal levels immediately when I put the Ad Units back as they were before.

When I say earnings collapsed, again I am saying that they collapsed WAY outside the normal variance for this Ad Unit.

NickMNS

8:11 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I don't know.

Just checking here:
How did you "remove" the ad-units, did you delete the ad-code from the page or did you display:none the parent div?
Are you using sync or async ad code?

You say:
would have made no difference

I understand that there should not be a change in AVV but what does the report tell you? Was there a change in the AVV?

glitterball

10:59 pm on Aug 3, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I deleted the Ad Unit Code from the page.
I understand that there should not be a change in AVV but what does the report tell you? Was there a change in the AVV?

Well, that's interesting. I checked and the Active View Viewable is around 10% higher for the Ad Unit during the days when it was the only Ad Unit on the page.

martinibuster

4:39 am on Aug 4, 2017 (gmt 0)

WebmasterWorld Administrator 10+ Year Member Top Contributors Of The Month



Active View Viewable is around 10% higher


I'm pretty sure that's because there are less scripts loading, less scripts to interfere with the ad loading or causing it to hang.

glitterball

7:26 am on Aug 4, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I'm pretty sure that's because there are less scripts loading, less scripts to interfere with the ad loading or causing it to hang.


Presumably if a user has already scrolled past the Ad Unit by the time the ad has loaded, then that will not be counted as an active view?

I wonder if a slower loading Ad actually attracts the user's attention?

martinibuster

2:47 pm on Aug 4, 2017 (gmt 0)

WebmasterWorld Administrator 10+ Year Member Top Contributors Of The Month



In paring down the amount of fat on a page, I've removed unnecessary scripts and seen the AVV go up. I've also seen AVV change (up/down) after removing, changing or repositioning ads.

Less scripts slowing down the page download weight, imo, allows the Google cookies to count that impression as a viewable impression. It could be that a slow rendering of the page tells the cookie that the user has scrolled past the page. I'm open to suggestions as to the why. But that faster downloads increases the AVV is something I'm fairly certain of.

https://support.google.com/adsense/answer/3432842?hl=en [support.google.com]

All viewable ads are measurable, because you can't confirm that an ad has met the criteria for viewability unless it can be measured. For example, say the ads on your site had 100 measurable impressions. That means there were 100 impressions where Active View tags were able to measure viewability. If only 10 of those 100 impressions were measured as viewable, then the site would have 10% Active View Viewability.

glitterball

5:41 pm on Aug 4, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Is there any way to purposefully slow down the ad loading, so that it only loads after the rest of the page has loaded?

NickMNS

8:11 pm on Aug 4, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Yes, use async ad units.

keyplyr

8:57 pm on Aug 4, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Yes, use async ad units
It's how they're implemented. I load them high in the markup, then float them to where I want them to display so they appear to load instantly. The strength of async is it loads independently of other files; it doesn't have to wait its turn.

Now, to delay the loading of an ad, *one way* would be to use JavaScript to control delay of the <div> containing the ad code. You need to start off your <div> as display: none and then put the display code in a $(document):

In MarkUp:

<div id="AdBox" style="display: none">Your_Ad_Code_Here</div>

Javascript

$(document).ready(function() {
$('#AdBox').delay(1000).fadeIn(1000);
});

Note: This is just off the top of my head, not tested but should work.

NickMNS

9:59 pm on Aug 4, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



The strength of async is it loads independently of other files; it doesn't have to wait its turn.

That is not 100% accurate, the way that async works is that it does not block rendering while waiting for the http request. But as soon as the request is completed the ad will be place in the queue to be rendered. So it is not completely independent but it should not stop the page from rendering.

As for your JS to delay, I doubt that will work because the display:none on the wrapper div will only hide the ad but it will not prevent the ad from loading. If you want to prevent the ad from loading you need to apply the display:none to <ins> tag in the ad code, and I am not sure how the JS will react if set it back to display:block. What I do to load my BTF ads on scroll is that I save the ad code as a var and then use .html() to insert the code into the blank div.

So based on keyplyr's mark-up:
<div id="AdBox" style="display: none"></div> // intentionally left empty


And based on keyplyr's Javascript:

var ad_code= 'ad code here'
$(document).ready(function() {
$('#AdBox').delay(1000).html(ad_code);
});


Note you need to escape the script tag in the ad code <\script> and <\/script>

keyplyr

10:21 pm on Aug 4, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



only hide the ad but it will not prevent the ad from loading.
Yes, but the question was not how to *prevent* the ad from loading:
Is there any way to purposefully slow down the ad loading, so that it only loads after the rest of the page has loaded?


So yes, first you display none
<div id="AdBox" style="display: none">Your_Ad_Code_Here</div>
Then the JS delays, then fades in the code. which is what glitterball asked AFAICT.

Anyway, I have something similar working on a couple pages, just not with ad code. Same principle though.

No5needinput

11:11 pm on Aug 4, 2017 (gmt 0)

10+ Year Member Top Contributors Of The Month



When I had to delay ad loading due to Adsense not reading responsive div size until page had loaded (Error: No slot size for availableWidth=0)

On each ad unit I changed:

(adsbygoogle = window.adsbygoogle || []).push({});

To

setTimeout(function(){(adsbygoogle = window.adsbygoogle || []).push({})}, 1000);

*Set 1000 to whatever delay

keyplyr

11:46 pm on Aug 4, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



@No5needinput - nice suggestion, and may be a better option to the JS method. There doesn't seem to be explicit warning about just delaying ad presentation: [support.google.com...]

glitterball

10:22 am on Aug 5, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month




On each ad unit I changed:

(adsbygoogle = window.adsbygoogle || []).push({});

To

setTimeout(function(){(adsbygoogle = window.adsbygoogle || []).push({})}, 1000);


That's pretty cool. I'm going to run that on another site for a few days.

On the site from my original post, I'm going to leave Adsense off it for a few more days (to complete the test), after that I might try running affiliate ads in the 2 non-performing units, and only have Adsense in one unit at the top.

No5needinput

2:33 pm on Aug 5, 2017 (gmt 0)

10+ Year Member Top Contributors Of The Month



By memory, I no longer need to use the code, if you add it to more than 1 ad unit the 1000 delay number should be slightly different for each.

NickMNS

2:43 pm on Aug 5, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



@keyplyr
so that it only loads after the rest of the page has loaded

The code your are proposing will delay showing the ad after the page has loaded. But AFAIK the ad will be loaded and hidden in its normal sequence, and then shown after the delay.

Anyways this is moot given No5needinput's solution.

glitterball

12:18 pm on Aug 8, 2017 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



A follow up to my original post:
I now have Adsense running on the site again, though only on the top Ad Unit.
I have replaced the other 2 Adsense Ad Units with Affiliate Ads.
The CTR is now higher on the one remaining Ad Unit, so I think that the best explanation is keyplyr's one that suggests that users become Ad-blind with just one unit, and that having more distractions (other ads) actually prevents them from 'tuning out' from seeing the top Ad Unit.

Removing the Adsense Ad Units from this one site made little or no difference to the rest of the account, so presumably my sites have not been badly affected by smart-pricing.