Google has been encouraging site owners to move from http to https and dangling search engine ranking boost as a perk. As a result a lot of sites have moved. Most sites have also understandably put in place redirects to ensure users visiting the non secure version get redirected to the new https version of the site. So far so good.
However, one of common issues I have noticed with a slew of recent site audits is how after the switch from http to https a lot of sites see a jump in direct / none as traffic source. This is likely because of how http to https redirect has been implemented. As a result sites are losing all referral info about incoming traffic using the http->https redirect. Most likely all of this traffic is showing up as direct / none in your account.
We'll dig into how to find out if your https site has this issue and dig into a few ways to fix the problem.
Spike In Direct Traffic!
HTTP header is the most important thing for google analytics to generate reports about referral data.
Whenever you see a spike in direct traffic, this might happen because of the missing referrer data. One of the important reason behind this is moving from secure (https) to non-secure (http).
How to find if you have an issue
- Visit http:// version of your site
If it redirects to https you could have an issue, if not, you should redirect the http site to https so everyone is served a single version
Visit an http page like so http://yoursecuredomain.com/?gclid=123232
If redirect is in place it will get redirected to https check the final url of your site, does it contain ?gclid=123232 at end of it?
If yes, you likely don’t have a problem and can leave the post here :) if not, read on..
- If you don’t see the parameter your site is losing them during the redirect and as a result traffic from Adwords will show up as direct.
The same would go for any links that have utm parameters being pointed http site, they'd be lost in redirect and your campaigns will show up as direct / none.
You may ask what about all the awesome sites linking to http version of site? They won't show up as source of traffic.
Two ways to do something about it
1). Fix all the links
This one is a bit tedious, but basically you need to find all links point to http version of the site and make sure to change them to https. This means looking at all ad destination urls in adwords, bing, facebook and making sure they start with https.
Politely asking everyone that links to you to update the link.
This is of course never 100% doable as you are at the mercy of people that shared your links (and yes, most people are busy) and social media links can't be changed.
2). Fix your redirect
The easier and more worry free way is to make sure that the redirect is setup to pass the UTM parameter. You need to make sure your site passes the HTTP_REFERER header upon redirect and also make sure that url being redirected also includes all the original url parameters being sent to the http page.
How do you know it works?
You should start seeing campaigns and you can also do the test I shared above to verify the issue is fixed.
Happy campaign tracking!
Still seeing high direct traffic after fixing the issue let's talk and get to the bottom of it.
What is an HTTP referrer you may ask? Here is Wikipedia to rescue.
URL parameters are the tiny strings after ? in url you need to make sure all of it is included in the final page.
Frequently Asked Questions:
Q: If the https to http occurs on the same domain, will this result in a self-referral?
A: If hostname is excluded from referral exclusion list so protocol should not matter.
Q: Is there a possibility of losing ecommerce data while using a third party site which is on http?
A: Data should not be lost since it is sent to GA in form of events and not related to how url is set up.
But this might affect cross domain tracking since user might lose cross domain parameters on a third party domain and result in creating new session losing an original source/medium and other data.
Q: If you use UTM codes, does that get lost while transferring from https -> http?
A: You should test this on any site.
Find sites with http protocol and send a click url event to that site with https protocol and UTM parameters within url.