Why I never use URL shorteners on Twitter

When we told our guide that we didn't want to go to all the tourist places he took us instead to the places where they take tourists who say that they don't want to go to tourist places. These places are, of course, full of tourists. Which is not to say that we weren't tourists every bit as much as the others, but it does highlight the irony that everything you go to see is changed by the very action of going to see it, which is the sort of problem which physicists have been wrestling with for most of this century.

– Douglas Adams in Last Chance to See

I am no scientific in any way, but still remember the importance of the above statement from my chemistry classes. As an example, when you want to test the pH of a liquid using a piece of litmus paper, you have to make sure that the amount of liquid is large enough to eliminate the effects of the pH change inducted by the piece of litmus paper. In other words, using litmus paper to test the pH degree of a drop of liquid has a huge error margin.

I have this principle in mind with most things I measure. The inclusion of a piece of JavaScript on the pages of my web site in order to have Google Analytics collect data about my visitors has an effect on the user experience: the page loads a little bit slower. However, Google’s infrastructure is fast enough so that the increase in load time is hardly noticeable.

URL shorteners

Many Twitter users also want to measure the efficiency and popularity of their tweets. The most common method of doing this is by using an intermediate server, the ‘URL shortener’, which registers each visit to the destination site.

In the first years of Twitter, URL shorteners such as bit.ly were necessary to prevent long URLs from using too many of the available 140 characters in a tweet. However, in 2011Twitter implemented their own URL shortener inside their service so that each URL, including the ones passed through another shortener, only use 20 characters. Therefore, URL shorteners are no longer necessary to actual shorten url’s, though I meet many Twitter users who believe it still is needed to prevent links from using too many characters.

Another false believe about URL shorteners is that it’s the only method to get metrics about the popularity of each tweet. Once again, this was true in the past, but nowadays Twitter gives excellent statistics about the number of favourites, retweets and answers to each tweet on their statistics page.

The biggest difference between Twitter’s own shortener and external services is transparency. When you see a tweet with a link in it, it will show (the beginning of) the URL of the shortening service in case of external shorteners and the URL of the actual page you’re linking to if you don’t use an external shortener – and therefore just Twitter’s service. See the two test tweets further below in this article for the actual differences.

On a side note, using a URL shortener is adding an additional Single Point of Failure as each visitor clicking a link inside your tweet has to make two hops: first he visits Twitter to obtain the shortened URL, then he visits the site of the URL shortener’s service in order to get the actual address of the page you’re linking to and finally he visits the actual site. Without a shortener, the middle step is skipped.

Since tweets are so short and give little context, I assumed that the actual link people see in tweets makes a lot of difference when deciding to click or not. My expectation was that tweets with shortened links get clicked less than tweets showing the original link. To confirm this hypothesis, I decided to craft an experiment.


For conducting the test, I selected a page with a nice viral title that I published a few years ago. I use Google Analytics on my site to measure traffic and labelled the link with campaign parameters, so I could separate the visitors clicking the links in the tweets from the regular visitors: ?utm_source=twitter&utm_medium=social&utm_content=NoShortener&utm_campaign=TestShortener

I prepared two versions of my tweet: one with the link shortened by bit.ly and another one linking directly to the article.

I decided that I had to publish the tweets multiple times over the course of a week in order to maximise exposure and got a significant number of clicks. For that purpose I used the Tweko service, which was invoked by adding the #tweko hashtag to the tweet. Previously I had configured Tweko for the two twitter accounts used in this test to repeat each tweet nine times with a ten hour interval betuneen each tweet.

Of course, the likelihood of receiving clicks decreases each time the tweet is published, as many followers will already have seen the tweet before. I decided to give the expected underdog in this experiment – the tweet with the shortened URL – a small advantage by starting the publishing schedule with the shortened version of the tweet.

Tweet 1 -- Shortener:

Tweet 2 -- No Shortener:

The results

After a few weeks I decided to have a look at the statistics in Google Analytics. I went to the report that shows the visits per campaign, and clicked on the campaign named 'TestShortener' to focus only on the visits originating from my test. Then I configured the field 'ad content' as the secondary dimension of the report, to get the numbers for each of the two versions. These are the results I found:

Ad content Visits
Shortener 382
NoShortener 438
Total 820

Clearly, the tweets that did not use a URL shortener received more visits that the shortened version, but is this a significant difference? Is it possible that this difference is caused by random fluctuations? In statistics, this question is usually answered by running the Chi-squared test. This test gives a confidence level, which is the percent of the time each sample’s success rate will fall within the reported confidence interval if the experiment is repeated many times. It is also the percent of the time no difference will be detected between the two groups, assuming no difference exists.

In order to calculate the confidence level, I need two numbers for each sample: the number of successes and the total number of trials. I already have the number of successes, the number of visits I received on my page shown in the table above. The total number of trials is the number of people who received the tweets. Since I have sent the two different tweets to exactly the same group, I can assume that the sample size is the same for both samples. The few people who started following me or who left me in the hours between the tweets can safely be ignored. So we can say that the total number of trials is the sum of the followers of both Twitter accounts used in the experiment. Lets calculate:

Ad content # successes # trials Confidence interval
Shortener 382 7000 4.9% - 6%
NoShortener 438 7000 5.7% - 6.8%

The verdict is that the ‘NoShortener’ sample group is more successful (p = 0.0439).

My conclusion

For me the results are clear, this small test confirmed my hypothesis. Since using a URL shortener does not have any benefits for me and it even reduces clicks on the links I tweet, I will not use them anymore.

Jeroen Sangers @jeroensangers