Earlier this week we made a small change to how unsubscribes are handled for all of your subscribers. Before I get into the details though, a bit of a background…
The problem
For many people, email can be a common way for unwanted nasties like worms and trojans to infect a computer. To combat this, many anti-spam companies have integrated their software into email clients and mail servers. One of their major lines of defence is to quickly check each of the links in an email to make sure they aren’t trying trying to trick an unknowing user into opening one of these goodies. To do this, the anti-virus software actually visits every link in your email. Trouble is, that means they also take a ride on our single-click unsubscribe process and accidentally unsubscribe that person from your list.
We’re big fans of the single-click unsubscribe method, so the last thing we wanted to do was force a confirmation step on every person who wanted out. Once we tracked down the problem, we decided to start logging these accidental unsubscribes to figure out the least intrusive way to prevent them. It turns out that the approach each anti-virus tool uses to follow each link in an email doesn’t support JavaScript. That was our opportunity.
The solution
With the knowledge that none of these tools supported JavaScript, we’ve made the following changes to the unsubscribe process:
The unsubscribe link is clicked
Once an unsubscribe link is clicked, either by a human or anti-virus software, they are taken to a new landing page. This page then detects if JavaScript support is available.
Option 1: JavaScript is supported
If JavaScript is enabled, we know it’s not an automated click but a real person and submit an AJAX call that automatically unsubscribes that person from your list and displays our traditional confirmation message. The recipient can also re-subscribe to the list with a single click if they change their mind.
Option 2: JavaScript is not supported
If JavaScript is not supported, we know it’s either an automated system like anti-virus software, or one of the 3% or so of users who have deliberately turned JavaScript off. Using the trusty <noscript>
tag, we show a simple page asking them to click a link to confirm the unsubscribe.
We can confirm that the anti-virus software won’t click this link, and only a very small percentage of your subscribers will ever have to go through this extra step to unsubscribe from your list.
We’re very happy to put an end to those pesky unwanted unsubscribes, and even happier that we could pull it off in an elegant way that doesn’t damage the current experience for your subscribers.