
Show HN: Adblock Analytics - amped
https://www.adblockanalytics.com/
======
cddotdotslash
Do you have a contingency plan if your script/domains start getting blocked by
the very AdBlockers they're trying to track? For example, Google Analytics is
already blocked by a number of plugins (Ghostery, uBlock, Disconnect, etc.)

~~~
amped
I hope that doesn't happen because Adblock Analytics is 100% cookieless and
doesn't track visitors via any method, we're only interested if ads were
displayed or not, but we do have some ideas if it does happen.

~~~
rbinv
If cookieless, how do you accurately aggregate/assign pageviews per visitor?

~~~
yummyfajitas
Browser fingerprinting is one possible way.

[https://panopticlick.eff.org/](https://panopticlick.eff.org/)

[edit: clarified that this is a solution, I have no knowledge as to whether
that is what is done.]

~~~
rbinv
Do you actually know that fingerprinting is used or is just an assumption?

------
zeeshanm
They are not storing cookies but simply relying on if an ad blocker blocks
ads.js or not:

[https://www.adblockanalytics.com/ads.js](https://www.adblockanalytics.com/ads.js):

var d = document.createElement("div"); d.id='abaA'; d.style.display='none';
document.body.appendChild(d);

var abaA; if(!document.getElementById('abaA')) { abaA = 'N'; } else { abaA =
'Y'; }

[https://www.adblockanalytics.com/analyze.js](https://www.adblockanalytics.com/analyze.js):

var r = new XMLHttpRequest();
r.open("POST","[https://www.adblockanalytics.com/analyze/");](https://www.adblockanalytics.com/analyze/"\);)
r.setRequestHeader("Content-type","application/x-www-form-urlencoded");
r.send("abaI="+abaI+"&abaA="+abaA+"&abaSw="+screen.width+"&abaSh="+screen.height+"&abaBw="+window.innerWidth+"&abaBh="+window.innerHeight);

Don't see any reason why an ad blocker would block them.

~~~
amped
You are correct - no cookies or any visitor tracking is being used. We only
track if the display of an ad is possible. And thanks for reminding me of the
screen & window JavaScript variables. They aren't being used at all.

~~~
pdkl95
>
> open("POST","[https://www.adblockanalytics.com/analyze/"](https://www.adblockanalytics.com/analyze/"))

That's gong to cause confirmation bias.

Since you're still relying on trusting an unknown client to run your code and
submit your result instead of simply parsing the server logs, you have aren't
including anybody - with or without an ad blocker (either of which may include
downloading ads.js straight to /dev/null) - who decides not to run that
<script> tag.

> www.adblockanalytics.com/analyze/

Time to add another "IN A 0.0.0.0" record to the local resolver.

------
TheAceOfHearts
Since nobody has mentioned it yet, you can block this using uBlock Origin by
adding the following to your filter list:

adblockanalytics.com

~~~
amped
Purely out of curiosity, why are you opposed to websites knowing how many of
their visitors are blocking ads? I get that you're against being tracked, but
if they can't find out how their revenue is being affected, then how can they
decide if a change in revenue source is necessary?

~~~
RexM
I think it's mentioned in the commit on uBO:
[https://github.com/gorhill/uBlock/commit/ba05804060ec7c4399c...](https://github.com/gorhill/uBlock/commit/ba05804060ec7c4399c8286ed7fb95f2b8f83e06#diff-2269d70bc56a54c25a78533cf13f5657R39)

But basically making external calls to any outside site leaks information
(metadata). Some people really don't want want to be tracked. period.

~~~
amped
Totally understand that some people don't want to be tracked, but our service
doesn't track anyone nor has any interest in doing so.

My response is also raising a question which I'd love to hear your thoughts
on.

~~~
redml
It is a form of tracking. You're tracking if the user has adblock installed.
Many people install adblockers for privacy do because they don't like being a
part of data that will never be used in their best interest.

~~~
amped
We're checking if the display of an ad is possible, but the only reason we're
doing this is to inform the website owner of how ad blocking is affecting
them. Once they have this information, a lot of good can come from it that
would benefit all of that websites visitors.

~~~
mesozoic
You say a lot of good would come but I think it would just make them more
likely to use aggressive adblock countermeasures so deflating their numbers is
probably more in line with the best interest of adblock users.

------
amped
I'm the creator of Adblock Analytics and the reason I built it is because a
lot of websites seem to be struggling with determining how many of their
visitors are blocking ads. I'll be around to answer any questions that might
pop up and would love to receive feedback - good, bad or otherwise. Thank
you!!

~~~
ArtDev
Many site stakeholders don't realize that they have choices. They can: 1)
Choose to show only non-offensive ads. 2) Prompt users to whitelist their
site.

You are in a good position to inform them of this. Please do.

There are good reasons people have to block ads.

~~~
amped
You nailed - this is the exact purpose of our service.

------
zingplex
Does your service respect the Do Not Track header?

------
r1ch
Given that pagefair does this for free and already has whitelisting agreements
with adblock lists, I think your pricing is too high. The only differences I
see at a glance are that you break it down into per-device stats and have a
tabular view.

Does your javascript snippet support subresource integrity? That would be a
key selling point as pagefair's CDN was hacked and their snippet replaced to
do malware redirects against users. After that incident I'm keeping the number
of scripts from "startups" to an absolute minimum.

~~~
amped
From what I understand, PageFair is also running an advertising network to
cover their costs and that's why they need to be whitelisted. Our solution
doesn't display any ads or messages to the visitors of websites which use our
service. I've heard their reporting is very basic compared to ours, but would
love for someone to do a thorough review. We also offer an API.

The PageFair hack was very scary and a good reminder to all companies that
require the use of external JavaScript by their users. We currently don't
support subresource integrity, but it's now at the top of our to-do list.
Thanks for the great feedback!

------
SimeVidas
Off topic: What server-side Node/Express middleware would you recommend to
perform analytics (now that client JavaScript-based analytics is no longer
reliable)?

------
thomasahle
Interesting from the screenshot, that visitors with adblock have a lower
bounce rate and 25% higher pages/visit.

~~~
amped
That's what we're seeing so far. Nice attention to detail.

------
cmacpher
This is pretty trivial to implement in GA. I could see why people would want
this service

~~~
stevesearer
Can you provide a link to such a method?

------
gruez
From the site: "No Cookies or Visitor Tracking"

I'm wondering how you can differentiate visitors from page views without it.

------
sarciszewski
This could be useful, e.g. for A/B testing to see if your ad campaigns are
leading people to turn uBlock back on.

------
Cub3
I'm surprised this isn't included in current tracking applications

------
rbinv
Personally, I think the pricing is way too high for what you're providing.

Also, to people who think that this very JS might get blocked by ad blockers:
all of the tracking and reporting could be done (server-side) with Google
Analytics nonetheless by making use of the appropriate APIs.

~~~
amped
We spent a lot of time discussing pricing and so far it's seemed reasonable,
but your feedback has been noted. Definitely true that someone with the right
skills, time & resources could leverage existing APIs or build a similar
service.

------
Killswitch
I like the site, is that a custom bootstrap theme or a modified one?

