【问题标题】:How to handle Google Analytics tracking code for multiple domains AND where some domains have a different root folder如何处理多个域的 Google Analytics(分析)跟踪代码以及某些域具有不同根文件夹的位置
【发布时间】:2014-04-28 19:59:30
【问题描述】:

通过使用“setDomainName”属性,我能够正确处理多个域。问题是某些域有不同的根文件夹,而有些则没有。例如

http://www.example.com/intro.aspx

http://www.example.com/myexample/intro.aspx

http://www.example.com/YetAnotherExample/intro.aspx

我希望所有对 intro.aspx 的点击都被视为相同。

我知道我可以在谷歌分析的服务器端应用一些过滤器。但是,就我而言,每天都会添加新域。问题在于 1)服务器端不允许对这些过滤器进行后处理,以及 2)当我弄清楚要过滤掉的根文件夹时,它们已经在我的系统中并且数据已经混乱了。

我想我需要在跟踪代码中添加一些内容以过滤掉额外的根文件夹,但我不确定如何。我也对其他选择持开放态度。

我正在使用 ASP .NET 和 JavaScript Google 分析跟踪代码 谢谢

【问题讨论】:

    标签: javascript asp.net google-analytics analytics multiple-domains


    【解决方案1】:

    可以在 GA 界面中使用过滤器更改页面名称值。如果您访问帐户或个人资料的管理员,则在帐户部分的左侧(如果您处于帐户级别)下会列出“所有过滤器”链接,或者在“查看”部分下会列出“过滤器”链接正确的。单击其中一个(取决于您的帐户/个人资料/视图的设置方式以及您要为其应用过滤器的范围),然后单击红色的“新过滤器”按钮。

    然后,为过滤器类型选择“自定义过滤器”,然后您可以使用“搜索和替换”或“高级”单选按钮选项并使用“请求 uri”。这将在值进入您的报告之前更改该值。

    但是,这种方法有一定的局限性,因为您需要在该级别上知道所有根路径是什么,即使您可以获得一个列表,正则表达式也会很长而且很混乱,您必须保留列表已更新。

    另一种(和 IMO 更好的)方法是将责任放在页面的网站所有者身上。您可以通过将 GA 的默认页面名称值指定为 _trackPageview 推送中的第二个数组元素来覆盖它:

    _gaq.push(['_trackPageview','custom page name here']);

    例如,你这样做:

    // the root you want to exclude. Make site owners fill this out
    var rootPath = '/myexample/'; 
    
    /** now here's logic to specify page name with the root path removed **/
    // this replicates GA's default page name
    var pageName = location.pathname+location.search;
    // replace rootPath with '/'
    if (typeof rootPath != 'undefined')
      pageName=pageName.replace( (new RegExp("^"+String(rootPath),"")) , '/' )
    
    // now specify the custom page name 
    _gaq.push(['_trackPageview',pageName]);
    

    请注意:

    我不知道您对这些“域”的确切情况是什么,但默认情况下 GA 不报告带有域的页面名称,只报告路径 + 查询字符串。因此,如果您有多个域都指向同一个帐户,则具有相似路径的页面将被聚合。

    例子:

    www.site1.com/intro.aspx
    www.site2.com/intro.aspx
    

    默认情况下,这两个都将在您的报告中显示为同一页面。从您显示的那些网址中删除“根路径”只会加剧这种情况。但也许这确实是你想要发生的事情,所以也许你没问题。

    我只是提出这个问题,因为没有额外的上下文,我不清楚你为什么真的想要从不同的域中去除“根路径”。 通常人们有一个汇总了所有内容的汇总配置文件/视图,并且通常人们会进行过滤或以其他方式更改页面名称以包含域前缀或类似于页面名称,以便它们不会卷成一页。但这只是猜测,因为您并没有真正了解您的情况的全部细节,所以您可能已经或可能没有解决这个问题,或者它可能适用于您,也可能不适用于您。 ..无论如何,我所展示的内容应该适用于您的直接问题。

    【讨论】:

    • 感谢您在此答案上所做的工作。在等待答案时,我做了更多阅读,发现“set_CookiePath”是一个选项。我想知道您是否认为这是解决我的问题的好选择(聚合在不同根文件夹的同一页面上)??
    • @Mark 除非我误解了这个问题,否则我认为该选项并不真正适用于您的情况。我的理解是,您只是想从页面名称中删除部分 dir 路径。如果是这种情况,则设置 cookie 路径不适用。现在.. 设置 cookie 路径可能无论如何都是你想做的事情,出于不同的原因。
    • @Mark 例如,如果您有两个不同的 GA 实现指向两个不同的帐户 ID,并且两个实现都在同一个域上但在不同的路径中,例如www.mysite.com/site1/ vs. www.mysite.com/site2/ 那么相应地设置cookie路径将是谨慎的。
    • @Mark 但这是一个单独的问题,与从路径中删除目录的自定义页面名称无关
    猜你喜欢
    • 2013-12-06
    • 2014-02-18
    • 2014-08-09
    • 2021-01-12
    • 1970-01-01
    • 2011-08-30
    • 2013-05-15
    • 1970-01-01
    • 2014-11-19
    相关资源
    最近更新 更多