Google Analytics命中时间戳自定义维度与PageViews指标不匹配求助
我的目标
我正尝试通过自定义维度提升Google Analytics(GA)对网站的命中级粒度,参考相关文章,使用hit timestamp、session id和user id维度。
我已在GA和Google Tag Manager(GTM)中完成所有配置,通过GTM预览模式确认hit timestamp变量及GA标签触发正常,且GA已在收集数据。
以下是GTM配置标签截图:
问题描述
收集到的hit timestamp数量远低于GA内置指标。例如,昨日网站共有8万次命中,其中5.5万次为PageViews。由于我在每次PageViews事件触发标签,预期自定义维度应收集到5.5万条时间戳,但实际仅获取9千条,始终仅为PageViews的约20%。
代码示例
以下是我用于提取测试报告的示例代码:
def extract_report(analytics, report_request): data = [] response = analytics.reports().batchGet( body={ 'reportRequests': report_request } ).execute() data.extend(response['reports'][0]['data']['rows']) print(f"Extracted {len(data)} rows") while response['reports'][0].get('nextPageToken'): report_request[0]['pageToken'] = response['reports'][0]['nextPageToken'] response = analytics.reports().batchGet( body={ 'reportRequests': report_request, } ).execute() data.extend(response['reports'][0]['data']['rows']) print(f"Extracted {len(data)} rows") return data
提取单日指标的查询代码:
def main(): analytics = initialize_analyticsreporting() # Create string for yesterday's date yesterday = datetime.now() - timedelta(days=1) yesterday_string = yesterday.strftime('%Y-%m-%d') hit_queries = [{ 'viewId': VIEW_ID, 'dateRanges': [{'startDate': 'yesterday', 'endDate': 'yesterday'}], 'dimensions': [ {'name': 'ga:date'} ], 'metrics': [ {'expression': 'ga:hits'}, {'expression': 'ga:pageviews'}, {'expression': 'ga:uniquePageviews'} ] }] print('Extracting hit data') r = extract_report(analytics, hit_queries) print(r) if __name__ == '__main__': main()
执行结果:
Extracting hit data Extracted 1 rows [{'dimensions': ['20221002'], 'metrics': [{'values': ['80205', '55293', '13406']}]}]
该结果表明当日共有80205次命中、55293次PageViews、13406次Unique PageViews。
但提取自定义维度收集的hit timestamp时:
def main(): analytics = initialize_analyticsreporting() # Create string for yesterday's date yesterday = datetime.now() - timedelta(days=1) yesterday_string = yesterday.strftime('%Y-%m-%d') hit_queries = [{ 'viewId': VIEW_ID, 'dateRanges': [{'startDate': 'yesterday', 'endDate': 'yesterday'}], 'dimensions': [ {'name': 'ga:dimension3'} ], 'metrics': [ {'expression': 'ga:hits'} ], 'includeEmptyRows': True }] print('Extracting hit data') r = extract_report(analytics, hit_queries) print('Sample data:') print(r[:10])
执行结果:
Extracting hit data Extracted 1000 rows Extracted 2000 rows Extracted 3000 rows Extracted 4000 rows Extracted 5000 rows Extracted 6000 rows Extracted 7000 rows Extracted 8000 rows Extracted 9000 rows Extracted 9150 rows Sample data: [{'dimensions': ['1664633132108'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664633912892'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694004446'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694006760'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694039475'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694067927'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694074017'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694118729'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694163081'], 'metrics': [{'values': ['1']}]}, {'dimensions': ['1664694165036'], 'metrics': [{'values': ['1']}]}]
仅获取到9150条时间戳数据。
此问题已困扰我一周,我尝试调整GTM标签配置、更换查询及指标,但始终无法从GA API获取符合预期数量的时间戳。其他维度均正常,仅hit timestamp存在问题。请问我哪里操作有误?是配置问题还是查询错误?
内容的提问来源于stack exchange,提问作者André Luiz Tiago Soares
相关产品推荐
相关产品推荐

