Home » Featured, 监测工具, 网站分析经验分享

五个实用的Google Analytics过滤设置

23 五月 2010 35 Comments

image  很少直接讲工具,但是其实工具的“科普贴”总是很受欢迎,而且正好也是一个朋友们不断提问的话题,所以觉得还是很有必要发一篇文章。这个文章是直接介绍几个实用的GA过滤设置,除了这个文章之外,如有更多时间,近期还想出另一篇文章会跟大家聊一聊GA的高级过滤功能(Custom Filter中的Advanced Filter),这个相对更加复杂一些。所以,这篇文章是初级篇,下一篇文章是高级篇。

Google Analytics的过滤功能简介

  Google Analytics的过滤设置其实包含两大逻辑功能,第一种功能是我们通常意义上的过滤,即根据一定条件过滤掉一部分访问者(本质上是过滤掉一部分流量),例如过滤掉所有来自北京的访问者的流量,或是只保留网站某个子域(subdomain)的流量。  第二种功能则不是简简单单的过滤,而是类似于我们使用MS Office Word的“查找并替换”功能(实际上比这个功能更强大,因为实际上包括查找、替换和重组三种功能),即按照一定的条件把GA中的一部分属性的表述替换或再组合为另外一种表述。例如,把campaign报告中campaign的英文名字替换为汉语名字。

  这样看来,我们可以发现Google Analytics的主要功能是:

1. 去除掉我们不想要的一部分流量;

2. 修改一种表述方法为另外一种,或者实现标准报告中无法实现的表述。

  不过,其实还有第3、4种功能

3. 因为GA是可以不断复制的profile的,GA的filter和profile的配合可以实现分析需要的细分功能。不过这个功能在GA的Advanced Segments出现之后就弱化了。

4. 我们还可以利用多个filter进行组合而实现类似“解释编程”的高级功能。这种filter的组合再加上正则表达式的共同作用,能够实现一些更复杂的过滤或者更精确的属性表述。例如,我们知道SE(搜索引擎)都是提供Universal Search(就是除了文本搜索,还提供图片、视频等)的,但我们在GA中看到的流量可能都是来自Google /  organic,我们如何区分流量是来自文本搜索还是图片或是视频搜索呢?这个实际上通过filter的组合能够实现(不过这个很高深了,放在以后说)。

  今天要谈的这五个Google Analytics的过滤设置非常非常基础,不熟练正则表达式也完全没问题,只要照葫芦画瓢就行了。由于几乎是我们每个使用GA的分析师都要用到的,建议把它们牢记在心。:)

安全通告:在开始下面的尝试前,请注意!

  请一定复制一个新的profile进行尝试!

  原因在于,filter和advanced segmentation不同,前者是在形成报告之前的过滤,因此过滤掉的数据肯定是不可能在该profile中出现了,而advanced segmentation是在形成报告之后再进行的操作,数据不会因为你的不恰当设置而丢失。所以,切记切记!否则Sidney就是害了大家。

  如何复制profile,见下图所示:

image

图1

  直接在同一个GA ID(例如我的GA ID是UA-4130899-1)后面点击“+ Add new profile”,然后在下图(图2)中输入你想要的profile的名字,然后点击continue之后保存就行了。

image

图2

  是不是很简单?搞定了之后,你就在刚才复制的profile下“胡作非为”吧!你以前的数据不会有任何问题了!现在,让我们开始吧!

设置一:过滤掉自己对网站的访问

  你的网站最忠实的访问者是你自己,毫无疑问。但是你自己的访问数据也会混在其他用户的访问数据中,从而一定程度(程度大小取决于你网站的流量,如果你的网站流量跟新浪相差无几,那么这个小节可以直接无视)上污染了网站真实用户的访问数据。

  防止这种情况的最简单的办法是通过屏蔽某些IP地址来过滤掉自己的访问,这种设置在GA中非常容易。方法如下:

1. 点击你刚刚复制好的那个profile旁边的edit按钮。

image

图3

2. 进入profile settings页面后点击“+ add filter”。

image

图4

3. 在Create New Filter中用如下设置,然后输入想取的filter的名字和自己的IP地址就好了。最后别忘了保存。

image

图5

  请注意,这里我们使用的是Predefined filter,也就是GA已经预制好的几类filter,主要就是解决这种类似的小问题。在这种filter中,不支持使用正则表达式。因此,GA自己的介绍:https://www.google.com/support/googleanalytics/bin/answer.py?answer=55496,其实是不正确的,因为其中应用了正则表达式。

  你问我,如果是动态IP怎么办?那么你可以用自定义filter(Custom filter)选取一个IP地址范围进行过滤,这个时候要用到Custom Filter(自定义过滤)。例如,我想要过滤掉从121.33.33.33到121.33.38.254的IP段范围,那么我的设置如下:

image

图6

  这里,我们在Filter Pattern中用到了正则表达式:^121\.33\.(33\.(3[3-9]|[4-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))|((3[4-7])\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5])))|38\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-4])))$。哈哈,可怕吧!别担心,其实你访问这个地址,就能自动生成你IP段的正则表达式了:https://www.google.com/support/googleanalytics/bin/answer.py?answer=55572&hl=en_US&utm_id=ad。Google自己的这个工具很好用。

  不过,这种方法可能会误伤其他合理的访问数据,所以如果要精确地去除掉你每天毫无规律变动的IP地址,那么仅靠过滤功能本身就有点儿力不从心了。我们需要利用控制cookie和filter的结合来实现,可以在这里找到一些线索:http://www.webmasterworld.com/forum39/4048.htm,这里不多说了。

设置二:改变Content报告中Top Content报告URI的大小写

  看看下面这个报告的情况是不是大家经常遇到?

image

图7

  其实四个URL只代表着两个页面,但是由于GA是大小写敏感(lowercase sensitive)的,因此它会认为这是不同的URL,代表着不同的页面。

  这可不太妙,对于page view这样的度量,我们还可以直接加总,而要把该页面的bounce rate或者avg. time on page合并起来,就有点儿麻烦了(当然其实也还是有办法,这里按下不表,大家自己研究一下就能弄通)。所以,我们要想办法让GA识别这种情况。

  利用Filter就能轻松解决,非常简单。Filter的设置方法如下所示:

image

图8

  请注意几点:

1. 这里利用了自定义filter(Custom filter)。

2. 选择Lowercase是全部变成小写,也就是所有的content报告中的页面URI都会变成小写,而同一个页面URI以前是大写的,就自动和小写URI的合并在一起了,这样就不会被GA记成两个不同页面了。如果你想全部变成大写,用Uppercase。

3. Filter Field是我们要施加过滤功能的某一个GA属性(dimension),Request URI指被用户访问(即用户请求)的页面的URI。URI是什么?简单理解URI是URL去掉域名后剩下的(相对路径)。除了Request URI,Filter Field还可以选取很多其他的属性,点击这里看全部属性的解释

设置三:把Content报告中页面的URI变成页面实际的Title

  GA和Omniture不同,GA中显示的网站页面名字是固定好的,就是这个页面的Request URI。而Omniture则完全可以自己定义页面的名称和目录结构。那么,如果GA不能自己定义页面名称,那么至少能够想想办法让页面名称自己显示出来吧!

  没错!用Filter就可以实现,具体的设置如下图9。

image

图9

  大家可以看到,我们现在使用了自定义过滤中的高级过滤(Advanced),现在我稍微解释一下我们这么设置的意义,因为相信有些符号大家会有点儿奇怪。

1. Field A –> Extract A和Field B –> Extract B是两个数据段,这两个并不是运算的关系,而是并列的关系。由于有两个数据段,因此我们可以合并两种不同的GA属性。这两个数据段相当于“input”,即输入数据部分。

2. Output To –> Constructor是输出部分,我们可以把A、B数据段中的数据按照一定方式修改,然后合并,在这个地方进行输出。

3. A、B数据段都是支持正则表达式输入的,上图中的(.*)就是正则表达式,表示所有的字符。具体正则表达式的解释请见这里(需要翻墙)。正则表达式最好了解一个原理,不过精通?恩,感觉不容易,反正我害怕这东西。

4. Output To这个数据段不支持正则表达式,因此你看到的“$A1”其实不是正则表达式。

5. $A1的意思是,Field A –> Extract A中的第一个变量。上图只有一个变量,那就只能是$A1。如果有两个,你要在Output To中显示第二个,那就是$A2,以此类推。同理,如果你看到$B4,你就知道是Field B中的第四个变量——说实话我还没见过这么变态的用到4个变量的filter。

6. 整个设置的意思是说,在A字段中,我们选择Page Title属性,并且把页面Page Title的所有字符(用(.*)实现),全部取出来。然后再把取出的这些字符(因为是A字段的第一个也是唯一一个变量)在Request URI中输出出来。就这么简单。

  看看有什么效果?见对比图:

image

图10:【之前】

image

图11:【之后】

  你会说,我们不是有Content by Title报告吗?是的,不过这个报告数据不知为何不准确,而用上面的方法,数据就是Top Content报告的数据,不会在数据上再困扰我们了。

设置四:在Content报告中显示页面完整的URL而不是URI

  有时候,我们希望在我们的content报告中显示的不是页面的URI(如上图10所示),而是页面完整的URL,我们同样可以用Filter实现。

  不过请注意,由于都是修改页面的URI表示,因此设置三和设置四放在一个profile中只有一个(后设置的那个)会起效果。大家在做实验的时候注意把这两个设置分别放在不同的profile中。

  设置如下图12所示:

image

图12

  有了设置三的铺垫,再看这个设置就很简单了。Field A是取出网站的host name的每一个字符,我的网站host name是www.chinawebanalytics.cn/。Field B是取出页面Request URI的每一个字符。Output To则是把A和B按照“host name”/ “Request URI”的方式进行输出。请注意,为了表明content报告的改变是我们的filter设置的结果,我有意在这里多写了一个“/”,实际上你在输出框内应该写“$A1$B1”。效果见下图13。

image

图13 ,现在大家可以看到我们多了一个“/”是我当时设定在输出框中的

设置五:只监测网站的某个子域或者某个具体目录的流量

  有时候,我们想把网站的某一个部分单独拿出来进行分析,例如想要分析music.chinawebanalytics.cn(当然,这只是一个假设的域名)单独的表现,我们利用Advanced Segmentation或者其他方法都比较麻烦,这个时候我们可以复制一个profile,然后在这个profile中用过滤功能把我们想要的部分单独拆分出来。

  同样非常简单的设置,如图14所示。

image

图14

  同样的方法,在Include only的选项中选择traffic to the subdirectories,可以实现只保留某一个网站目录的流量。

Bonus:过滤掉不属于网站的被误记的流量

  最后,给大家一个Bonus。

  不知道你的网站出没出现这样的情况,你的Google Analytics的ID,被别人拿去放到他的网站中间去了!这真是让人苦笑不得的问题。但实际上,我还真就遇到了。大家访问这个网址:http://cfma.jimdo.com/,看看是不是页面上有跟我博客http://www.chinawebanalytics.cn/一样的GA ID!

  因为这个网站经常好几天没有任何流量,因此一段时间后我才发现这个问题。

  这个问题完全可以通过GA Filter来解决,我们排除掉访问这个域的流量即可,设置如图15。

image

图15

  请注意,由于用的是预置过滤,因此不支持正则表达式。

 

  好了,如果大家对Filter的一些功能有了感觉,这么长文章的辛苦也就不白费了。现在是大家的时间了,请大家留言,或者提出自己的问题,非常欢迎!

