Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Adblock Analytics (adblockanalytics.com)
42 points by amorgan on Dec 2, 2015 | hide | past | favorite | 62 comments



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.)


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.


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


Browser fingerprinting is one possible way.

https://panopticlick.eff.org/

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


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


They seem to only be collecting screen resolution, viewport size and whether ads are showing client side (tested by trying to load a file called ads.js that inserts a div into the dom). I assume server-side they combine this with user agent string and ip address.


Screen resolution & viewport size aren't being used. They were added many months ago when we first started development.


So you're just doing UA + IP? Seems like that would be plenty for your use case.


I just hope more people start running with NoScript and then all this nonsense is meaningless anyway:)


I'm actually just running a script blocker in default deny now - running an adblocker as well doesn't seem to be necessary.


you hope?


This is one of the reasons why you can't get perfect stats if you use GA events to track it, which many articles on the internet suggest.

The only way is to have the complete tracking implementation on your server.


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

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:

var r = new XMLHttpRequest(); r.open("POST","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.


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.


> open("POST","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.


The JavaScript screen & window variables have been removed.

https://www.adblockanalytics.com/analyze.js

var abaA; if(!document.getElementById('abaA')){ abaA='N'; } else{ abaA='Y'; } var r=new XMLHttpRequest(); r.open("POST","https://www.adblockanalytics.com/analyze/"); r.setRequestHeader("Content-type","application/x-www-form-urlencoded"); r.send("abaI="+abaI+"&abaA="+abaA);


This is the same method I use to check for adblockers on my sites, is there an issue with this approach or?


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

uBlock, for example is not only an ad-blocker but also a privacy enhancer. Maybe some users just don't like to be tracked.


We have no interest in tracking anyone and can't given our implementation. If you checkout our sample report (which is the same one that clients receive) all of the data is highly aggregated:

https://www.adblockanalytics.com/sample/


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

adblockanalytics.com


This has already been added to uBO's filters: https://github.com/gorhill/uBlock/commit/ba05804060ec7c4399c...


It sounds like this has immediately defeated the purpose of the product already.


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?


I think it's mentioned in the commit on uBO: https://github.com/gorhill/uBlock/commit/ba05804060ec7c4399c...

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


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.


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.


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.


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.


You would be shocked if you would look into the log files of a webserver.


The only solace I have that the only data the webserver will have is activity on that one server rather than all of my activity aggregated and analyzed by google or microsoft.


"Some people really don't want want to be tracked. period." And what will those people do if IPv6 becomes common?


What does that have to do with anything? IPv6 does not mean static IPs for everyone forever.


> if they can't find out how their revenue is being affected,

Does "being affected" mean reduced? Because they're not losing out on ad revenue they would otherwise gain. That's the piracy argument with ads: if only everyone who used our product would pay us what we want, we wouldn't be losing so much money. You can't count browsers with ad-blockers as lost revenue. (You also can't count search engines, REST and curl, etc... as lost revenue.)

> then how can they decide if a change in revenue source is necessary?

Shouldn't a change in revenue model be driven by the opportunities of a subscription (or other) model, not by issues with advertising?

It seems like you're selling a service that will make your customers unhappy about reduced revenue, which they can't do anything about. What can a customer do differently if they find 16% using ad blockers, or 34% using ad blockers? Their ad revenue is the same regardless of the percentage. Their other revenue models haven't changed. All that's changed is that now they're mad about users with ad blockers. At best, if the percentage is going to drive a decision about changing revenue models, all they really need is a single data point, not a monthly service.

> why are you opposed to websites knowing how many of their visitors are blocking ads?

Because people aren't rational. They'll get angry about a transaction cost of the advertising model, and do all the same stupid things we saw 2 or 3 years ago: rants of moral indignation, poorly implemented content blocking, big obnoxious pleas, etc...


Truly appreciate your thoughtful response - thank you! I don't believe ad blockers are going away nor do I think it's time well spent or an effective strategy asking visitors to disable them or try to sneak ads past them. What I do believe though is once decision makers within these companies learn the % of their visitors that are blocking ads it will spur a productive discussion on what they should do about it - such as a shift in revenue strategy as you suggested.

As thomasahle pointed out earlier, ad blocking visitors seem to be more engaged because they bounce less and visit more pages. Now this is based on a relatively small sample size, but so far the trend is holding true. That is a huge takeaway that cannot be understated. Ad blocking visitors are valuable but in a slightly different sense.

And you're right, some websites will signup for a month and cancel after they've analyzed a large enough sample size and we're ok with that because it's all about education & gaining knowledge. Prior to using our service they could only guess, now they know with relative certainty.


It looks like Adblock Analytics can track users (IP adressess). Do ad blockers block all trackers, or just ad trackers, by default?


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!!


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.


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


Thanks for posting! Would you like to talk a bit about the tech stack, biggest challenge in building frontend/backend, any marketing so far, any traction?


Typical LAMP stack is being used & service hasn't been advertised yet.


Based on https://news.ycombinator.com/item?id=10664178 it seems that you are running the tracker on your main domain.

For a site like this I would put the tracker that's being hit by sites on a different (sub-)domain, to prevent massive traffic spikes on client sites from also taking down your own homepage.


Excellent tip that we'll definitely implement asap. Nice username.


Interesting and I like how accessible it is. Any thoughts on why more tablets than phones currently block ads? Found that kind of surprising.


That does seem to be the result so far and it'll be interesting to see if that charges as more sites use the service.


[deleted]


Received your emails - thanks!


a lot of websites seem to be struggling with determining how many of their visitors are blocking ads

So they can now track people using your website? As first comment said, good luck not getting blacklisted...


We don't track visitors, we're only interested if a visitor can view ads or not.


Your tool is actively trying to determine what I user does with the page after it's served -- that's tracking. Yes, this behavior is commonplace in the industry but it doesn't mean you wont end up on blocklists because of it.


Does your service respect the Do Not Track header?


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.


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!


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


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


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


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


Can you provide a link to such a method?


From the site: "No Cookies or Visitor Tracking"

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


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


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


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.


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.


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: