[Bug]: Do Not Track still lets ads through, and I found something worth checking
Preflight Checklist
- I use the latest version of Pear Desktop (Application).
- I have searched the issue tracker for a bug report that matches the one I want to file, without success.
- I understand that pear-devs/pear-desktop has NO affiliation with Google or YouTube
Pear Desktop (Application) Version
1.12.0
Checklists
- I use the portable version of the Pear Desktop Application.
- I can reproduce this issue in the official version of (WEB) YTM.
What operating system are you using?
Windows
Operating System Version
Windows 10 Pro 22H2 (build 19045)
What CPU architecture are you using?
x64
Last Known Working Pear Desktop (Application) version
1.11.0
Reproduction steps
Open Options and enable the "Do Not Track" plugin. Fully close and restart the app. Play a video/song. Ads still play, even though the plugin is enabled.
Expected Behavior
Ads should be blocked when the "Do Not Track" plugin is enabled, the same way ads used to be blocked by the old "Ad Blocker" plugin.
Actual Behavior
Ads still play even with "Do Not Track" enabled. I enabled it and fully restarted the app several times, but ads kept showing.
Enabled plugins
Do Not Track
Additional Information
I enabled the "Do Not Track" plugin and fully restarted the app several times, but ads still played. For comparison, the old "Ad Blocker" plugin (from before it was renamed/reworked) blocks ads fine using the same default method.
I dug into the code a bit. The ad-blocking works by removing certain fields (playerAds, adPlacements, adSlots) from YouTube's data before the player sees them. That part is running correctly — I confirmed it's actively working, not just silently failing.
But YouTube now also sends a field called adBreakHeartbeatParams, which isn't one of the fields getting removed. This looks like a newer field that wasn't there when the original blocking code was written, so it never got added to the list of things to strip out. This might be part of why ads still get through.
Not 100% sure this is the whole story, but it's a real gap worth checking, and might explain some of the reports of "Do Not Track" not working even when enabled.
Separately, I also noticed the "Do Not Track" plugin's blocklist-based mode pulls its filter list from a single source, while the old "Ad Blocker" plugin pulled from around 10 different, well-established filter lists. That's a much smaller net to catch ads with, so it's possibly another factor, even if it's not the main one.
Source: pear-devs/pear-desktop