Anyone running a marketing campaign probably will come across discrepancies between the number of clicks received via ads and the number of visits reported for the exact same ads.
There are a number of reasons for such discrepancies, and this post offers some tips for dealing with them. Spoiler alert: Not all discrepancies can (or should) be overcome. But my goal is to help you overcome those that can be eliminated, and enable you to live in peace with those that cannot. 🙂
Tip #1: Identify the Scope of the Problem
The first thing you need to do when dealing with discrepancies between clicks and visits is make sure you understand the scope of the problem: Is this a local issue with just one of your campaigns? How long have these discrepancies been occurring? What were the standard discrepancies for your previous campaigns?
By identifying the scope of the discrepancies, you and your technical team will be able to concentrate on the most relevant factors. Dealing with an “across-the-board issue” differs from dealing with an issue from a single campaign or ad.
So, start by trying to answer the following questions:
- When did the discrepancies begin? Did they appear continuously?
- Does the problem occur only with a specific ad/campaign/publisher?
- If you are using a marketing product or service that you have used in the past, take a look at the discrepancies you encountered in the past for comparison.
- Then, do the same as in the item above for the publisher and medium you are using.
Tip #2: Make Sure Your Campaign Ads and Landing Pages Are Set Correctly
You do not need to be a programmer or have technical skills to look into most of these issues. More often than not, it will take you only a few seconds to find out if there is a technical problem that is causing the discrepancies.
Click on your ad and take a careful look at your landing page URL. When setting up an ad campaign, you have to link your ad (using AdWords, for example) to your analytics tool (Google Analytics, for example). Incorrect linking can lead to inaccurate tracking, which in turn leads directly to discrepancies between clicks and visits. This is why your landing page URL must hold information about the ad.
- If you run an AdWords campaign, usually you should see this gclid parameter: mysite.com/?gclid=123xyz
- For other campaigns, you should see one or more parameters that describe the specific ad being clicked on. With some analytics tools, this can be a single parameter (the unique ID of the ad), while with others (such as Google Analytics), this can be 3-5 different parameters.
If you have checked the URL and cannot find anything that looks campaign-related that could be causing the discrepancies, check the following:
- Is auto-tagging enabled on your AdWords account? Auto tagging is the easiest way to correctly link AdWords to Google Analytics. If it is disabled, there’s a good chance this will cause discrepancies.
- Did you set the destination URLs correctly when you created the campaign? Did you add the relevant campaign tracking information as a parameter? (This is relevant for non-AdWords campaigns or for when auto tagging is disabled.)
- Do you have an A/B or split test running on your landing page?
- Is it possible your server is redirecting the user to a different page without the campaign parameters? To check this, look at the URL destination you specified for the ad and the URL you see in the browser after clicking on the ad. Are they the same? If not, you probably have a server redirection, and you should make sure your tech team passes the parameters during redirection.
- Make sure none of your ads leads to a 404 page (“page not found”)!
Tip #3: Install the “Tag Assistant for Chrome” by Google
Now that you understand the scope of the discrepancies and have checked the URLs, the next step is to ensure your analytics tool is implemented correctly on your landing page. An error here is one of the most common reasons for data discrepancies.
The Tag Assistant by Google can help you ensure this. Just install the Chrome Extension, go to your landing page, and see if there are any tracking issues. If you see a green or blue icon, chances are everything is fine. However, if a red icon appears, there probably is something wrong.
The following are some of the issues you can spot using this extension:
1. Tracking implementation
If your tracking code was implemented incorrectly or not implemented at all, your analytics tool probably will not collect all your visitors.
In the screenshot above, you can see an example of bad implementation of the Google Analytics tag. It shows that there is a “Critical Issue” that is preventing events and page views from being fired to Google Analytics. Under “Warnings,” there is a notation: “This extension may prevent Google Analytics from working correctly.”
2. Events sent to the analytics tool
Tag Assistant will specify the list of events and page views sent to Google Analytics, and you can check whether all the events are being sent, or if some are being missed.
In the left screenshot above, you can see an example of a working GA tag under “Tags Found” (and by looking at the URL field, you can tell that there was one page view), while the right screenshot shows Google Tag Assistant indicating there was an “Error: No HTTP response detected.”
3. Tracking code positioning
Incorrect positioning of your tracking code can cause the analytics tool to miss some page views. Ideally, the code should appear as close to the beginning of the page as possible (preferably in the <head> tag).
4. Multiple tracking tags
In some cases, having more than one tracking code on the same page might cause your analytics tool to miss some of your visitors.
In the screenshot above, there is a notation: “Suggestion: Multiple Google Analytics tags detected.”
Alternative: Install an HTTP Sniffer (Instead of the Google Tag Assistant for Chrome)
Since Tag Assistant deals only with Google-related tags, alternatively, you can try an HTTP sniffer if you are using other tracking tools (such as KISSmetrics or Clicky). An HTTP sniffer (such as Fiddler or Charles) will make sure the events are being fired from your landing pages to your analytics tool.
Tip #4: Understand Your Analytics and Publisher Data
Are these discrepancies really discrepancies, or are we just looking at the data incorrectly?
Here are a few errors that are easy to make when analyzing data collected by the publisher and analytics services:
- Multiple AdWords accounts linked to the same analytics view or multiple analytics properties linked to the same AdWords account – If your AdWords account is linked to multiple Google Analytics properties, the metric for the “no. of clicks,” which is imported from the linked AdWords account, will include ALL the clicks, which is not what we want.Let’s look at the following example: You have two separate Google Analytics properties, one for your .com domain (English site) and one for your .fr domain (French site). However, you have only one AdWords account where you manage the ads for both the English and the French sites. Therefore, this one account is linked to the two Google Analytics properties.Now, let’s assume that, hypothetically, your ads have generated 1,000 clicks (800 from the English campaign and 200 from the French campaign), which leads to a total of 1,000 visits (800 to the .com site and 200 to the .fr site). When you check your clicks-to-visits ratio on the French site, you will see an 80% discrepancy: 1,000 clicks but only 200 visits. Whereas, the English property will have a 20% discrepancy: 1,000 clicks but only 800 visits.
That is why you should always look at the data from the campaign level down, and make sure you have all the data in the Google Analytics property you are currently on. In the above example, by looking at clicks on the campaign level down, you will see that the English campaign got 800 clicks vs. the French campaign that got 200 clicks.
- Filter on analytics views – Google Analytics and other analytics tools let you filter out and manipulate data before it is processed. This, of course, is extremely useful, but with regard to discrepancies, you may accidently exclude relevant traffic or affect the data in some other way while processing. This is why I always recommend keeping one analytics view that has no filters.
- Time zone – Make sure the data you are looking at has the exact same time zone. If, for example, your AdWords analytics is set to GMT, but your KISSmetrics analytics is set to EST, you will not be able to correctly compare the data between the two systems and discrepancies will occur. If you cannot set both systems to the same time zone, make sure you align your queries to match the same time frame.
- Data refreshing – Querying your data from the last day can be problematic, as it is difficult to know whether or not recent events have been processed. This is especially true when comparing data from AdWords vs. data collected by a real-time or a near real-time analytics tool such as KISSmetrics.
Try to find out how long it takes to process data on each of the systems used, and in any case, never include incomplete data from the last few minutes/hours.
- Data sampling – Always look at results based on 100% of the data collected, and not on samples. The smaller the sample, the greater the discrepancies among various metrics.
Tip #5: Accept the Fact That There Is Nothing Wrong with Having Data Discrepancies
If after checking all the above-mentioned technical reasons, there still are some discrepancies you can’t get rid of, you may just have to learn to live with them. Easier said than done, I know, but at least if you know the cause, this might be less frustrating. After all, knowing is better than wondering.
One of the reasons for discrepancies that are here to stay is: Different systems = different methodologies = different metrics. That is why you will always see discrepancies when looking at data collected by different systems (even if you were to compare the exact same metrics). Each system uses its own technique and methodology for collecting data, identifying and counting users, and calculating metrics.
Here are just a few examples of differences that cause any two metrics to be calculated differently across tracking systems:
- Which traffic source should be credited? Did you know that Google Analytics is the only analytics tool that credits the original traffic source when a user re-visits your site from a referring site?
- What about cross-channels in general? If the user arrives at your site via an ad, and the following day returns to your site via an organic search, your analytics tool may count this as 2 visits for the ad, while your publisher will count only 1 click.
- How does your analytics tool identify users? By using 1st party cookies? 3rd party cookies? An IP? Is it possible your analytics tool will identify two different users as the same one, while your publisher identifies them correctly?
And don’t forget: Not every click is automatically counted as a visit, and not every visit is initiated by a click. For example:
- Deleted clicks – The publisher will automatically delete invalid clicks, including clicks that are suspected of being malicious. Check out this ancient article from 12 years ago about invalid clicks. Most of it is still relevant, at least with some publishers.
- Multiple clicks – The publisher usually counts multiple clicks by the same user as just one click (such as a number of clicks within a short period of time, or a double click on an ad).
- Halted browser – If someone clicks on an ad and then immediately stops the browser before the landing page is fully loaded, your publisher will report a click without a visit.
- Pop-up blocker – Some pop-up blockers work like this: Your landing page pops up in a new window, the user clicks the ad, the window opens up, and then the pop-up blocker immediately closes the window. Here too, the publisher will report a click, while your analytics will show no visits.
- No tracking – If a user has opted out of being tracked by using an add-on (such as Ghostery or DoNotTrackMe) or an out-of-the-box browser and site support, your analytics tool might miss some of your users. (In some cases, these tools also may block your publisher and then there won’t be a discrepancy, but in most cases, the clicks will be counted while your analytics tool will not collect the data.)
There also are situations where there is a visit that is not initiated by a click. The most common scenario is when your users return to your site via a bookmark. Originally, they clicked on your ad, liked what they saw, and bookmarked it. At this stage, you have 1 click and 1 visit.
Two days later, the same user returns to your site via their bookmark from two days ago. You still have 1 click, but now you have 2 visits for that ad: 1 click and 2 visits. So, keep in mind that returning visitors may generate more visits and page views for the same ad without generating additional clicks.
Have I forgotten anything relevant to this tip? If so, please let me know!
Tip #6: Accept the Fact That There Is No Such Thing as Normal or Standard Discrepancy
OK. We have eliminated any technical errors and are beginning to live with discrepancies. Now, I am going to state the harsh truth: Clicks and visits are not the same metrics so they really shouldn’t even be compared!
First of all, just as visits and page views differ in number, so do clicks and visits. These are two incomparable metrics. And second of all, even if there is a connection between the two metrics, I don’t think there is a standard discrepancy between them.
People often say that it is normal to see a 10% – 20% discrepancy between clicks and visits, but I strongly disagree. What is the standard pages-per-visit ratio? What is the standard bounce rate or goal conversion? These depend on your line of business, marketing efforts, the way your site is built, target market, demographic metrics, geographic metrics, and so many other factors.
What I am trying to say is that a 10% discrepancy doesn’t necessarily mean a well-implemented site, just as a 70% discrepancy doesn’t immediately indicate a technical problem. Don’t buy “up to 20% is good, more than 20% is bad,” and more important, don’t try to compare clicks and visits.
If you still are not convinced and you are looking at the clicks and visits discrepancies as an indication of a problem, I suggest you set your own standards and use your data as a benchmark, instead of using an industrial standard number that I believe simply does not exist!
Tip #7: Find a More Suitable Metric to Work with Other than Visits
By now, we already know that clicks and visits will never be equal in number. What I suggest you do, therefore, is look for a more suitable metric from your analytics tool that can be used as a comparison. Unfortunately, none of the out-of-the-box metrics in Google Analytics and other analytics tools will work well, so you might want to create your own metric.
What we need is a way to calculate the number of times visitors visited our site directly from an ad (let’s call it “landing page view”). Assuming we can identify such visits, we can send an event or a virtual page view to Google Analytics to track those visits.
Here are the two basic conditions we need to look at to consider a page view a “landing page view” from AdWords when auto tagging is enabled:
- The viewed page has to include the gclid parameter in the URL.
- To make sure the user came from an ad (and not from a link shared by a friend or from a bookmark), the easiest way is to look at the referring site (document.referrer). For example, with AdWords, if you can see the google domain and the adurl parameter in the document.referrer, you can be 99% sure the user clicked on an ad.
Looking at those two conditions and firing an event or a virtual page view to Google Analytics or your preferred analytics tool will provide you with a much closer number you can refer to. (Make sure you look at the total events and not unique events.) However, please note that this metric also will not be accurate enough since we already know we cannot control the way our publisher collects clicks, which leads me to my final tip.
Tip #8: Run Your Traffic through bit.ly or another Shorten Link Service
In order to find a more suitable metric than clicks, run your traffic through a shorten link service such as bit.ly or goo.gl that will provide you with your own clicks metric. This represents an additional step in the click -> visit funnel.
The main advantage of having your own clicks metric is that you are able to identify how accurate your publisher’s clicks metric is. Theoretically, the number reported by your publisher should be very close to the number you get from bit.ly. And if not, you have a good case to confront your publisher. At least with some publishers, you will be able to ask for a discount or even make them report more accurately once they know they cannot fool you.
Even if you cannot do much about the fact the publisher’s clicks metric is not the same as your clicks metric, at least you have a better understanding of where the problem lies, especially if most of the discrepancy is between the publisher’s clicks and the bit.ly clicks. The best thing is that now you actually have a benchmark you can look at when dealing with your publisher.
If you implement tips #7 and #8, you will have two very accurate metrics to rely on. These two metrics should be relatively close, and they will help you tackle future discrepancies you see with your campaigns.
Are there any other tricks and tips you can recommend? Please let me know!