情况:
我在www.my-company.com上使用SiteCatalyst作为网站。该网站还“包含”许多页面,这些页面位于完全独立的域www.about-my-company.com上。这些页面的外观与www.my-company.com上的页面完全相同,因此就用户而言,它是同一个网站。在SiteCatalyst中,我们希望报告在单独的域上发生的页面查看和转换,就像它们在主网站上一样(因此是一个访问/会话的一部分)。
在Google Analytics中的工作原理
我有谷歌分析背景,它被称为“跨域跟踪”。 Google Analytics中的“跨域跟踪”基本上可以解释为:
1)每当用户跟踪从域A到域B的链接时,所有cookie信息(包括会话cookie)都将使用查询字符串传递给域B.
2)域B上页面上的一段javascript解释此URL,并将信息写入cookie(包括会话cookie)。因此,只要用户从域A到域B,就会保持会话。
我的问题:
这也适用于SiteCatalyst,如果是这样,怎么办?我一直在寻找关于这个问题的文档,我觉得我找不到它,因为它非常容易或几乎不可能。
到目前为止我发现了什么:
唯一听起来像我想要实现的东西是:
...您更有可能将www .abc -rocks .com视为与www .abc .com没有区别。为此,SiteCatalyst在管理控制台中提供了内部URL过滤器区域。
http://blogs.adobe.com/digitalmarketing/analytics/admin-console-tips-inside-omniture-sitecatalyst/
但是,我没有看到SiteCatalytist界面中的某些设置如何帮助访问者维持其会话。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:2)
快速简便的方法是为两个网站使用友好的第三方Cookie。例如,如果您使用metrics.other-company.com的跟踪服务器www.about-my-company.com和www.my-company.com,那么跨不同域的任何导航将维持相同的会话那位访客。 s.trackingServer值是访问者ID cookie的设置位置。
现在,如果您为每个网站使用第一方Cookie,那么您将遇到问题。例如,如果www.about-my-company.com使用metrics.about-my-company.com的跟踪服务器,而www.my-company.com使用metrics.my-company.com的跟踪服务器,那么你是当访问者跨域时要注册新会话。 Adobe目前没有针对此发布的解决方案。我已经看到一些可行的黑客解决方案,但没有一个我觉得推荐太舒服了。
无论何时在您的网站上点击链接,s_code.js文件中都会有一项功能,用于检查s.linkInternalFilters变量中列出的任何项目是否出现在该点击的链接网址中。如果在单击的URL中找到s.linkInternalFilters变量中的值,则认为它是内部导航,并且不会发生任何其他操作。如果在单击的链接的URL中找不到s.linkInternalFilters变量中列出的项目,则代码假定访问者正在离开该站点并且将触发退出链接调用。 这是唯一使用s.linkInternalFilters变量的内容。
对于进入SiteCatalyst的每个信标,它们通常包含当前URL值和引用URL值。您将根据信标中的引用URL值检查您在管理控制台中输入内部URL过滤器的值。如果没有匹配,则SiteCatalyst会将其视为外部引荐来源,其值将在Referrers和Refer Domains报告中使用。 这是内部网址过滤器唯一使用的内容。
答案 1 :(得分:1)
你已经得到了部分答案。
你只需要:
1)更新s_code.js以集成正确的内部域名: s.linkInternalFilters ="电话:,JavaScript的:,www.my-company.com,www.about-my-company.com" ;
2)转到您的sitecatalyst管理控制台,在"内部网址过滤器"
部分添加新域名3)使用与www.my-company.com相同的s_code和相关页面跟踪标记www.about-my-company.com上托管的页面
答案 2 :(得分:1)
默认情况下,SiteCatalyst使用自己的第三方Cookie,这样可以跟踪跨域的访问者。 “友好”的方法是使用您自己的第三方cookie。请注意,Adobe将此称为“第一方Cookie跟踪”,但实际上它仍然是第三方Cookie跟踪;区别在于cookie存储在您自己的域而不是Adobe的域中。 Adobe允许为每个域设置第一方cookie,但正如vabeachkevin所提到的,这实际上是使用多个cookie而且它不会从站点到站点传输访问者数据。
即使您使用Adobe或您自己的第三方Cookie,也只会使用visitorID。它不会遗留您使用的某些Adobe插件或其他自定义代码所使用的其他Cookie。 Adobe没有这方面的官方解决方案,但公平地说,GA也不是。
基本上有三种方法可以处理从一个站点向另一个站点传递任意数据的方法:
1)将数据作为所有链接或重定向的查询字符串参数传递。这种方法几乎不值得一提。除非您的所有站点都是超级基本的,具有标准/硬编码链接,并且您只能传递非常少的数据,否则此解决方案是不可行的。甚至GA都不会自动将他们的访客cookie信息附加到他们的跨域跟踪链接(您必须在链接点击时明确调用他们的一个功能)。
2)使用具有持久数据层的标签管理器系统。这是最简单的解决方案,但大多数标签管理员都值得一试并且实际上可以这样做需要花钱才能使用。
3)创建自己的解决方案。基本上,我们的想法是创建一个服务器端脚本,它将接收任意数据并将其放在cookie或某个服务器端,如平面文件或数据库(您仍然使用cookie来存储某种ID来查找数据)在后一种情况下)。然后脚本也会将任意数据输出为javascript变量。该脚本将作为javascript标记包含在您的omniture代码之前。通常在这个初始包含中,您不会将任何内容传递给要设置的脚本;它只会输出当前存储的内容。然后,您可以将SiteCatalyst代码基于这些输出值。设置本地cookie等。然后在SiteCatalyst脚本执行之后,再次调用服务器端脚本,如果有的话,传递更新的值。这种方法有点棘手,特别是在尝试将基于cookie的插件转换为使用它时,但它是可行的(我已经完成了)。
答案 3 :(得分:0)
根据更新scode的第二个响应,在两个域上使用相同的scode。这将设置两个cookie和会话ID以及后备ID。
数据将全部设置为adobe中的同一服务器群集,然后处理规则将这两个会话链接在一起。
如果您想测试此项,请将#crosssesiontest添加到第一页的输入网址,然后进行特定的旅程。
这将花费大约2个小时,然后这些数据将显示在报告套件中,构建一个段以仅显示包含带#crosssesiontest的URL的会话,然后您可以查看您的数据。
这假设您要将数据发送到同一个报表包等。