Несоответствие значений между Google Analytics и API

#python #google-analytics #google-analytics-api #google-api-python-client

#python #google-analytics #google-analytics-api #google-api-python-client

Вопрос:

Я использую Google Analytics API на Python для отслеживания «загрузок» с некоторых веб-сайтов (на веб-сайтах есть доступные файлы, которые люди могут загрузить, и я отслеживаю, сколько людей это сделали). «Загрузки» в GA помечены как «События». Данные проверяются мной ежемесячно. На 2 из 35 веб-сайтов значения «Загрузок» в моем скрипте отличаются по сравнению с GA — мой скрипт обычно показывает мне меньшее число, чем то, что я вижу в GA, только в 1 из 20 месяцев значение скрипта было выше. Список загруженных файлов правильный (то же самое в данных из 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, end_date, page_id, 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, end_date, page_id, 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
  

Комментарии:

1. Покажите свой отчет GA и вызовите API, пожалуйста

2. Только что сделал, извините

3. пожалуйста, отредактируйте свой вопрос и покажите нам, что вы подразумеваете под неправильным. Какие две цифры вы сравниваете.