Identify direct channel data in google analytics

Retrieve some of the direct traffic in your google analytics property

The issue

Direct traffic channel is increasing, and you are struggling to identify the activity responsible. Direct channel traffic in Google Analytics basically means there wasn’t a referring URL or UTM parameters in place to identify a root source when that session begins. There are a number of reasons for this : missing tags, bookmarked pages, auto complete browser history, 302 redirects and bots are common contributing factors. Here is one solution to identify and re-classify Direct traffic in Google Analytics.

Its always worth while conducting an audit of your marketing activity to make sure a chunk of this isn’t activity that can easily be tracked with some marketing governance changes. A recent example of this I found was a client who had a process to apply UTM parameters to email marketing emails but had neglected to do the same to service emails. This meant an increase in direct channel traffic was created if users reset password, confirmed email address, or used order confirmation emails as a navigation aid. The audit helped identify this and together we have worked to manage the data.

Having conducted an audit and patched the holes you may still feel your direct traffic channel remains bigger than expected. All is not lost; you do have another opportunity to retrieve visibility.

One driver of direct is the transition from a http referral to your https website. In this scenario the referral information is dropped by GA, a common example of this being android app-based traffic that lands on your website from organic social or search links.

You can ID this by adding a full referral dimension to your data via a tag manager.

Add a JavaScript variable to capture full referral information.

JavaScript variable

You’ll then need to create a custom dimension in GA call it Full referrer and take a noted of the index number.


Update you GA settings variable in GTM taking the index number previously noted and use the JavaSript variable as the value.

custom dimension

Now for each hit made you will see a full referrer string; you can use this with your direct channel by applying it as a secondary dimension.

Couple of things to note, you will see payment providers in this list and a lot of URLs from your own domain. Ignore the former as they should be managed by your referral exclude rules already. The internal URLs will simply be the previous page / landing pages the direct session had reported first.

Look for anything beginning ‘android’ or ‘http’ as this is the information you want to identify and attribute to relevant default channel in GA.

full_referral data sample

Move this data into the correct channel

The fix

Rewrite google android using the following REGEX, essentially what we are doing is identifying android activity from the direct channel and assigning it to organic/


GA Filter logic

Example regex for Pinterest

android-app://com\.pinterest\.android\.gm|android-app://com\. pinterest \.android\.pinterest/https/www\. pinterest \.com|android-app://com\.google\.android\. pinterest /?

The scale and impact this will have on your data will depend on your individual traffic profiles, in my experience, I’ve seen varied results in terms of volumes. Either way Its certainly worth going through the process if you can identify and re-assign this traffic to the accurate traffic channel.

If you’d like to discuss this or your broader measurement strategy please get in touch