Spe­cial thanks to Chris Evans and the entire Search Dis­cov­ery team for help­ing research this post.


We get this ques­tion all the time – why is my Adobe Ana­lyt­ics data dif­fer­ent from the data I’m col­lect­ing in Google Ana­lyt­ics? There are a lot of obvi­ous answers out there –actions may not be tagged in both plat­forms, Adobe auto­mat­i­cal­ly col­lects down­load and exit links, a Tag Man­age­ment Sys­tem may be used for one and not the oth­er, etc – but we want­ed to walk through some of the more tech­ni­cal rea­sons why even stan­dard met­rics as sim­ple as vis­its, pageviews, and bounce rate will be dif­fer­ent. And yes, these dif­fer­ences will occur even if both tools are deployed from the same Tag Man­age­ment Sys­tem!

Different algorithms for post-processing

Adobe and Google use very com­plex algo­rithms to cal­cu­late ses­sions, time spent, and many oth­er sim­ple and stan­dard met­rics with­in their plat­forms. They also use dif­fer­ent method­olo­gies when it comes to attribut­ing these met­rics to dimen­sions with­in the plat­form. Adobe even allows for addi­tion­al cus­tomiza­tion depend­ing on the vari­able type that allows for Most Recent, Orig­i­nal, Lin­ear, and Par­tic­i­pa­to­ry allo­ca­tion.

Different visitor session length

The “end” of a ses­sion is always a very dif­fi­cult event to cap­ture in a web ana­lyt­ics plat­form. Since we can­not track brows­er win­dow or tab clos­ing actions nor web­site exits via URL address changes it is dif­fi­cult to know the exact end of the ses­sion. Both plat­forms gen­er­al­ly con­sid­er the end of a ses­sion to be the time­stamp of the last tag called. Google has the abil­i­ty to lim­it the effect it has on ses­sion­iza­tion when an event is called using the option­al “non-inter­ac­tion” fea­ture of the track­Event method.

Different tracking libraries

Each plat­form uses com­plete­ly dif­fer­ent code libraries for track­ing. This means that although they both aim to have per­fect­ly infal­li­ble code, nei­ther does. So oth­er code on the page or inject­ed via oth­er tags on the site may affect the ana­lyt­ics code dif­fer­ent­ly depend­ing on the web ana­lyt­ics plat­form.

GA typically fires at the page top and Adobe at the page bottom

When it comes to web­site track­ing, tim­ing is every­thing. Google Ana­lyt­ics is gen­er­al­ly called asyn­chro­nous­ly at the top of the page (ie – in the <head> of the page). Adobe Ana­lyt­ics, how­ev­er, is instead called syn­chro­nous­ly at the bot­tom of the page. This often means that page views will get called at dif­fer­ent times depend­ing on how that page is cod­ed. If there is script on the page that is of high pri­or­i­ty and syn­chro­nous, then the Google Ana­lyt­ics code will wait for it and some­times even wait until after the Adobe Ana­lyt­ics tag is called. How­ev­er, since the GA tag usu­al­ly lives at the top of the page it is often called before the Adobe tag. Final­ly, a pageview is some­times so short that only one or nei­ther tag will be called before the user clicks to the next page. This will unfor­tu­nate­ly result in data loss since the pageview will not be cap­tured by all plat­forms.

Different custom tracking methods

Although we often com­pare trackEvent() and s.tl() when teach­ing Adobe Ana­lyt­ics to GA users (or vice ver­sa) they are not the same. They are clear­ly dif­fer­ent in terms of the dimen­sions that can be tied to the met­rics cap­tured and the imple­men­ta­tion of them is obvi­ous­ly dif­fer­ent too. Adobe also has the option for a 500ms delay to ensure the image request isn’t abort­ed by browsers. Google unfor­tu­nate­ly doesn’t have this, so dif­fer­ences in onClick track­ing will result.

Different custom filtering methods

Adobe and Google both have the abil­i­ty to adjust the data flow­ing into their plat­forms pre-pro­cess­ing. Google pro­files have the con­cept of “Fil­ters” where­as Adobe has “Pro­cess­ing Rules”. Both of these tool fea­tures are pow­er­ful and use­ful, but beware that they both have caveats. For exam­ple, Adobe Pro­cess­ing Rules can­not be used to move data from one report suite to anoth­er, where­as Google Fil­ters can fil­ter data to a spe­cif­ic View. In addi­tion, Google Fil­ters can also be applied to com­plete­ly remove data from a spe­cif­ic View. There are more dif­fer­ences between capa­bil­i­ties, but it’s impor­tant to remem­ber that these dif­fer­ences will affect change in data when com­par­ing plat­forms.

Different bot lists

Adobe and Google both have bot fil­ter­ing plat­forms. Unfor­tu­nate­ly, this is a nec­es­sary require­ment in ana­lyt­ics plat­forms these days as bots are get­ting smarter – run­ning javascript, chang­ing user-agents, and even refresh­ing IP address­es. Web ana­lyt­ics plat­forms are doing what they can to keep up, but there is no sure­fire way to remove that data. Adobe uses the IAB (Inter­ac­tive Adver­tis­ing Bureau) list of spi­ders and bots by default. These bots still send data to your report suite, but the data is fil­tered into the “Bots and Bot Pages” reports found in the Site Met­rics fold­er. Google Ana­lyt­ics also sub­scribes to the IAB list and is enabled via the Report­ing View Set­tings sec­tion of the admin con­sole. In addi­tion – both plat­forms allow for cus­tom IP-based fil­ter­ing. Adobe also allows bot fil­ter­ing at the user agent lev­el. Unfor­tu­nate­ly, it’s a cat and mouse game for both plat­forms. As an ana­lyst for a com­pa­ny that uses both plat­forms, be sure to keep your rules in sync.

Time Zone / Definition of End of Day

Time zone is one of those real­ly sub­tle set­tings that you enable ear­ly on in the data cap­ture process and for­get about. Unfor­tu­nate­ly, once you’re com­par­ing data between plat­forms it can have a huge effect on data dis­par­i­ty. If Google Ana­lyt­ics is set to the Pacif­ic Time Zone and Adobe is set to East­ern, then look­ing at data on the same day between plat­forms is guar­an­teed to be dif­fer­ent. Time Zone is set in the View Set­tings for Google Ana­lyt­ics and the Gen­er­al Account Set­tings for report suites in Adobe.

In Summary

So as you can see – there is going to be some vari­ance between your ana­lyt­ics plat­forms, but this is okay! Most of our cus­tomers that have both tools imple­ment­ed are using Google Ana­lyt­ics as a back­up sys­tem or sim­ply because it inte­grates well for their media agency’s data. Search Dis­cov­ery rec­om­mends defin­ing one and only one sys­tem of record, one source of truth. This sin­gle sys­tem of record will always pro­vide the best answer when answer­ing ques­tions; your back­up data is just that – back­up data. If you spend too much time com­par­ing plat­forms, you’ll be miss­ing out on the oppor­tu­ni­ty to take action on your data – and isn’t that the goal in the first place?