首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google Analytics跨站点Cookie问题

Google Analytics跨站点Cookie问题
EN

Stack Overflow用户
提问于 2021-07-08 08:57:03
回答 1查看 162关注 0票数 1

由于问题选项卡中的错误,在我们的网站上包括谷歌分析的LightHouse最佳实践得分为7%。查看问题选项卡显示Google Analytics正在发送6个没有设置必要的SameSite值的cookies。有没有办法修复/解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 00:05:23

在谷歌开发者文档中找到了解决方案的线索:https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id

通过我自己的一些调整,我想出了这个解决方案:

代码语言:javascript
运行
复制
const gacode = 'UA-XXXXX-Y';
const rootdomain = 'example.com';
const GA_LOCAL_STORAGE_KEY = 'ga:clientId';
const GA_COOKIE_KEY = 'gaCookie';
if (window.localStorage) {
    ga('create', gacode, {
        storage: 'none',
        clientId: window.localStorage.getItem(GA_LOCAL_STORAGE_KEY),
    });
    ga(function (tracker) {
        window.localStorage.setItem(
            GA_LOCAL_STORAGE_KEY,
            tracker.get('clientId')
        );
    });
} else {
    ga('create', gacode, {
        cookieName: GA_COOKIE_KEY,
        cookieDomain: rootdomain,
        cookieExpires: 60 * 60 * 24 * 28,
        cookieUpdate: 'false',
        cookieFlags: 'SameSite=None; Secure',
    });
};

这将通过本地存储以无cookies模式使用分析,如果可用,则将SameSite标志添加到cookies。这可能不是默认设置,因为它限制了跨站点跟踪。

即使使用所有的技巧,如预取dns和预加载分析脚本,它仍然会使性能下降一点,因为它们的脚本标记会动态地放在第二个脚本中,但效果要好得多。至少在Issues选项卡中不会再出现不良做法。

代码语言:javascript
运行
复制
<link rel="dns-prefetch" href="https://www.google-analytics.com" />
<link
    rel="preload"
    href="https://www.google-analytics.com/analytics.js"
    as="script"
/>

并包括异步脚本

代码语言:javascript
运行
复制
<script async src="https://www.google-analytics.com/analytics.js"></script>

这可以让我们回到过去的大部分时间。

希望这个答案对别人和对我一样有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68294405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档