Block Reddit from tracking outbound links

Martin Brinkmann
Mar 17, 2016
Updated • Mar 18, 2016
Internet
|
5

Reddit announced a week ago that it decided to start tracking outbound links on the site which effectively means that they know on which outbound links Reddit users clicked.

According to Reddit, doing so will open up new possibilities for the site, for instance to better combat spam or better stats such as clicks to votes.

Reddit tracks what each individual user clicks on but does not share the data with third-parties.

You can verify the tracking using the Developer Tools of your web browser. While on Reddit hit F12 to open the developer tools, and use the inspector tool to select an outbound link on the Reddit page you are own.

You should see the attributes data-href-url and data-outbound-url associated with the link.

Update: Reddit turned the feature off for the time being until they add privacy controls that let users control it on the site directly.

Block outbound tracking on Reddit

reddit outbound links tracking

The attributes have the following values:

  • data-href-url is the direct target url.
  • data-outbound-url is the tracking link that is activated when you click on the outbound link. Reddit records the click and redirects your request to the data-href-url URL afterwards.

If you don't want to be tracked on Reddit, you have two options to deal with the issue. First, instead of left or middle-clicking on a link, right-click on it and select to copy it instead. Open a new browser tab and load the link this way.

While this may work for light use, it is not overly comfortable if you open links regularly on the site.

A Reddit user has created a userscript that you can add to your browser instead. Chrome users need to install Tampermonkey and Firefox users Greasemonkey first before they can make use of it.

Here is the script:

// ==UserScript==
// @name Don't track my clicks, reddit
// @namespace http://reddit.com/u/OperaSona
// @author OperaSona
// @match *://*.reddit.com/*
// @grant none
// ==/UserScript==

var a_col = document.getElementsByTagName('a');
var a, actual_fucking_url;
for(var i = 0; i < a_col.length; i++) {
a = a_col[i];
actual_fucking_url = a.getAttribute('data-href-url');
if(actual_fucking_url) a.setAttribute('data-outbound-url', actual_fucking_url);
}

Adding it to Tampermonkey

To add the Reddit click tracking blocking script using Tampermonkey, do the following:

  1. Click on the Tampermonkey icon in the browser's address bar and select "add a new script" from the selection menu.
  2. Copy and paste the script listed above into the editor. Make sure you replace all information that Tampermonkey adds on its own in the process.
  3. Click on the save button at the top.

Adding it to Greasemonkey

Greasemonkey is supported as well. To add the script to the extension, do the following:

  1. Click on the down arrow icon next to the Greasemonkey button in the browser and select New User Script.
  2. Fill out the name only and click on okay. This opens the main editor where you paste the full userscript in.
  3. Click on the save button in the end.

The result is the same: The data tracking attribute is replaced by the original link so that Reddit cannot track the click anymore.

reddit no tracking

It is unclear right now whether Reddit will implement an option to opt-out of the outbound link tracking on the site in the future. It seems likely however that third-party extensions such as RES will add the functionality eventually.

Summary
Block Reddit from tracking outbound links
Article Name
Block Reddit from tracking outbound links
Description
Find out how to block the tracking of outbound links on the popular social media site Reddit by adding a userscript to your web browser.
Author
Publisher
Ghacks Technology News
Logo
Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. Kin said on March 17, 2016 at 2:28 pm
    Reply

    Thanks for the heads-up.

    We all know how this work by now. “For a better user experience” usually mean “We want to be part of the Big Data market where we can sell your *anonymous* information so that we can *anonymously* target you with products, ads, and services.

    1. captn said on March 18, 2016 at 4:55 am
      Reply

      The only buyer will be our corrupt government.

  2. Chris Granger said on March 17, 2016 at 1:22 pm
    Reply

    Thanks for keeping us alerted to things like this, Martin.

    Google Bookmarks does something similar. When you mouse over a bookmark and look with the developer tools inspector, instead of href=”http://example.com” you’ll see href=”https://www.google.com/url?q=http://example.com&usd=2&usg=SOME_ALPHANUMERIC_STRING”…

    I imagine Google does this everywhere, but I search in a private window by using add-ons Autoprivate and Private Tab. Alas, one must be logged in to use services like Bookmarks and Gmail.

  3. gh said on March 17, 2016 at 9:37 am
    Reply

    Martin, FYI, I’m not finding that “data-outbound-url” attribute present when I visit, for example
    htt ps ://w w w .reddit.com/r/firefox/comments/4amxfx/any_abp_ghostery_or_other_way_to_suppress_the/

    maybe it’s only partially implemented (A/B testing?) or might only be applied for LOGGED IN visitors?

    Ah, I’m running requestPolicy, maybe that’s why that bit isn’t being injected?
    Glancing at the RP rules currently in effect:
    allow reddit.com => redditstatic.com
    allow reddit.com => redditmedia.com

    RP indicates that something (retrieved from redditmedia.com) embedded in the page wants to load
    something from redditstatic.com, but I haven’t created an allow rule for that.

    Rechecked, after adding a temp rule allowing redditmedia.com => redditstatic.com
    I’m STILL not seeing anything embedded into the outbound links other than the href and nofollow attribute.
    Clicking links and monitoring (outside the browser) the outbound network requests, I find no unexpected/unwanted requests.

    1. Martin Brinkmann said on March 17, 2016 at 9:39 am
      Reply

      I read that they are rolling this out gradually to all members of the community. May take a while before yours start to be tracked.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.