Forum Moderators: martinibuster

Message Too Old, No Replies

Ad Block Plus and Adsense

         

Dimitri

11:57 am on Dec 4, 2016 (gmt 0)

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



Hi -

My site is white-listed with Ad Block Plus since 2 years, when I detect a visitor is using an ad blocker, I serve text-only ads. So of course it works only for Ad Block plus users, people with other kind of ad blockers will not see the adsense text ads (I have a fallback for this to).

All works as expected.

I compared these text-only ads (served only to ABP users), with my "normal" ads. I took in consideration only "text" ads, and "contextual" (because I assume that ABP is impacting interest based ads).

Both have similar CTR. However, the ads served only to ABP users have CPC terribly low, like 10 to 20 times less than the "contextual text ads" served to everybody else.

I am wondering if anyone is observing this too, and what can explain this? I wonder if, when you are white-listed at ABP, it can still block some of the requests occurring after a click which would prevent a correct tracking / payment of these clicks ?

Thanks,

robzilla

4:01 pm on Dec 4, 2016 (gmt 0)

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



I assume that ABP is impacting interest based ads

ABP users have CPC terribly low

Perhaps you've already given the best explanation.

I didn't know it was possible to get whitelisted if you set up to only serve text ads to ABP users. Is this a common thing?

Dimitri

6:31 pm on Dec 4, 2016 (gmt 0)

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



Hi robzilla, i mentioned that, I was only comparing contextual text links.

As to getting white-listed, there are thousands of sites. The ABP software downloads frequently a file [ [easylist-downloads.adblockplus.org...] ] which includes rules to let white-listed sites to display ads.

To get white-listed, you can read more here : [adblockplus.org...] . You have a series of criteria to respect* ( text links and static image only, labels, etc...). Then someone from ABP reviews your site, and tells you if you have to change things. Then, once all seems fine for them, they post a message at their forum [ [adblockplus.org...] ] , so anyone can dispute the white-listing (or not). All this being free, excepting if you are BIG BIG site , in that case, I think they request you make donation or something like that.

* note that you have to respect these criteria only for ABP users. So you can display a given ad slot with text only ads to ABP users, and display "normal" ad slot to other visitors.

robzilla

8:27 pm on Dec 4, 2016 (gmt 0)

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



How do you even detect an ABP user before you serve ads on a first pageview?

Dimitri

9:40 pm on Dec 4, 2016 (gmt 0)

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



This is not on server side, but on client side.

The easiest method is to create a file "ads.js", inside which you create a variable, for example "var myvariable=1 ;". Then you add "<script src="/ads.js"></script>" into your page. Finally, you just need to test if the variable exists or not. If it doesn't exist it means an ad blocker is installed (because all ad blockers are blocking files named like that). It won't tell you if this is ABP, U Block Origin, or anything else. It just tells ads are blocked. Then at the moment to insert the AD code, you can put a condition, to insert a different AD slot ID, or to insert alternative ad code.

robzilla

11:31 pm on Dec 4, 2016 (gmt 0)

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



Interesting approach. So you basically have duplicates of your ad slots that are set to text only. I assume you put this detection script in your <HEAD></HEAD> section so that it runs before the AdSense code is processed? I suppose that might work... but it does introduce a render-blocking script that increases load time. I would probably try to come up with an inline solution to remove the added latency of the /ads.js request, and then store the results of the detection on a cookie or session variable so that you don't repeat the detection each pageview.

I'm triggered, though. Has anyone else tried something like this?

keyplyr

5:07 am on Dec 5, 2016 (gmt 0)

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



robzilla - Yes, a year or so ago there were several posts about detecting whether ad units were being filled then swapping for altetnatives. I was using one method (written in php) but as you mentioned, it slowed mobile so I removed it. It had to wait for the Adsense to load (or not) to check if the unit was empty.

robzilla

11:06 am on Dec 5, 2016 (gmt 0)

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



detecting whether ad units were being filled then swapping for altetnatives

Dimitri's method seems to swap the units out prior to them being filled initially. That's probably the only way to get whitelisted. I assumed this would require render-blocking Javascript in the HEAD section, but perhaps this isn't necessarily true.

Say you have 10,000 pageviews and 25% of those are from people with an ad blocker. That leaves 7,500 non-blocking pageviews, and let's say they make you $100. That's a CPM of around $13 (pretty good!). The ad-blocking users do not generate any revenue. If Dimitri's observation that "ABP users have CPC terribly low, like 10 to 20 times less" holds true, and we assume CTR is about the same (is it?), then serving text-only ads on the 2,500 remaining pageviews would result in a CPM of around $0.6 - $1.3, and additional $1.5 - $3.25 in total revenue. That's a mere 1.5% - 3.25% increase for a sizeable 25% of the pageview count. Not sure that's worth the hassle.

I wonder if, when you are white-listed at ABP, it can still block some of the requests occurring after a click which would prevent a correct tracking / payment of these clicks ?

I don't think the ad blockers would block an explicit request for a URL, like when you're forwarded to a URL after clicking a link. However, conversion tracking on the landing page may be blocked.

Dimitri

9:33 pm on Dec 5, 2016 (gmt 0)

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



Just some notes :

- you cannot use inline javascript to test if an ad blocker is installed, before inserting your ad code. Because, when ad blockers are removing/hiding ads, they are proceed "after" the rendering of the page. The only way is to load a ads.js file, because it will be blocked immediately.

- I am not testing ad blockers on mobile devices, only on desktop users. This can be done server side, by inspecting the User agent, but the best is to use inline javascript to test the screen width.

- Now, what I began to do, is: when I detect an ad blocker, I display only one adsene text-only ad , and I fill the other ad slots, with in-house ads. I am doing this since two days ,and the results are good, the single adsense text-only is resulting in much higher click rate and also higher CPC . I guess that it looks better to have only one text-only ad , instead of two or three, which will trend to look the same.