我正在开发一个分析模块,用于从Google Analytics,Facebook和Twitter Analytics API中提取数据。
使用Analytics Reporting Api V4从Google Analytics中提取数据。
Total number of sessions
值与我在Dashboard上看到的值不匹配。我使用指标ga:sessions
来提取会话数。
在某些情况下,来自报告API的会话数与Dashboard匹配。但不是所有的时间。我发现很难在未经适当解释的情况下从QA获得批准。
我多次检查维度过滤器和报告查询,但找不到任何错误。
在我的报告请求中添加了samplingLevel
,但仍看到相同的结果。
ReportRequest totalNumberOfSessions = new ReportRequest().setViewId(VIEW_ID)
.setDateRanges(Arrays.asList(lifetime))
.setDimensions(Arrays.asList(custom))
.setDimensionFilterClauses(Arrays.asList(clause))
.setMetrics(Arrays.asList(sessions))
.setSamplingLevel("LARGE");
答案 0 :(得分:1)
根据https://developers.google.com/analytics/devguides/reporting/core/v4/samples,使用setSegments而不是setDimensionFilterClauses。 像这样:
String path = "<your_path>";
SegmentDimensionFilter exactPathDimensionFilter = new SegmentDimensionFilter()
.setDimensionName("ga:pagePath").setOperator("EXACT")
.setExpressions(Arrays.asList(path));
SegmentFilterClause exactPathSegmentFilterClause = new SegmentFilterClause()
.setDimensionFilter(exactPathDimensionFilter);
OrFiltersForSegment orFiltersForSegment = new OrFiltersForSegment()
.setSegmentFilterClauses(Arrays.asList(exactPathSegmentFilterClause));
SimpleSegment simpleSegment = new SimpleSegment()
.setOrFiltersForSegment(Arrays.asList(orFiltersForSegment));
SegmentFilter segmentFilter = new SegmentFilter()
.setSimpleSegment(simpleSegment);
SegmentDefinition segmentDefinition = new SegmentDefinition()
.setSegmentFilters(Arrays.asList(segmentFilter));
DynamicSegment dynamicSegment = new DynamicSegment().setSessionSegment(
segmentDefinition).setName("Path pageviews");
Segment segment = new Segment().setDynamicSegment(dynamicSegment);
ReportRequest request = new ReportRequest().setViewId(VIEW_ID)
.setDateRanges(Arrays.asList(dateRange))
.setMetrics(Arrays.asList(metric))
.setDimensions(Arrays.asList(new Dimension().setName("ga:segment")))
.setSegments(Arrays.asList(segment));
此示例使用路径过滤器。您应该根据“子句”变量进行更改。