Проблема с фильтром в Google Analytics Reporting v4 - PullRequest
0 голосов
/ 11 февраля 2020

Я использую Analytics Reporting v4 и Node.js.

Мне нужно получить ряд инициированных событий для группы измерений. Например:

  • измерения: дата, источник, среда, кампания
  • метрики: просмотры страниц, totalEvents
  • , где eventAction = "Тестовое действие"

Когда я объединяю эти две метрики: количество просмотров страниц и totalEvents, в результате отображаются неправильные числа. Но когда я использую их по отдельности, тогда это работает хорошо.

Истинные результаты для метрик:

  • всего просмотров страниц - 32 (но показывает 17)
  • всего событий - 9

Может кто знает почему? Может быть, потому, что он не рассчитывает просмотры страниц, когда пользователь не выполнял действие («Тестовое действие»)? И как я могу сделать это правильно?

Пример ответа - http://i.imgur.com/BUkqiQG.png

Код запроса:

reportRequests: [{
    view_id: viewId,
    dateRanges: [{
        startDate: '2020-02-10',
        endDate: '2020-02-10',
    }],
    dimensions: [
        {
            name: 'ga:date'
        },
        {
            name: 'ga:source'
        },
        {
            name: 'ga:medium'
        },
        {
            name: 'ga:campaign'
        }
    ],
    metrics: [
        {
            expression: 'ga:pageviews'
        },
        {
            expression: 'ga:totalEvents'
        },
    ],
    orderBys: [{
        fieldName: 'ga:date',
        sortOrder: "ASCENDING"
    }],
    dimensionFilterClauses: [{
        filters: [
            {
                dimension_name: 'ga:eventAction',
                operator: 'EXACT',
                expressions: ["Test Action"]
            }
        ]
    }]
}]

1 Ответ

0 голосов
/ 11 февраля 2020

Это потому, что вы фильтруете страницы по тем, у которых есть только событие.

Все исходные, средние и рекламные измерения находятся на уровне сеанса. Поэтому, когда вы сообщаете о них и просто просматриваете страницы, они дают общее количество просмотров страниц.

Однако, когда вы фильтруете результаты по параметру, где eventAction = Test, он возвращает только те просмотры страниц, где произошло это событие.

Вместо этого я бы предложил использовать сегмент, например:

"segments": [{
"dynamicSegment": {
    "sessionSegment": {
        "segmentFilters": [{
          "simpleSegment" :{
            "orFiltersForSegment": [{
              "segmentFilterClauses":[{
                "dimensionFilter": {
                  "dimensionName": "ga:eventAction",
                  "expressions": ["Test Action"]
                }
              }]
            }]
          }
        }]
      }
    }
}]

Дополнительная информация: https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#DynamicSegment

...