首页 文章

为什么Analytics Reporting Api数据与Google Analytics信息中心不匹配?

提问于
浏览
1

我正在开发一个分析模块,用于从Google Analytics,Facebook和Twitter Analytics api中提取数据 .

使用Analytics Reporting Api V4从Google Analytics中提取数据 . Total number of sessions 值与我在仪表板上看到的值不匹配 . 我使用metric ga:sessions 来拉取会话数 .

在某些情况下,来自报告API的会话数与仪表板匹配 . 但不是所有的时间 . 我发现很难在未经适当解释的情况下从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");

1 回答

  • 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));
    

    此示例使用路径筛选器 . 您应该根据“子句”变量进行更改 .

相关问题