如何查询Google Analytics中ClientID对应的Source/Medium信息
关于通过ClientID获取GA来源/媒介及跨系统传递的解决方案
1. 需求可行性说明
1.1 基于GA API的实现(UA/GA4均支持,但不匹配你的场景)
- GA Universal(UA):可通过Core Reporting API,搭配维度
ga:clientId、ga:source、ga:medium和指标ga:sessions,拉取指定时间段内ClientID对应的会话来源信息 - GA4:可通过Analytics Data API,搭配维度
clientId、sessionSource、sessionMedium查询对应数据
注意:GA API的数据存在2~4小时的处理延迟,你需求中的实时链路(访客进站后立即获取来源)无法通过API方案实现,且该方案需要一定的开发能力,不推荐你使用。
2. 无代码快速实现方案(GTM直接取值,无需API开发)
你完全不需要调用GA API,直接在访客进站时通过Google Tag Manager读取当前会话的来源/媒介信息,直接追加到URL即可实现跨系统传递,链路更稳定、无延迟,具体操作如下:
2.1 配置GTM变量读取来源/媒介
- 读取UTM参数:新建「URL参数」类型的GTM变量,分别读取
utm_source、utm_medium的参数值 - 读取GA默认来源:没有UTM参数的场景下,可通过两种方式取值:
- UA环境:读取
_utmz会话Cookie中的来源/媒介存储字段 - GA4环境:新建自定义JS变量获取GA4内置的会话来源值,参考代码如下:
- UA环境:读取
function() { // 替换为你自己的GA4测量ID const GA4_ID = 'G-XXXXXXX'; if (typeof window.gtag === 'undefined') return 'direct/none'; let source = 'direct', medium = 'none'; gtag('get', GA4_ID, 'session_source', val => source = val || 'direct'); gtag('get', GA4_ID, 'session_medium', val => medium = val || 'none'); return `${source}/${medium}`; }
2.2 配置URL参数追加规则
新建GTM触发规则,在页面加载完成、来源变量取值正常后触发,将获取到的source、medium作为参数追加到你需要跳转的自定义页面URL中,比如https://你的站点地址/自定义页面?自定义参数=xxx&utm_source=xxx&utm_medium=xxx。
2.3 下游系统取值
后续的账单系统、CRM系统直接读取URL中的utm_source、utm_medium参数即可完成访客来源标记,符合你的全链路需求。
3. 注意事项
- 如果需要标记用户首次访问的来源而非最新会话来源,可在用户首次进站时将来源/媒介写入浏览器
localStorage,后续访问直接读取存储值即可,避免新会话来源覆盖首次来源 - 直接访问场景下无外部来源和UTM参数,默认返回
source=direct&medium=none即可,和GA的官方统计规则一致
内容的提问来源于stack exchange,提问作者ashish
相关产品推荐
相关产品推荐

