Google Analytics分析与API之间的值存在差异

问题描述

我正在使用Python中的Google Analytics(分析)API来跟踪某些网站上的“下载”(这些网站上有可供人们下载的可用文件,我正在跟踪有多少人下载了该文件)。 GA中的“下载”被标记为“事件”。我正在按月检查数据。在35个网站中,有2个网站的脚本中“下载”的值与Google Analytics(分析)相比有所不同-我的脚本通常向我显示的数字比我在GA中看到的要少,而20个月中就有1个脚本值更高。下载的文件列表正确(API和GA中的数据相同)。对于所有网站,我循环使用相同的代码。我已经检查了“采样”,这在这里不是问题。 任何猜测可能导致问题的原因? 预先谢谢你。

我要附加部分代码

def get_events_report(analytics,start_date,end_date):
    # Use the Analytics Service Object to query the Analytics Reporting API V4.
    page_ids = get_page_ids()
    report = {}
    start_date = str(start_date)[:10]
    end_date = str(end_date)[:10]

    for country,page_id in page_ids.items():
        print('page_id: ' + str(page_id))
        print('country: ' + str(country))
        n_report = get_batch_report(start_date,end_date,page_id,0)
        n_report[page_id] = n_report.pop('reports')
        try:
            if n_report[page_id][0]['nextPagetoken']:
                print(n_report[page_id][0]['nextPagetoken'])
                r = get_batch_report(start_date,n_report[page_id][0]['nextPagetoken'])
                n_report.update(r)
        except KeyError:
            pass

        report.update(n_report)
        time.sleep(2)

    table = get_events_table(report)

    return table


def get_batch_report(start_date,pagetoken):
    report = analytics.reports().batchGet(
            body={
                'reportRequests': [
                {
                    'viewId': page_id,'dateranges': [{'startDate': start_date,'endDate': end_date}],'metrics': [{'expression': 'ga:uniqueEvents'}],'dimensions': [{'name': 'ga:dateHourMinute'},{'name':'ga:eventAction'},{'name':'ga:eventLabel'}],'pageSize': '10000',"samplingLevel": "LARGE","dimensionFilterClauses": [{
                   "filters": [{
                        "dimension_name": "ga:eventAction","operator": "PARTIAL","expressions": ["downloads"]
                    }]}],"orderBys": [
                        {
                          "fieldName": "ga:dateHourMinute","sortOrder": "ASCENDING"
                        }]
                      }]

                }).execute()
    return report

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)