35 Comments »

  • Vodka said:

    今天听宫鑫老师讲课,提到通过设置过滤可以在GA的付费关键字报告中得到用户的原搜索词(大意如此,还没有下载录音核实)。举例:用户搜索“电子商务网站分析”,触发了我在GAW中关键字“网站分析”的广告,但是在GA的付费关键字报告中只有“网站分析”这个关键字的显示。请问如何设置过滤可以得到用户搜索的“电子商务网站分析”这个词?谢谢。

  • 外贸推广 said:

    请问如果想过滤某一个国家的ip,除了用正则排除ip段以外,有没有更简单的方法?谢谢

  • 某人 said:

    很实用的文章,好好学习一下!

  • 老菜鸟 said:

    请问如果想过滤某一个国家的ip,除了用正则排除ip段以外,有没有更简单的方法?谢谢
    ______________________
    Custom filter -Exclude
    Filter Field-Vistor Country

    Filter Pattern-china
    按上面的设置就是排除中国的访问

  • 阿石 said:

    @Vodka  一般搜索里面都有 search这个单词做查询URI,要获得用户在站内搜索中的关键词在GA  top content和content by title 报告里面都有,分别输入在两个报告里面左下角的Filter Page Title“search”和“搜索”即可获得用户录入的关键词

  • 老菜鸟 said:

    但我们在GA中看到的流量可能都是来自Google /  organic,我们如何区分流量是来自文本搜索还是图片或是视频搜索呢?这个实际上通过filter的组合能够实现(不过这个很高深了,放在以后说)
    _______________________________
    这个似乎没必要费心思用filter来实现,使用_addOrganic()更简单一些,比如:pageTracker._addOrganic("images.google", "q");

  • Vodka said:

    @阿石 感谢回复!不过我的问题不是查询站内搜索词,而是在GA的付费关键字报告中同时显示竞价词条和搜索词条,如:用户在google中搜索“china web analytics",触发了我的”web analytics"广告,用户点击进入网站后,在GA报告中只会显示竞价词条“web analytics",而我还想在报告中看到搜索词条”china web analytics"。
    不过这已经不是问题了,我在“advanced web metrics with google analytics”这本书中已经找到答案了。希望这个过滤的设置能够出现在Sidney的下一篇文章中,我觉得是个很实用的设置。

  • Vodka said:

    关于正则表达式的电子书免费下载,可以不用翻墙了。
     
    Regular Expressions for Google Analytics eBook
    http://www.lunametrics.com/blog/resources/

  • Stephen said:

    Vodka said:
    @阿石 感谢回复!不过我的问题不是查询站内搜索词,而是在GA的付费关键字报告中同时显示竞价词条和搜索词条,如:用户在google中搜索“china web analytics",触发了我的”web analytics"广告,用户点击进入网站后,在GA报告中只会显示竞价词条“web analytics",而我还想在报告中看到搜索词条”china web analytics"。
    不过这已经不是问题了,我在“advanced web metrics with google analytics”这本书中已经找到答案了。希望这个过滤的设置能够出现在Sidney的下一篇文章中,我觉得是个很实用的设置。
     
    应该是用的高级的filter功能 这里篇幅有限 原理是先提前referral 网站里面的kw= 后面的字符串  (就是用户搜索结果页面的url里面的kw= 后面的一串uf8 编码或者bgk ) 再赋值给新的url 在里面写utm_term=(这里写提取到的前面的值)  这样 用户搜索的词就可以在 paid的 keywords list里面看了
    宫鑫的课讲的很不错的 这都讲了

  • 济南网站优化 said:

    博主写的不错,学习中!o(∩_∩)o

  • 谭彦博 said:

    星哥,这内部访问IP排除,你说的那个IP段屏蔽对我们医院来说是实现不了的,我们主要就是针对深圳地区的用户,除非我们把办公室搬到深圳以外的地方,嘿嘿。
    另外我想问下,我昨天MSN上跟你说的那个GA代码自定义(因为我们使用的商务通是挂靠在别人服务器上,客服页面无法写入代码),后来跟处男和另外一个朋友看了下,我们的代码弄不了自定义,郁闷了,我今天早上上班就在想两个问题,你帮我参考下哈:
    1、GA不能实现自定义,那个过滤器那里有个过滤(包含仅来自相应域的流量),这个可否统计到这个第三方客服软件的点击情况呢?还有在这个客服软件的停留时长(因为有的人是误点,如果咨询的话会有个时间段的)?
    2、像我们这种统计咨询的网站,有时候用户直接从我们网站点击到客服上面(因为客服是第三方),那么是否这种情况视为退出或跳出,是不是可以看为页面跳出或退出率高的页面,就是咨询率较高的页面呢?

    期待星哥回答,嘿嘿。

  • Sidney Song (author) said:

    已经邮件回复,请查看。

  • Sidney Song (author) said:

    好的!会放到下一篇文章中。这个实用!

  • onlyseg said:

    第五招试了下好像不行,我是用的自定义过滤器,包括主机名subdomain\.domain\.com才统计到数据。。。

  • thinkfish said:

    同意楼上的 onlyseg
    经过验证,第5招确实是不行的。我也是按照高级过滤器中的subdomain\.domain\.com的方式来实现二级域名profile的独立统计。

    另,第四招我试验后,新profile的数据只有原来的一半,不解中,请不吝赐教,谢谢。

  • Sidney Song (author) said:

    谢谢你的回复。关于第五招,我再仔细检查下,可能有问题。
    第四招,profile数据只有一半很奇怪,我这边没有出现,是不是有别的过滤影响?能提供一些其他的信息吗?谢谢!

  • hongming said:

    谢谢,刚才遇到一个问题,客户对位于子目录的部分进行了推广活动,他想了解除了推广,网站其他部分的进展。 看google的帮助文件和这篇文章,对Filter、Advanced Segmentation作了了解,最后用后面的功能给他们出了一份报表。很赞的功能。

  • 猫爹 said:

    星哥好:
    我们站下有十多个二级频道,每个频道都分别安装了GA的跟踪代码,
    有一部分用户访问我们多个频道被重复计算,这样我们想知道整站的UV数据而又不丢失这部分用户的PV数据
    不知使用GA过滤设置可不可以实现?

  • Sidney Song (author) said:

    哈哈,星哥这名字有趣!掐指一算,也真是老了……

    当然,可以,最简单的方法是建立多个复制的Profile,然后一个个做包含型的过滤。在Google中搜索“Google Conversion University”,里面有一个视频专门讲这个内容。

  • 警惕网站分析监测实施的陷阱 | 番茄运营 said:

    [...]   我们首先从GA上建立好一个profile,并且获取一套跨子域监测的代码。然后,把这段代码实施到网站所有的页面上。这之后,真正的tricks开始了。我们在GA报告的settings后台中复制刚刚建立的profile,有多少个子站就复制多少个,然后,做过滤,只留下各个子站自己的流量,过滤的方法请见这里。 [...]

  • » 警惕网站分析监测实施的陷阱 » UED TEAM said:

    [...] 我们首先从GA上建立好一个profile,并且获取一套跨子域监测的代码。然后,把这段代码实施到网站所有的页面上。这之后,真正的 tricks开始了。我们在GA报告的settings后台中复制刚刚建立的profile,有多少个子站就复制多少个,然后,做过滤,只留下各个子站自 己的流量,过滤的方法请见这里。 [...]

  • fly321283 said:

    TOP Content内容中,有以下URI
    /pro/view/32331504
    /pro/view/32331503
    /pro/view/32331502
    ……

    /sale/p5V5
    /sale/a5J5
    /sale/d9D5
    ……

    我想将这两组页面合并在两个页面显示(比如 /pro/view 和 /sale),我想过以下几种方法:

    1. 在_trackPageview(opt_pageURL) 中增加参数(opt_pageURL = /pro/view;  opt_pageURL  /sale)对页面进行标识,
    用此方法后发现,/pro/view和/sale的PV数偏小.

    2. 在Pofile中使用Filter,选择custom filter 中的 Search and Replace,用正则表达式将^/pro/view/.* 替换为/pro/view , 将^/sale/.*替换为/sale
    用此方法后发现,TOP Content中/pro/view 和 /sale 这两个页面的 Unique PV有很大偏差.

  • SEO said:

    Google Analytics,原来还有这么多功能!

  • Sidney Song (author) said:

    请问Unique PV发生了什么变化?

  • 孔浩奇 said:

    好文章,研究一下!

  • Mr.7eft said:

    又学到了,星哥的博客真是个好地方啊,相见恨晚呐

  • Jason said:

    一个网站只有一个www域名,生成跟踪代码时选择的是“单个域名(默认)”,该站统计的流量和Adsense均正常。
    另一个网站拥有多个子域名,所以在生成跟踪代码时选择了“一个域名包含多个子域名”。相对于单个域名的跟踪代码,这个站的代码多了一行“_gaq.push(['_setDomainName', '.example.com']);”。这个代码统计的流量报告是正常的,但是始终统计不到Adsense的数据(当然,前提是我根据Adsense后台的渠道统计报告,确定该站肯定是有Adsense数据的)。请问这种情况是由于什么原因造成的?该如何解决?
    谢谢!

  • [PM]警惕网站分析监测实施的陷阱 « Tanlee's Blog said:

    [...] 我们首先从GA上建立好一个profile,并且获取一套跨子域监测的代码。然后,把这段代码实施到网站所有的页面上。这之后,真正的 tricks开始了。我们在GA报告的settings后台中复制刚刚建立的profile,有多少个子站就复制多少个,然后,做过滤,只留下各个子站自 己的流量,过滤的方法请见这里。 [...]

  • 什么牌子的BB霜好用 said:

    搜索个WA有关的东西,总能找到宋星的文章。。温故而知新呐。

  • anson said:

    鑫老师的GA分析博文很是受用,是学习的好教材,这段时间一直在看着学习;
    刚好讲到了过滤器这篇东西,有个问题想请假一下您。
    如果我建立的这个new profile目的是收集网站推介流量。那么我应该如何设置?
    在自定义过滤器中应该选择 “包含”-“引荐链接” ,那么“过滤模式”里面写什么? 是refferal么?
    请鑫老师解答一下,谢谢! 

  • bluehost said:

    请教下 如何用google analytics实现weblog expert的某IP或者某网页的过滤功能?
    比如只查看某IP的访问记录   访问过某张网页的客户记录?

  • Sidney Song (author) said:

    回复bluehost:GA的过滤设置可以实现,自己把玩一下就能明白,很容易。:)

  • 何苦 said:

    过滤自己的访问其实还有别的办法.   
    修改本地的hosts文件,屏蔽掉对www.google-analytics.com这个服务器的访问.
    近期整理一篇博文. 讲讲hosts文件的妙用.

  • Sidney Song (author) said:

    回复何苦:很好的主意!的确是可以用的方法。期待你的文章。

  • 幽游 said:

    很想知道怎么区分gg图片搜索和购物搜索的流量,能写篇文章吗?

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.

备案/许可证编号为: 京ICP备09063066号

Coupons and Deals, CheaperSeeker Coupons and Deals, Sharkcoupons