IFrame子域跟踪与Google Analytics

IFrame子域跟踪与Google Analytics,iframe,google-analytics,subdomain,tracking,Iframe,Google Analytics,Subdomain,Tracking,我有一个为我工作的公司创建的网站。此网站位于子域上,作为iframe引入另一家公司的零售网站,因为我们在其下提供服务。有没有一个好的方法来跟踪谷歌分析?我以前从未跟踪过子域,更不用说在iframe中了 我已经创建了一个TestAnalytics帐户,并添加了顶级域,但我只在创建网站的子域的页面上添加了跟踪代码。这能给我任何信息吗?如果这部分工作正常,那么来自iframe设置的信息是否准确?我知道从设计的角度来看,iframe在它自己的世界里有点不对劲,但有人对谷歌如何看待这样的网站有经验吗 我搜

我有一个为我工作的公司创建的网站。此网站位于子域上,作为iframe引入另一家公司的零售网站,因为我们在其下提供服务。有没有一个好的方法来跟踪谷歌分析?我以前从未跟踪过子域,更不用说在iframe中了

我已经创建了一个TestAnalytics帐户,并添加了顶级域,但我只在创建网站的子域的页面上添加了跟踪代码。这能给我任何信息吗?如果这部分工作正常,那么来自iframe设置的信息是否准确?我知道从设计的角度来看,iframe在它自己的世界里有点不对劲,但有人对谷歌如何看待这样的网站有经验吗


我搜索过论坛和我能想到的任何地方,他们有一些关于子域的信息,几乎没有关于iFrame的信息,也没有将两者结合起来的信息。我也无法向合作伙伴公司的零售网站添加任何跟踪代码。

据我所知,您有一个页面将插入到iframe中的第二个页面,但我们需要知道将承载iframe的页面是否与调用页面属于同一域:

  • 如果iframe调用的页面位于调用页面的同一域中:
在本例中,您可以插入JavaScript Google Analytics块,作为主页上的iframe,我们有来自主站点iframe的度量数据

  • 如果调用iframe的页面属于不同的域:
测量的某些特征位于场地内的框架中。这些iFrame表示域,例如site.com.br。当一个域中的页面具有指向另一个域的框架时,会阻止存储在Iframe中的浏览器cookie,在这种情况下,这将阻止测量

Cookie只不过是浏览器存储在机器上的小文本文件。我们的大多数cookie都是会话cookie,在窗口关闭时会自动从硬盘中删除。网站还使用持久cookie,以便在下次访问网站时识别您的计算机。可以在浏览器中禁用Cookie,但这将排除网站上的所有可用功能

要允许记录Cookie,应在服务页面的HTTP服务器中添加P3P头。此标题不会改变页面的显示模式或操作。只需指示您的浏览器允许记录第三方的cookies,但它在Internet Explorer中的作用更大。如果不设置,您可以从其他浏览器(Google Chrome、Firefox、Opera等)接收数据,但Internet Explorer仍在大量用户中广泛使用

假设我们有四个不同的域:

www.site1.com
www.site2.com
www.site3.com
www.site4.com
这四个页面将接收iframe标记:

php页面需要有一个用于接受第三方cookie的调用头p3p

要添加页眉p3p,请使用以下代码(应添加到属于同一域的所有页面)

ASP.Net

HttpContext.Current.Response.AddHeader(“p3p”、“CP=\”PSA CONE NOI ONL OUR BUS\”)

PHP

header('P3P:CP=“NOI-PSA-CONE-ONL-OUR-BUS”)

JSP

response.setHeader(“P3P”,“CP=”NOI PSA CONE ONL OUR BUS'”)

冷饮


我希望能有所帮助:)

如果你的iframe托管内容与父页面不在同一个域中(根据你的问题的上下文,我假设不是这样),那么谷歌会将页面名称报告为iframe的URL,而不是父页面

GA代码有一种覆盖默认页面名称的方法,但是,在这种情况下,您无法检索父URL,因为这被视为跨站点脚本(XSS)

在这种情况下,获取有关父页面信息的唯一方法是,对具有iframe标记的父页面具有控制权的人,通过向iframe src=“…”属性添加查询字符串参数,将父URL传递给iframe(同样,对于要传递给iframe页面的任何其他信息,也是如此)。然后,您可以编写一些javascript从URL检索这些值,并弹出任何您想要的内容,包括覆盖默认报告的页面名称(您可以通过将可选的第二个参数设置为_trackPageview调用来实现)


如果iframe内容位于同一域(即使它是父页面的子域),然后您可以使用parent.window.which而不是window.which来访问父页面属性。

谢谢您的回复!您是正确的,我的网站是在另一个公司网站中构建的,该网站是一个单独的域。目前显示的跟踪似乎非常准确:)