Как работать с медийными кампаниями

Медийная кампания — это реклама с оплатой за показы в Директе. Объявления показываются в Рекламной сети Яндекса на десктопах и мобильных устройствах. Подробнее см. в разделе Медийная кампания помощи Директа.

Управление кампаниями

Ограничение. Создание креативов в конструкторе и загрузка креативов для медийных объявлений в настоящее время доступны только в веб-интерфейсе.
  1. Создайте кампанию с типом CPM_BANNER_CAMPAIGN: в методе Campaigns.add передайте структуру CpmBannerCampaign.

    Об особенностях работы с этим типом кампаний читайте в разделе Тип кампании.

    О доступных стратегиях показа читайте в разделе Стратегии показа.

    О других параметрах кампаний читайте в разделе Параметры кампаний.

  2. Создайте группу объявлений.

    В группу можно добавить либо условие нацеливания по профилю пользователей, либо ключевые фразы. В зависимости от того, какие условия показа вы планируете добавить, укажите подтип группы:

    • Чтобы создать группу с условием нацеливания по профилю пользователей, в методе AdGroups.add передайте пустую структуру CpmBannerUserProfileAdGroup.
      Примечание. В группе с условием нацеливания по профилю пользователей не допускаются корректировки ставок и минус-фразы.
    • Чтобы создать группу с ключевыми фразами, в методе AdGroups.add передайте пустую структуру CpmBannerKeywordsAdGroup.
    Изменить подтип группы в дальнейшем невозможно.
  3. Добавьте в группу условия показа.

    1. Получите справочники сегментов Крипты по социально-демографическим характеристикам, а также справочники сегментов Крипты по интересам пользователя: метод Dictionaries.get, в запросе укажите имена справочников AudienceDemographicProfiles и AudienceInterests.
    2. Создайте профиль пользователя: метод RetargetingLists.add.

      Профиль пользователей реализован как условие ретаргетинга и подбора аудитории с типом AUDIENCE. Подробнее о профиле читайте в разделе Условие ретаргетинга и подбора аудитории (RetargetingList).

    3. Добавьте профиль пользователя в группу объявлений: метод AudienceTargets.add.

      В случае если в кампании выбрана ручная стратегия показа, назначить ставку на профиль пользователей можно сразу при добавлении профиля в группу объявлений или в дальнейшем с помощью метода AudienceTargets.setBids.

  4. Добавьте в группу объявления:
    1. Создайте креативы в конструкторе креативов или загрузите готовые креативы в веб-интерфейсе Директа. См. раздел Создание медийной кампании помощи Директа.
    2. Добавьте одно или несколько объявлений с типом CPM_BANNER_AD: метод Ads.add. Параметры объявления нужно передать в структуре CpmBannerAd.
  5. Отправьте объявления на модерацию: метод Ads.moderate.

Получение статистики

Статистику кампаний с типом «Медийная кампания» можно получить с помощью сервиса Reports. В отчете можно получить среднюю стоимость тысячи показов, среднюю частоту показа одному пользователю и количество уникальных пользователей, которым был показан баннер.

В запросе на формирование отчета укажите:

  • В параметре Type — тип отчета REACH_AND_FREQUENCY_PERFORMANCE_REPORT.
  • В структуре Filter — один или несколько идентификаторов медийных кампаний. Фильтр по кампаниям обязателен для этого типа отчета.
  • В массив FieldNames добавьте значения CampaignId, AvgCpm, AvgImpressionFrequency, ImpressionReach.

Пример запроса

curl \
  -H 'Authorization: Bearer 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f' \
  -H 'Accept-Language: en' \
  -H 'Client-Login: agrom' \
  -H 'returnMoneyInMicros: false' \
  -d '{
    "params": {
      "SelectionCriteria": {
        "Filter": [{
          "Field": "CampaignId",
          "Operator": "IN",
          "Values": [ "10012", "10017" ]
        }]
      },
      "FieldNames": [ "CampaignId", "Impressions", "Clicks", "Cost", "AvgCpm", "AvgImpressionFrequency", "ImpressionReach" ], 
      "OrderBy": [{
        "Field": "CampaignId"
      }],
      "ReportName": "Display campaigns",
      "ReportType": "REACH_AND_FREQUENCY_PERFORMANCE_REPORT",
      "DateRangeType": "LAST_WEEK",
      "Format": "TSV",
      "IncludeVAT": "YES",
      "IncludeDiscount": "YES"
    }
  }' \
  https://api.direct.yandex.com/json/v5/reports