我有前端GA4实现,希望通过MP从服务器发送事务数据(和一些自定义事件)。Google的推荐
将session_id包含为param,以便测量协议事件出现在基于会话的报告中。
从session_id中获取gtag.js还是生成随机session_id更好?
发布于 2022-08-03 06:07:26
我想我在这里找到了解决方案,https://www.optimizesmart.com/what-is-measurement-protocol-in-google-analytics-4-ga4/#11-10-session-id-
在向GA提出的请求中有两个params:
发布于 2022-08-05 09:57:01
根据测量协议(Google 4)/Sending事件,使用“session_id”参数的随机值将启动新会话。
根据测量协议(Google 4)/Changelog的说法,在基于会话的报告中获取服务器端事件需要'session_id‘。
解决方案:
“session Id”存储在cookie中,似乎是会话开始日期的时间戳。若要在服务器端使用PHP获取“会话Id”,请执行以下操作:
/**
* Gets GA Session Id (GA4 only) from cookies.
*
* @var string $measurement_id
* GA4 Measurement Id (Property Id). E.g., 'G-1YS1VWHG3V'.
*
* @return int
* Returns GA4 Session Id or NULL if cookie wasn't found.
*/
function _get_browser_session_id($measurement_id) {
// Cookie name example: '_ga_1YS1VWHG3V'.
$cookie_name = '_ga_' . str_replace('G-', '', $measurement_id);
if (isset($_COOKIE[$cookie_name])) {
// Cookie value example: 'GS1.1.1659710029.4.1.1659710504.0'.
// Session Id: ^^^^^^^^^^.
$parts = explode('.', $_COOKIE[$cookie_name]);
return $parts[2];
}
}
https://stackoverflow.com/questions/72784667
复制相似问题