首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过测量协议发送session_id

通过测量协议发送session_id
EN

Stack Overflow用户
提问于 2022-06-28 10:19:10
回答 2查看 897关注 0票数 1

我有前端GA4实现,希望通过MP从服务器发送事务数据(和一些自定义事件)。Google的推荐

将session_id包含为param,以便测量协议事件出现在基于会话的报告中。

从session_id中获取gtag.js还是生成随机session_id更好?

EN

回答 2

Stack Overflow用户

发布于 2022-08-03 14:07:26

我想我在这里找到了解决方案,https://www.optimizesmart.com/what-is-measurement-protocol-in-google-analytics-4-ga4/#11-10-session-id-

在向GA提出的请求中有两个params:

  1. "cid“-它是"GA client_id”
  2. "sid“--这是session_id,您需要将它保存在您的DB中,靠近"cid”param,然后使用测量协议和client_id一起发送它。
票数 0
EN

Stack Overflow用户

发布于 2022-08-05 17:57:01

根据测量协议(Google 4)/Sending事件,使用“session_id”参数的随机值将启动新会话。

根据测量协议(Google 4)/Changelog的说法,在基于会话的报告中获取服务器端事件需要'session_id‘。

解决方案:

“session Id”存储在cookie中,似乎是会话开始日期的时间戳。若要在服务器端使用PHP获取“会话Id”,请执行以下操作:

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 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];
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72784667

复制
相关文章

相似问题

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