Получение Lifetime Values ​​из Google Analytics API

Документация API Google Analytics показывает, что для получения значений времени жизни не следует указывать диапазоны дат. Но когда я делаю такой запрос (без диапазона дат), он возвращает пустое измерение и результат метрики. Но когда я использую диапазон дат, он возвращает значения параметров и показателей для этого диапазона дат.

Ниже приведен отрывок из документации по API. :

Диапазоны дат не должны указываться для когорт или запросов Lifetime value.

Например, если я делаю запрос без диапазона дат, следующим образом:

{
 "reportRequests": [
  {
   "viewId": "XXXXXXXXX",
   "dimensions": [
    {
     "name": "ga:date"
    },
    {
     "name": "ga:eventLabel"
    }
   ],
   "metrics": [
    {
     "expression": "ga:totalEvents"
    }
   ]
  }
 ]
}

Я получаю следующий ответ:

{
 "reports": [
  {
   "columnHeader": {
    "dimensions": [
     "ga:date",
     "ga:eventLabel"
    ],
    "metricHeader": {
     "metricHeaderEntries": [
      {
       "name": "ga:totalEvents",
       "type": "INTEGER"
      }
     ]
    }
   },
   "data": {
    "totals": [
     {
      "values": [
       "0"
      ]
     }
    ]
   }
  }
 ]
}

Однако, если я включу диапазон дат,

{
 "reportRequests": [
  {
   "viewId": "XXXXXXXX",
   "dimensions": [
    {
     "name": "ga:date"
    },
    {
     "name": "ga:eventLabel"
    }
   ],
   "metrics": [
    {
     "expression": "ga:totalEvents"
    }
   ],
   "dateRanges": [
    {
     "startDate": "2016-01-01",
     "endDate": "2016-04-30"
    }
   ]
  }
 ]
}

Я получаю следующий ответ:

{
 "reports": [
  {
   "columnHeader": {
    "dimensions": [
     "ga:date",
     "ga:eventLabel"
    ],
    "metricHeader": {
     "metricHeaderEntries": [
      {
       "name": "ga:totalEvents",
       "type": "INTEGER"
      }
     ]
    }
   },
   "data": {
    "rows": [
     {
      "dimensions": [
       "20160412",
       "http://mytestblog.com/"
      ],
      "metrics": [
       {
        "values": [
         "1"
        ]
       }
      ]
     },
     {
      "dimensions": [
       "20160412",
       "http://mytestblog.com/2016/04/first-post.html"
      ],
      "metrics": [
       {
        "values": [
         "3"
        ]
       }
      ]
     },
     {
      "dimensions": [
       "20160419",
       "http://mytestblog.com/"
      ],
      "metrics": [
       {
        "values": [
         "4"
        ]
       }
      ]
     },
     {
      "dimensions": [
       "20160419",
       "http://mytestblog.com/2016/04/fourth.html"
      ],
      "metrics": [
       {
        "values": [
         "13"
        ]
       }
      ]
     }
    ],
    "totals": [
     {
      "values": [
       "21"
      ]
     }
    ],
    "rowCount": 4,
    "minimums": [
     {
      "values": [
       "1"
      ]
     }
    ],
    "maximums": [
     {
      "values": [
       "13"
      ]
     }
    ]
   }
  }
 ]
}

Почему, несмотря на то, что это указано в документации, я должен указать диапазон дат в ReportRequest, чтобы получить значения? Я неправильно понимаю значение пожизненных ценностей здесь?


person Kenpachi    schedule 01.05.2016    source источник


Ответы (1)


Объект reportRequest должен иметь либо значение для dateRanges, либо значение определения для cohortGroup. Если вы опустите оба запроса, будут приняты значения по умолчанию для startDate из 7daysAgo и endDate из yesterday.

Правильная интерпретация документов заключается в том, что reportRequest не должен иметь dateRange, определенных для запросов когорты и LTV. Но чтобы запросить когорту или пожизненную ценность, вы должны добавить определение когорты. Для запросов на всю жизнь определение когорты должно иметь конкретное поле dateRange в дополнение к полю lifetimeValue, для которого установлено значение true:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
    "reportRequests": [
    {
        "viewId": "XXXX",
        "dimensions": [
            {"name": "ga:cohort" },
            {"name": "ga:cohortNthWeek" }],
        "metrics": [
            {"expression": "ga:cohortTotalUsersWithLifetimeCriteria"},
            {"expression": "ga:cohortRevenuePerUser"}
        ],
        "cohortGroup": {
            "cohorts": [{
                "name": "cohort 1",
                "type": "FIRST_VISIT_DATE",
                "dateRange": {
                    "startDate": "2015-08-01",
                    "endDate": "2015-09-01"
                }
            },
            {
                "name": "cohort 2",
                "type": "FIRST_VISIT_DATE",
                "dateRange": {
                    "startDate": "2015-07-01",
                    "end_date": "2015-08-01"
                }
            }],
           "lifetimeValue": True
        }
    }]
  }
person Matt    schedule 02.05.2016
comment
Спасибо за комментарий @Matt. Похоже, существует отчет о общей ценности, отдельный от CohortGroup. Этот отчет доступен только для просмотров приложения. Также по умолчанию, без указания диапазона дат, кажется, что данные извлекаются за текущий месяц (по крайней мере, для веб-просмотра) - person Kenpachi; 03.05.2016
comment
Чтобы уточнить, чтобы сделать запрос на пожизненную ценность, вы должны определить cohortGroup и установить для поля lifetimeValue значение True. - person Matt; 04.05.2016