在iframe中运行Google Analytics?

22

我们公司运营一个网站(oursite.com),与联盟合作伙伴一起向我们的流量发送方向。在某些情况下,我们为我们的联盟合作伙伴设置自己的子域名(affiliate.oursite.com),并且他们使用iframe在他们的网站(affiliate.com)上显示我们网站的选定内容。

他们网站上的页面示例:

<html>
<head></head>
<body>
<iframe src="affiliate.example.com/example_page.html">
...content...
[google analytics code for affiliate.oursite.com]
</iframe>
[google analytics code for affiliate.com]
</body>
</html>
我们希望为 affiliate.oursite.com 启用 Google Analytics 追踪。目前,在 iframe 加载页面时,Google 似乎无法从 affiliate 获取任何数据。 现在,使用 JavaScript 访问不同域中的页面信息存在安全隐患,而 IE 则不喜欢为不同域设置 cookie。 有没有人有解决办法?我们需要将 affiliate.oursite.com 的 CNAME 指向 cname.oursite.com,还是有更好的解决方案?

什么是确切的问题?期望的输出是什么? - Silver Dragon
我已经编辑了问题,以更清楚地阐述问题。 - cam8001
在iframe中运行Google Analytics不是一个好的做法。另一种方法是,如果您想跟踪您的网站流量,可以使用嵌入式API来进行Google Analytics。https://developers.google.com/analytics/devguides/reporting/embed/v1/getting-started https://ga-dev-tools.appspot.com/embed-api/ - Ibid Athoillah
4个回答

15
  1. 你需要将 Google Analytics 跟踪代码附加到 example_page.html 的末尾。标签<iframe></iframe>之间的内容仅在不支持该特定标签的浏览器中显示。

  2. 如果你需要合并子域名的结果,Google 帮助网站上有一篇非常好的文章:如何在一个配置文件中跟踪网站的所有子域名?


7
在iframe的特定情况下,Google并没有提供太多信息。我曾经遇到过同样的问题,但很高兴我解决了这个问题。我在这里发布了一个演示。它是用法语写的,但您不需要说这种语言来复制/粘贴代码。此外,您可以下载演示文件。

1
更多关于多域跟踪和iframe的信息(有助于澄清那篇法国博客文章中发生了什么!)使用iFrame进行跟踪跨iFrames进行跟踪 - Inactivist
有没有关于在第三方网站的 iFramed 内容中完成销售/目标后推送成功事件的任何文档?我一直在寻找更好的针对这个特定问题的文档。 - Muskie

6

抱歉,这是行不通的。原因是Google Analytics使用的是第一方cookie。这意味着GA设置的cookie是特定于代码所在的域的。在您的情况下,iFrame位于第三方域上。这意味着您将拥有两组GA cookie(每个域一个),并且没有真正的方法来协调数据。


嘿,你能给我这个的链接吗? - Trần Hữu Hiền

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接