Пример: Reports вместо GetBannersStat (Live)

Пример демонстрирует переход на получение статистики с помощью сервиса Reports.

Рассмотрим вызов метода GetBannersStat (Live) со следующими параметрами:

curl \
  -d '{
    "method": "GetBannersStat",
    "locale": "en",
    "token": "0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f",
    "param": {
      "CampaignID": 10007,
      "StartDate": "2018-05-01",
      "EndDate": "2018-05-07",
      "GroupByColumns": [ "clDate", "clPhrase", "clROI" ],
      "Limit": 200,
      "Offset": 0,
      "OrderBy": [ "clDate" ],
      "Currency": "RUB",
      "IncludeVAT": "Yes",
      "IncludeDiscount": "Yes"
   }
  }' \
  https://api.direct.yandex.ru/live/v4/json/

Пример возвращаемых данных:

{
  "data": {
    "Stat": [{
      "StatDate": "2018-05-01",
      "PhraseID": 414808784,
      "Phrase": "путешествие !в космос",
      "BannerID": 7654321,
      "Revenue": 8271.77,
      "ROI": 2.51,
      "Clicks": 329,
      "ClicksSearch": 307,
      "ClicksContext": 22,
      "Shows": 2224,
      "ShowsSearch": 1246,
      "ShowsContext": 978,
      "Sum": 2356.29,
      "SumSearch": 2303.68,
      "SumContext": 52.61,
    }, ... ],
    "StartDate": "2018-05-01",
    "EndDate": "2018-05-07",
    "CampaignID": 10007
  }
}

Получить аналогичные данные позволяет следующий запрос к сервису Reports:

curl \
  -H 'Authorization: Bearer 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f' \
  -H 'Accept-Language: en' \
  -H 'Client-Login: agrom' \
  -H 'returnMoneyInMicros: false' \
  -d '{
    "params": {
      "SelectionCriteria": {
        "DateFrom": "2018-05-01",
        "DateTo": "2018-05-07",
        "Filter": [{
          "Field": "CampaignId",
          "Operator": "IN",
          "Values": [ "10007" ]
        }]
      },
      "FieldNames": [ "Date", "AdId", "CriterionId", "CriterionType",
                      "Criterion", "Cost", "Clicks", "Impressions", 
                      "AdNetworkType", "Revenue", "GoalsRoi" ], 
      "Page": {
        "Limit": 200
      },
      "OrderBy": [{
        "Field": "Date"
      }],
      "ReportName": "Revenue and ROI",
      "ReportType": "CUSTOM_REPORT",
      "DateRangeType": "CUSTOM_DATE",
      "Format": "TSV",
      "IncludeVAT": "YES",
      "IncludeDiscount": "YES"
    }
  }' \
  https://api.direct.yandex.com/json/v5/reports

Пояснения:

  • Чтобы получить отчет по клиенту агентства, необходимо указать логин клиента в HTTP-заголовке Client-Login.
  • Чтобы получить в отчете денежные значения в валюте рекламодателя, необходимо указать HTTP-заголовок returnMoneyInMicros: false.
  • Чтобы получить отчет по конкретной кампании, необходимо использовать фильтр по CampaignId.
  • Чтобы получить отчет за произвольные даты, необходимо указать эти даты в параметрах DateFrom и DateTo, а в параметре DateRangeType указать значение CUSTOM_DATE.
  • Чтобы получить статистику в разрезе объявлений, необходимо указать в параметре FieldNames поле AdId.
  • Чтобы получить статистику в разрезе ключевых фраз, необходимо указать в параметре FieldNames поля CriterionId, CriterionType и Criterion.
  • Чтобы получить раздельно статистику на поиске и в сетях, необходимо указать в параметре FieldNames поле AdNetworkType. Строки отчета, в которых в этом поле указано значение SEARCH, будут содержать статистику на поиске, строки со значением AD_NETWORK — статистику в сетях.

Пример отчета:

"Revenue and ROI (2018-05-01 - 2018-05-07)"
Date	AdId	CriterionId	CriterionType	Criterion	Cost	Clicks	Impressions	AdNetworkType	Revenue	GoalsRoi
2018-05-01	7654321	414808784	KEYWORD	"путешествие !в космос"	2303.68	307	1246	SEARCH	8104.22	2.52
2018-05-01	7654321	414808784	KEYWORD	"путешествие !в космос"	52.61	22	978	AD_NETWORK	167.55	2.18
...