You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Google Analytics中与ga_session_id关联的user_age_bracket及gender指标导入BigQuery?及相关指标名称确认问题

关于Google Analytics会话ID关联年龄/性别指标导入BigQuery的解决方案

先帮你理清指标名称的问题,再一步步说明如何把这些数据导入并关联到BigQuery:

一、指标名称正确性确认

这里分两种场景,取决于你使用的是Universal Analytics(UA)还是Google Analytics 4(GA4):

1. 如果你用的是Universal Analytics(UA)

  • 会话ID的字段名确实是 ga_session_id,这个没问题
  • 用户年龄区间的正确字段是 user.demographics.age_bracket,性别是 user.demographics.gender,这些属于用户级属性,会出现在UA导出到BigQuery的ga_sessions_*表中

2. 如果你用的是Google Analytics 4(GA4)

  • 你提到的ga_session_id在GA4里对应的字段是 session_id(沿用UA的术语很正常)
  • 开启Google Signals后,年龄区间和性别会作为用户级属性存储,在BigQuery的events_*表中,对应的键名是age_bracket和gender,需要从user_properties数组中提取(具体写法看后面的SQL示例)

如果找不到这些字段,大概率是这两个原因:

  • 你还没在GA后台启用 demographics 数据收集:去Admin界面的「属性/视图设置」里开启 demographics 和兴趣报告
  • 刚开启数据收集不久:需要等待1-2天,数据才会同步到BigQuery

二、导入并关联数据到BigQuery的步骤

情况1:Universal Analytics(UA)

  1. 先确保UA已链接到BigQuery:
    登录UA后台,进入Admin界面,选择对应的视图,点击「BigQuery链接」,按照提示完成关联,设置导出频率(每日或实时)。

  2. 查询关联数据:
    数据导出后,BQ里会生成ga_sessions_YYYYMMDD格式的表,直接用SQL就能关联会话ID和年龄/性别:

    SELECT
      fullVisitorId AS user_id,
      ga_session_id,
      user.demographics.age_bracket AS user_age_bracket,
      user.demographics.gender AS gender
    FROM
      `你的项目ID.你的数据集ID.ga_sessions_*`
    WHERE
      _TABLE_SUFFIX BETWEEN '20240101' AND '20240131' -- 替换成你需要的日期范围
    

    这里fullVisitorId是用户唯一ID,用来关联用户级的年龄性别和会话(一个用户可能有多个会话)。

情况2:Google Analytics 4(GA4)

  1. 确保GA4已链接到BigQuery:
    登录GA4后台,进入Admin界面,选择「产品关联」→「BigQuery链接」,完成关联并开启事件数据导出(如果需要用户级数据,也可以开启用户数据导出)。

  2. 查询关联数据:
    方法一:直接从事件表中提取用户属性和会话ID

    SELECT
      user_pseudo_id AS user_id,
      session_id,
      -- 从user_properties数组中提取年龄区间
      (SELECT value.string_value FROM UNNEST(user_properties) WHERE key = 'age_bracket') AS user_age_bracket,
      -- 从user_properties数组中提取性别
      (SELECT value.string_value FROM UNNEST(user_properties) WHERE key = 'gender') AS gender
    FROM
      `你的项目ID.你的数据集ID.events_*`
    WHERE
      _TABLE_SUFFIX BETWEEN '20240101' AND '20240131' -- 替换成你需要的日期范围
    

    方法二:关联事件表和用户表(如果开启了用户数据导出)

    SELECT
      e.user_pseudo_id AS user_id,
      e.session_id,
      u.user_age_bracket,
      u.gender
    FROM
      `你的项目ID.你的数据集ID.events_*` e
    JOIN
      `你的项目ID.你的数据集ID.users_*` u
    ON
      e.user_pseudo_id = u.user_pseudo_id
      AND PARSE_DATE('%Y%m%d', e._TABLE_SUFFIX) = PARSE_DATE('%Y%m%d', u._TABLE_SUFFIX)
    WHERE
      e._TABLE_SUFFIX BETWEEN '20240101' AND '20240131'
    

    注意:GA4的年龄和性别数据是匿名化的聚合值,只有用户允许了数据收集(通过Google Signals)才会存在,不会有单个用户的精确信息。

内容的提问来源于stack exchange,提问作者Halim Iskandar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 16:42:33