You’ve probably been there. As you comb through your Google Analytics data, you see a large percentage of your traffic attributed to (Direct) / (None). When I first looked at the analytics for one of my clients, as much as 60% of his traffic had been allocated to this category (and yes, we fixed that). A lot of marketers are struggling with this issue, but it can, in part, be solved.
What's causing the (Direct) / (None) issue?
To answer this question, it is first important to understand how referrer information is passed on to Google Analytics.
How Referrer Information is Passed on to Google Analytics
Here’s the gist of how Google Analytics receives its data:
The HTTP and HTTPS protocols that the web runs on, specify how browsers can pass information about the referrer on to a server. The referrer’s optional header field identifies the address (URI) of the webpage that linked to the resource being requested (definition of W3).
This allows a server to generate lists of back-links to other websites and documents, for interest, logging, etc. This information cannot be sent, however, if the source does not have its own URI, e.g. direct input from the user’s keyboard. This process is also not mandatory (which is why I highlighted “optional” in the sentence above).
Hence, when your website visitor’s browser (e.g. Chrome, Firefox, Safari, etc.) is requesting a page on your website, it can pass the information about the referrer (the site they visited before they arrived on yours) to your server and Google Analytics as well.
The Google Analytics Help Center explains, that Google Analytics checks for AdWords and DoubleClick tags, UTM tags, and the HTTP referrer (documentReferrer), in that order. If these resources don’t help identify the traffic source and medium, Google Analytics checks if the browser has a Google Analytics cookie from a previous session. If none of these steps have provided Google Analytics with the data it was looking for, the traffic will be marked as (Direct) / (None). In reality, however, this traffic is simply “unknown.”
Reasons for (Direct) / (None) referrals
There are many reasons why your referral traffic is recorded as (Direct) / (None). Here are a couple of them:
- The user typed your URL directly into their browser. While this can explain the referral for easy pages, such as the homepage, it certainly does not explain the error for a more complex URL, such as www.url.com/products/458303585
- The user bookmarked your site. Bookmarked sites are fantastic. Realistically, though, the chances that thousands of users bookmark your site every day are very slim.
- The user clicked on a link in a PDF or document (e.g. Word, Excel, PowerPoint). As those files are not web-based, how could they pass referrer details on to Google Analytics? They can’t (I will explain a workaround for this scenario below).
- The user clicked on a link that was shared via a desktop application (e.g. Skype, an email in Outlook or Microsoft Exchange, etc.). This ties into the problem with PDFs and I will explain a workaround for this below.
- You used URL shorteners. Often, when I see a lot of (Direct) / (None) referral traffic in Google Analytics, the culprit are URL shorteners, such as bit.ly. Don’t get me wrong: I love URL shorteners, especially when sharing links on twitter. The problem is, however, that some of them, including bit.ly, create a separate URL that they store on their own server. This shortened URL then redirects (via a 301 redirect) to your original URL. This re-direct can break the referral linking for Google Analytics. There is a workaround for this, which I’ll explain in more detail below.
- Secure Hosting (SSL). The user arrived on your non-secured (http) site from a secured (https) site. The very nature of secured sites is to keep your data safe, hence the browser will not pass data on from https sites when they arrive on http sites. This can lead to many problems, given that Google, Facebook, and Twitter are now all using https. As if this wasn’t bad enough, Google is encouraging companies to switch to SSL as well, and has made this an important aspect for search engine ranking (although you won’t really notice a big jump in your ranking). Hence, if you’re staying on http, you might see the percentage of (Direct) / (None) traffic continuously increasing (except for social media sites, as they are using sophisticated redirects to solve this issue).
- You recently switched from http to https. As I just discussed, a visitor arriving on a http site from an https site can end up in the (Direct) / (None) bucket. If you’ve recently switched your http site over to https, however, it is possible that your data also had an increase in (Direct) / (None) referrals. The reason for this is caused by redirects. To know if this might be the culprit in your case, try this: enter this url into your browser, replacing yourdomain with your actual domain: http://yourdomain.com/?gclid=12345 . After the redirect has taken place, the final URL should still include /?gclid=12345 so basically, https://yourdomain.com/?gclid=12345 . If it does, you’re likely safe. If it doesn’t, this could be one of the issues leading to a spike in your (Direct) / (None) traffic.
- The user clicked on a link in a mobile app. Although this one depends on the app. The big players, such as Twitter and Facebook are already using HTTP on iPhones and Android.
- Your website visitor is using an aggressive ad blocker. Some ad blockers destroy cookies and hide referral information that the browser would normally pass on to the website the user is visiting.
How to fix the (Direct) / (None) issue
Now that we’ve discussed the cause of the (Direct) / (None) issue in great detail, let’s dive into some ways to fix this problem.
Use UTM tagging. As we’ve seen in the Google Analytics Help Center article I’ve mentioned above, Google checks for AdWords and DoubleClick tags, UTM tags, and the HTTP referrer (documentReferrer) when it determines the source and medium that sent the traffic. Therefore, UTM tagging is one of the solutions I would propose.
And don’t worry, it sounds more complicated than it is.
Fun fact: UTM stands for Urchin Tracking Module. Urchin, an analytics company, was acquired by Google in 2005 and became what is now known as Google Analytics. A UTM tag is basically a tag that accompanies a URL, which provides Google Analytics with a lot more information than it would normally receive from a referrer.
Now let me walk you through the process of using UTM tags.
Step 1: Create the URL tag.
You can either use Google’s URL builder to tag your URLs or you can use this URL tagging template I created (to also keep a record of the URLs you’re using). These are the parameters that you’ll need to use and some examples of what they might look like.
- Source (required): e.g. Google, Facebook, Twitter, SunnyStartUpMarketing, Newsletter
- Medium (required): e.g. cpc, post, tweet, blog, email
- Campaign: e.g. summer_sale , contest, giveaway, analytics, winter_promo
- Keyword: e.g blue_dress, Hawaii, snowboard, UTM_tagging, boots
- Content: e.g. orange_button, men_35+, red, 3D_cover, girl_in_snow
For demonstration purposes, I’ll use the parameters I’ve highlighted above in blue. The URL I’m tagging is for a hypothetical campaign that I’m planning to send to my newsletter subscribers via email. This campaign is part of a winter promotion for boots and the ad I wish to distinguish from the others via this tagged URL, shows a girl in the snow.
So far so good. Now, let’s look at the URL:
Step 2: Use URL tags for every link you’re sharing
Does this sound like tedious work to you? I know, I hear that a lot. In my opinion, though, it’s not as bad as spending hours speculating about where your website traffic might have come from. After a few tagged URLs, this will become second nature to you. Just imagine all the data you’re about to find streaming into your Google Analytics account.
Step 3: Finding your UTM tagged traffic in Google Analytics
Now, that you’ve tagged all your URLs and spread the links across your emails, social media, PDFs, and the web, where do you find them in Google Analytics? Follow this path to find the treasure: Acquisition >> Campaigns >> All Campaigns. They will be displayed like this (click to enlarge the images):
See what happened? Changing the “secondary dimension” will reveal the data your link communicated to Google Analytics when the browser opened the tagged URL. Magic!
Alright, let’s assume you don’t want to include any data about keywords or ad content and merely want Google Analytics to capture the source and medium correctly, what do you do? You simply delete those parameters from that URL (in their entirety or else they’ll break the link and you won’t get any data). For example, our example URL becomes:
Using Google or HootSuite for URL shortening
Great, so now you’ve learned how to tag URLs but our example URL above has 139 characters. That’s not very twitter-friendly, is it? A few paragraphs ago I told you that URL shorteners such as bit.ly use 301 redirects and can hence increase your (Direct) / (None) traffic referrals. This is still true. However, with a tagged URL the redirect will ultimately lead the user to your tagged URL. This will pass all those beautiful parameters to Google Analytics.
If tagging URLs is not your thing and you just want to fix the shortened URL problem, consider using Google’s URL shortener instead or HootSuite’s ow.ly. They don’t cause the loss of referrer data. As indicated before, however, steer clear of bit.ly.
Alright, I hope all of the above will help you lower your (Direct) / (None) referrals significantly. If you have any quesitons or if what I’m mentioning here as workaround doesn’t work, please reach out for help.