Again for no particular reason I want to share some useful tips how to make you Adobe Analytics data more reliable and accurate. I’m of course talking about how you can see your Adobe Analytics data without the fair that your own test data is included or any other data that may not be real usage of your site. Just random order and choose the best ones for your case…
1) Enable IAB Bot rules
Go Admin -> Report Suites -> Choose report suite -> Edit settings -> General -> Bot Rules and make sure you have checked “enable IAB Bot Filtering Rules”. This way your report suite is automatically excluding visits from many bots.
2) Enable IP Filtering (for partners and tools too)
Go Admin -> Exclude by IP. Here you have many options to exclude analytics hits from certain ip-addresses. If you are analyst testing analytics tags all the time, you should exclude all the devices you are using. Of course sometimes you can take the exclusion away to actually see how the data looks in the reports etc. You should consider should you exclude all the ip-addresses your company is using. There are cases where you should exclude all company hits and sometimes it is ok to include, depends on the site and what you are measuring.
Here comes the tip that analysts are rarely doing, you should go through all the partners your company have (at least the main partners or the partners that might code the site for you or make some kind of testing) and consider to exclude some partner ip-addresses.
If possible ask from company’s IT-department are they using some automatic tools to monitor site’s errors and healt, sometimes those tools can affect your data and you should consider to exclude all possible automatic tools scanning your site.
3) Save data from development environment to another report suite
To be honest, I use this tip seldom because I have other tricks to exclude data from dev environment, but I know this is very used trick to make sure you don’t get test data from dev when coders are testing site and adding analytics tags etc. Anyway, very good idea to use if you are skeptical that you can’t exclude all the IP-addresses from coders etc.
4) Block all Adobe Analytics hits from other domains
This is probably the best tip I can give, and I haven’t read about this in anywhere else, but hopefully many are using this. I code this directly to Adobe’s script, but you can surely code it directly to source code or use DTM. You can ask help from your coders if possible. However, javascript coding for this is very simple. You would only send the hits if the domain matches:
document.location.hostname.match(/\.(yourdomainhere)\.yourdomainend$/) !== null
This way you also block hits from development environment, because usually domain is different. However, sometimes it is important to test analytics hits and you can make a detour to populate hits from dev environment by using certain parameter in the url. If parameter matches, then it is ok to send the hit:
document.location.href.match(/(\?|&|#)(aa_enable)(&|#|$)/) !== null)
Let’s say your domain is “adoberockstar.com” and your dev url is “devadoberockstar.com”. By default no Adobe hits is sent when domain is “devadoberockstar.com”, but if you want to see the hit in your debugger then you just add parameter to url and hit is sent, e.g. “devadoberockstar.com?#aa_enable”
So the whole script for pageview (you have to do another function to custom link hits) would be something like this, you can surely use your own function names etc.
function enableTrackPage() {
if (s && (document.location.hostname.match(/\.(adoberockstar)\.com$/) !== null || document.location.href.match(/(\?|&|#)(aa_enable)(&|#|$)/) !== null)) {
var s_code = s.t();
if (s_code) document.write(s_code);
}
}
I had to modify my original script heavily to give you this example and I didn’t have time to test this, so please test this kind of modification with your own codes before going live. But I’m sure you got the point?
And now you don’t call the default s.t(); function when you want to make the hit, instead you call the function “enableTrackPage” or whatever name you have used. Now the hit is only sent if the domain matches to your main domain or if the url contais “?#aa_enable” parameter.
Ps. why isn’t this a feature in the settings, would be cool, right? Should I write to idea exchange?
5) Block all Adobe Analytics hits including certain email addresses
Related to the previous one. If you are tracking event that includes user’s email address (e.g. form submission), you can then store email address to (temporary) javascript variable and make javascript hack that if the domain part of the email address includes your organization or partner’s name or is clearly test address then don’t make the Adobe Analytics hit at all. This way you can block internal hits and test hits already at this point. I know, pretty cool and no need to stress when your ip filtering stops to work when ip-addresses changes. Nice plan B. Of course this only blocks the event hits and not all pageviews, although, you could save the domain part of the address and use segmentation to exclude all hits.
6) It’s all about the segmentation – the final and best method to allow only data that matters
No matter what you do to protect your data there comes situations where test data gets through or something else happens which makes your data sucks. You can use segmentation to exclude all the visits that include the tests etc and this way you can clean your data. Yes, you just have to remember to use the segment all the time and include it to your dashboards etc. I wish we could enable segment in the report suite setting in a way it would be always enabled when that report suite is opened to see data. If I remember correctly, there is a wish for this one in Adobe’s idea exchange.
You should also follow closely data from other countries (especially if your company is mainly known in one or few countries) and referring domains (referrer spam) is another possible report where you can easily spot if there is traffic from bots etc. Segmentation might be again the easiest way to make your data more accurate, but try to block rubbish sources also.
Bonus tip: analyze and double-check your KPI data
This goes bit offtopic, but want to share anyway. If you are using events (ziih, what else?) to measure your goals and KPI metrics then there is always possibility that there is a browser/connection bug or something that populates event hit many times even when user did the action only once. You should always make OPV (once per visit) event also from your most important events or othwerwise you should segment the normal event (event exists) and look visits metric to make sure your KPI data is valid. You could also use new calculated metric builder and by using segment in calculated event you can exclude all wrong data, nice!
I’m sure there could be other tricks too to make your data more accurate or how you can analyze possible errors and mistakes in your data, please share if you have good tips or comments to my tips. (I’m not heavy user of DTM, so not sure what kind of cool tricks you can do with DTM to block unwanted data)
Does turning on “Filter by IP” affect data collection, or just report?
I.E. If I turn on filtering, will it stop collecting data for that IP; or will those IP simply be hidden in reports until you “reactivate” the IP Address?
I believe it doesn’t affect data collection, but you won’t see the data in reports / normal interface (except bots report). However, hits are included in (raw) data feeds and are affecting Adobe Analytics license (hit counts). You should verify this by Adobe, but I believe this is the case.
When you enable IP back again then data will flow again to reports, however, not historical data!