Google analytics 为什么';当我的应用程序加载到跨域iframe中时,Google Analytics是否会发送点击?

Google analytics 为什么';当我的应用程序加载到跨域iframe中时,Google Analytics是否会发送点击?,google-analytics,google-tag-manager,gtag.js,google-analytics-4,Google Analytics,Google Tag Manager,Gtag.js,Google Analytics 4,我有一个基本的静态/单页应用程序,我使用gtag添加了谷歌分析4(GA4)。当我通过本地加载我的应用程序时,页面浏览量会按预期进行跟踪http://localhost:8080. 然而,当我在iframe中的另一个站点上嵌入app时,不会发送任何点击 为了调试这个,我在Chrome网络检查器中查看了网络请求。当我直接在http://localhost:8080,我可以看到一个请求。在网络请求中。但是,当我在iframe中加载我的应用程序时(例如,我将添加到另一个页面),我注意到该请求没有发送。我

我有一个基本的静态/单页应用程序,我使用
gtag
添加了谷歌分析4(GA4)。当我通过本地加载我的应用程序时,页面浏览量会按预期进行跟踪http://localhost:8080. 然而,当我在iframe中的另一个站点上嵌入app时,不会发送任何点击

为了调试这个,我在Chrome网络检查器中查看了网络请求。当我直接在http://localhost:8080,我可以看到一个请求。在网络请求中。但是,当我在iframe中加载我的应用程序时(例如,我将
添加到另一个页面),我注意到该请求没有发送。我还确认,在实时视图中,Google Analytics中没有显示任何数据,尽管我可以看到用于加载gtag的JavaScript

我还通过在上使用标记助手进行了调试。即使当我连接到在iframe中运行的应用程序时,调试器也会显示所有事件都已按预期注册,但在“已发送的命中数”下,调试器会显示“此容器未发送任何命中数”

为什么在iframe中加载应用程序时,相同跟踪代码的行为会有任何不同?我如何确保点击始终被发送


更新:这似乎与跨域iframe中的Cookie不可用有关,但是否有解决办法?

默认情况下,跟踪因以下原因而失败。默认情况下,Cookie在第三方上下文中不可用,这包括来自不同域的和iframe

通过使用(),您可以允许从第三方上下文读取cookie。随着隐私限制的不断增加,将有一些警告,这将因浏览器而异

但是,目前,只要您的站点安全,在
gtag
config中设置
cookie_标志
,即可解决此问题:

gtag('config',''{
cookie_标志:“SameSite=None;安全”
})

请注意,这实际上不适用于http://localhost:8080 由于它不安全,但一旦站点部署到生产环境中,希望您能使用https。

我投票结束这个问题,因为它与编程无关,可能更适合或非常感谢。我在这个问题上纠缠了很长时间。此问题仅在chrome上发生。他们应该在文件中提到这一点。