4 ms·
I'm confused, are you now arguing that it's difficult to work around Youtubes mitigations and that they have all kinds of checks to make sure an ad was viewed?
by worksonmine 3y ago
I'm confused, are you now arguing that it's difficult to work around Youtubes mitigations and that they have all kinds of checks to make sure an ad was viewed? That said I'm sure bot detection is more interesting for the adsense part of their business to catch malicious publishers and content creators not adblockers.
A simple check that the rest of the video is requested at least $now >= ($ad_request_time + $min_skip_or_view_time) will catch most adblockers while degrading none of the regular users. All done server-side, no need to complicate things. Sure the adblocker could play some elevator tunes and display a spinner while waiting, but what's even the point. Next step they require a hash of the ad in the next request as proof and on it goes.
See facebooks markup for the "Sponsored" string for a similar example in the wild. Last I checked ublock origin gave up.
- zb3 3y agoMore like I'm arguing that if they use their BG detection for catching adblockers as well, then that part _might_ be attacked with a greater force than before - and if broken, might hurt them more than adblockers did. Of course it's just pure speculation. Back to the technical argument, I was refering to the fact that a DB read to check if an ad should be served (done on the player page) as well as the DB write to check if the video was downloaded earlier (on the CDN, we have signatures there and expiry date passed as a parameter) might be infeasible from the architectural/performance point of view, but I gotta admit I actually don't have any relevant knowledge here so I'm just speculating because this seems interesting.
- worksonmine 3y agoIt would be done in-memory on whatever server the load-balancer assigns the visitor to, at the same time that the request is checked for permissions anyway. Compared to the rest of the data Google collects the extra timestamp isn't even a rounding-error and doesn't need to be persisted in long-term storage (the request is in the logs anyway).