在当今的数字营销领域,网站分析工具对于业务人员和决策者来说至关重要。它们提供了关于网站表现的报告,帮助评估在线广告活动的有效性。Google Analytics作为其中一种工具,以其免费的优势和强大的功能,成为了众多网站的首选分析工具。本文将介绍一些方法和技巧,帮助更深入地利用这一工具,尽管这些方法也可以应用于其他类似的分析工具或软件解决方案。
首先,需要明确试图解决的问题。从商业角度来看,跟踪网站访问是电子营销的核心。每个使用在线广告的网站都依赖于报告来评估营销努力是否值得。从广告服务(如Google AdWords、Overture等)获得的报告工具可以提供非常详细的广告表现报告,如果在网站上正确设置,可以获得非常全面的ROI报告。
然而,有一些场景可能会“逃过”这些报告工具的眼睛。这主要是因为它需要比“即插即用”代码更复杂的网站编码。让来看一个经典场景。
用户X访问了一个名为teddysearch.com的搜索网站,在那里投放了付费广告或横幅。用户搜索“fluffy teddy bears”,CPC广告出现了。用户点击广告,很高兴地找到了电子商务商店,专门销售fluffy teddy bears。链接标记了活动,如下所示:
<a href="http://www.fluffyteddy.com/view.asp?utm_source=teddysearch&utm_medium=CPC&utm_content=fluffy">link</a>
现在,当访问者在浏览页面时,Google Analytics代码会在客户端创建一些cookie。这就是Google Analytics能够跟踪访问者在页面浏览和重复访问中的方式。
关心的cookie叫做"_utmz",如果查看cookie中的值,将发现所有的活动细节:
utmcsr=teddysearch|utmccn=fluffy|utmcmd=CPC
正如理解的,Google Analytics将活动细节保存在cookie中,并将其存储6个月(前提是用户在此期间没有删除cookie)。
将这些数据存储六个月很重要,因为在场景中,用户此时并没有购买fluffy teddy bear。他只是记得他有更好的事情要做,而不是浏览teddy bears,所以他离开了网站,没有购买任何东西。一周后,他突然想起要得到他的teddy bear,他记得网站。这一次,他没有访问搜索网站,而是直接在浏览器中输入了网站地址。
现在,因为用户不是网页开发者,他没有清除他的cookies,所以当Google Analytics查看是否存在"_utmz" cookie时,它找到了CPC活动的所有细节,即"teddysearch.com"。现在用户高兴地继续将他最喜欢的teddy bear添加到购物车,然后进行结账。
太好了,又一个快乐的客户即将收到teddy bear,更棒的是Google Analytics刚刚将这次购买或交易与"teddysource" CPC活动关联起来。
这对于跟踪广告真实成本非常有用。如果Google Analytics没有将这次交易与原始链接关联起来,会认为在"teddysearch"上浪费了钱,没有交易产生,因为所有交易都会被归类为"直接",这是Google Analytics没有来源的任何东西的来源。
到目前为止,一切都很好。但是,当用户访问网站时,他们不遵循常规、保守的路径(谁会呢?)会发生什么?事情变得有点难以追踪。例如,假设在多个网站上投放了CPC广告,试图看看人们是从哪里来的。
现在,在这种情况下,用户访问了teddysearch.com,看到了广告,点击并访问了网站,但没有购买任何东西。像以前一样,Google Analytics记录了这次访问来自teddysearch.com,但一周后,同一个用户在不同的网站上搜索,看到了不同的广告,并点击了它。会发生什么是"_utmz" cookie中的值被新的活动细节覆盖。
所以现在,"_utmz" cookie将有:
utmcsr=compareyourbear.com|utmccn=teddy|utmcmd=CPC
现在,用户去购买另一个可爱的teddy bear,Google Analytics将这次交易分配给compareyourbear.com,这个用户最初来自teddysearch.com的事实被完全忘记了!
在广告成本方面,这次交易实际上花费了2次点击,但被报告为一次。已经向Google Analytics技术支持验证了这个确切的场景,并得到了确认原始链接被覆盖的答案。
希望在本文中介绍一种解决这个问题的方法,通过在网站上添加一些代码。这段代码的作用是创建另一个名为"MyGoogleTracker"的cookie,它保存标记URL源元素中的每个值,即使Google cookie中的值被覆盖,这个cookie中的值仍然存在,新值会被附加到它上面。
在示例中,两个值都将被保留,按照它们发生的顺序。然后这个值被放入Google Analytics提供的单个用户定义变量中,只需一行代码。
在Google Analytics报告套件中,在"用户定义"下,将看到值以以下方式出现:
teddysearch.com|compareyourbear.com
通过使用交叉段工具,可以分析数据,并意识到第二次交易实际上属于一个访问了两个网站才进行交易的访客。
以下是JavaScript代码:
function GetSourceFromUTMZCookie() {
// getting the value from the original Google Analytics cookie
var str = document.cookie;
var source = "";
var a = str.indexOf("utmcsr=");
if (a > -1) {
var val = str.substring(a);
var b = val.indexOf("|");
source = val.substring(7, b);
}
return source;
}
function GetValuesFromLocalCookie() {
// Getting the historical values from local cookie
var str = document.cookie;
var val = "";
var a = str.indexOf("MyGoogleTracker=");
if (a > -1) {
val = str.substring(a+16);
}
return val;
}
function CreateMyTrackingCookie(source) {
// create the local cookie and append old values
var existing = GetValuesFromLocalCookie();
if (existing != source) {
if (existing != "") {
source = existing + "|" + source;
}
var date = new Date();
date.setTime(date.getTime()+(365*24*60*60*1000));
var expires = "; expires=" + date.toGMTString();
document.cookie = '_MMyGoogleTracker=' + source + '; expires=' + expires + '; path=/';
}
}
// alert(document.cookie);
// alert(GetValuesFromLocalCookie());
var source = GetSourceFromUTMZCookie();
CreateMyTrackingCookie(source);
// alert(source);
// sets up the call to the 'user defined' variable in Google Analytics
__utmSetVar(GetValuesFromLocalCookie());