什么是cookieFlags
cookieFlags是Google Analytics新增增加的的一个设置,这个设置只存在于统一版跟踪代码、全局版跟踪代码和APP+Web,其中统一版对应的是cookieFlags,全局版和APP+Web对应的是cookie_flags.
cookieFlags可以设置的字段有:

如cookieFlags可以设置为:
max-age=7200;domain=ichdata.com;path=/;secure;samesite=none
表示在http://ichdata.com的根路径上创建cookie,两小时内可以通过https是的形式一起发送给第三方cookie。简单的就是能够被第三方cookie使用。
为什么要设置cookieFlags
为了解决最新版的Chrome浏览器中的SameSite规则,在最新版的Chrome浏览器中,由于google analytics的client,也就是coolie _ga是没有设置Samesite的,所以默认是被视为Samesite=Lax,这意味着第三方上下文中访问cookie的时候不可用。
关于SameSite的详细可以看:Chrome 80:Google 终于对第三方cookie出手了
这样设置才允许第三方访问Google Analytics的第一方cookie,主要是跨站跨域的时候才会用到,需要跟踪到同一个用户的时候就需要读取第一方cookie。
如何设置cookieFlags
不同版本跟踪代码的使用字段是不一样的,统一版analytics.js使用的是cookieFlags,全局版gtag.js和Web+APP使用的是cookie_flags,具体示例如下:
在analytics.js中设置字段
Universal Analytics的设置方法如下:
ga('create', 'UA-XXXXX-Y', {
cookieFlags: 'max-age=7200;secure;samesite=none'
});
在gtag.js中设置字段
统一版的设置方法如下:
gtag('config', 'G-N2A3FMNDT5', {
cookie_flags: 'max-age=7200;secure;samesite=none'
});
在GTM中设置
统一版analytics.js
使用cookieFlags字段:

Web+APP的
使用cookie_flags:

添加前后的效果
添加前:

Samesite为空的,默认是Lax,不能被第三方使用。
添加后:

Samesite和Secure都设置好的,可以第三方上下文中可用。
什么情况下用
需要在第三方上下文中访问Google Analytics(分析)使用的第一方Cookie的时候,如嵌入式预订流程,嵌入式表格和登录门户,主要就是跨站和跨域跟踪的时候要识别到同一个用户/ID的时候
参考:
https://www.simoahava.com/analytics/cookieflags-field-google-analytics/