从UA迁移至GA4:如何通过Client ID调用User Activity API?
GA4 实现原UA用户活动查询的替代方案
核心说明
原UA的User Activity API在GA4中没有直接对应的同名接口,需通过Google Analytics Data API实现相同的特定用户活动查询功能,核心对应关系:
- UA的
viewId→ GA4的propertyId(格式为properties/[GA4媒体资源ID]) - UA的
CLIENT_ID→ GA4的user_pseudo_id(即客户端ID)
代码实现示例
以下是与你原代码风格一致的Node.js实现:
const { google } = require('googleapis'); const analyticsdata = google.analyticsdata('v1beta'); // 替换为你的GA4媒体资源ID const propertyId = 'properties/123456789'; analyticsdata.properties.runReport({ auth: authClient, // 与原代码使用的authClient兼容,需确保有GA4数据读取权限 requestBody: { property: propertyId, dateRanges: [ { startDate: '2023-01-01', // 按需调整时间范围 endDate: 'today' } ], dimensions: [ { name: 'userPseudoId' }, { name: 'sessionId' }, { name: 'eventName' }, { name: 'eventTimestamp' }, { name: 'pageTitle' }, { name: 'pagePath' } ], dimensionFilter: { filter: { fieldName: 'userPseudoId', stringFilter: { matchType: 'EXACT', value: '25336095.1669186824' // 替换为目标用户的client_id(即user_pseudo_id) } } }, limit: 1000 // 按需调整返回事件数量上限 } }, function (err, result) { if (err) { console.error('查询用户活动失败:', err); return; } // 处理返回的用户活动数据 console.log('用户活动数据:', result.data); });
关键注意事项
- 确保你的
authClient拥有analytics.readonly权限,且已关联目标GA4媒体资源 - GA4返回的是用户触发的所有事件列表,需自行通过
sessionId维度分组还原会话结构(原UA API会直接返回会话层级的数据) - 可根据需求添加更多维度/指标,比如
eventParams来获取事件的具体参数
内容的提问来源于stack exchange,提问作者Shashank Trivedi
相关产品推荐
相关产品推荐

