The madness stopped: anchor ping

April 13 2019 by Jeff Johnson

Last week I blogged about how Safari link tracking can no longer be disabled. Safari 12.1 removed a hidden preference that was the only way to disable hyperlink auditing, a method for tracking your link clicks via the anchor "ping" attribute. Coincidentally, Google Chrome also removed its hidden flag recently; in the Chrome beta versions you can no longer disable hyperlink auditing, though you can still disable it for now in the "stable" Chrome version. My blog post has sparked a lot of discussion on the web, and it looks like the Safari and Chrome teams are starting to be moved by the public pressure. If you want to keep up with the latest news about this subject, Michael Tsai's blog is a great resource, as always.

The problem is that the Safari and Chrome teams can't move fast enough. The ability to disable hyperlink auditing has already disappeared from Safari, and it may disappear from Chrome at any time. There are open cases in their bug trackers, but those cases currently have no solution for users. Fortunately, I have a solution for you now! Last night (as soon as I could get approved by Apple) I released StopTheMadness 6.0 in the Mac App Store. If you click on a link with the "ping" attribute, StopTheMadness 6.0 will now remove that "ping" attribute, thereby preventing your clicks from getting tracked by hyperlink auditing.

I thought about adding this feature to StopTheMadness in the past, but at the time both Safari and Chrome had the ability to disable hyperlink auditing, while Firefox already disables it by default, so the feature didn't seem necessary. And I filed a bug report with Apple back in January with the goal of preserving Safari's ability to disable hyperlink auditing; unfortunately that bug report is still open. Therefore, the time seemed right to add the feature to StopTheMadness.

If you'd like to see how anchor "ping" tracking works, I've created a little test page where you can try it for yourself. The full instructions are on the page. You can run your own simple localhost server on your computer, and then you can watch how clicking on the tracking link sends a "ping" to your localhost server. For testing purposes I used a very simple ping (/hi), but web sites can add any kind of information they want to the tracking URL.

Jeff Johnson (My apps, PayPal.Me)