javascript - iframe 中的 gtag 子域

标签 javascript google-analytics gtag.js

我正在尝试处理 gtag.js 以跟踪页面浏览量,

它在独立页面或同一父域内的 iframe 中工作正常,但当 iframe 父级不在同一域中时它不起作用(在 Firefox 上工作,但在 chrome/chromium 上不起作用)

  • 父页面:abc.domain.com

    • iframe1:def.domain.com
      • gtag 页面浏览正常
    • iframe2:ghi.domain.com
      • gtag 页面浏览正常
  • 父页面:abc.running.com

    • iframe1:def.domain.com
      • gtag 页面 View 不起作用
    • iframe2:ghi.domain.com
      • gtag 页面 View 不起作用

我控制domain.com,我不控制running.com,我的iframe只是通过外部脚本包含在其中

gtag 页面 View 正常 = 我可以在网络检查器中看到收集 http 请求

gtag 页面 View 不起作用 = 我无法在 chrome/chromium 上的网络检查器中看到收集 http 请求,但我可以在 firefox 上看到

iframe 中包含的 gtag javascript 代码非常简单:

<script async src="https://www.googletagmanager.com/gtag/js?id=TAGID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAGID', {
     page_path: "/page1",
     page_title: "Page 1"
  });
</script>

我尝试添加 cookie_flags 字段,但它没有改变任何内容

<script async src="https://www.googletagmanager.com/gtag/js?id=TAGID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAGID', {
     page_path: "/page1",
     page_title: "Page 1",
     cookie_flags: "samesite=none;domain=domain.com;secure",
  });
</script>

最佳答案

我假设您的页面和 Iframe 均通过 HTTPS 访问并具有有效的 SSL 证书?这对于 SameSite/Secure 标志很重要。

我认为没有cookie_flag域,因此没有必要设置域。

以下should be enough

 cookie_flags: "SameSite=None;Secure",

如果不起作用,请检查(或添加屏幕截图)Iframe 范围内 Chrome 开发工具中的 Cookie(应用程序 -> Cookies -> def.domain.com)

关于javascript - iframe 中的 gtag 子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65724737/

相关文章:

javascript - 为什么 gtag.js 加载 2 个脚本而不是 1 个?

google-analytics - 自定义触发器显示在Google Analytics(分析)中,但不显示值本身

javascript - 打开窗口并立即关闭

javascript - asnyc() 不会在 ssh 和 mongoose 中的代码末尾退出

javascript - JavaScript 中的值存储在哪里?

php - 使用 PHP 从谷歌分析导入反向链接

javascript - 访问 Google map 事件中的 Backbone.View 功能

google-analytics - Google Analytics(分析)API不会按维度返回流量(例如国家/浏览器)

google-analytics - 如果自定义维度不适用于旧数据,如何从Google Analytics(分析)中获取结果?

javascript - 如何将gtag.js添加到react.js/next.js index.js?