A/B-эксперимент медиации

С помощью AdMob API можно создавать A/B-эксперименты для медиации, чтобы тестировать различные конфигурации и повышать эффективность рекламы. В ходе A/B-тестирования оцениваются два варианта группы медиации:

Вот несколько примеров экспериментов, которые можно настроить:

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

Примеры

Начните с существующей группы медиации и создайте ее вариант, чтобы увидеть, какой вариант (A или B) работает лучше. Пользователи приложения делятся на два сегмента, каждому из которых назначается своя группа медиации, что позволяет сравнить эффективность этих групп.

curl (командная строка)

Запросы с использованием curl

  1. Загрузите файл с секретным кодом клиента и создайте учетные данные для авторизации.

    При первом выполнении этого шага в браузере появится запрос на авторизацию. Прежде чем принять условия, убедитесь, что вы вошли в аккаунт Google, у которого есть доступ к AdMob API. Приложение получит разрешение на доступ к данным от имени аккаунта, в который вы вошли.

    Для аутентификации и авторизации мы рекомендуем использовать oauth2l – простой инструмент командной строки для работы с Google OAuth 2.0. Установите oauth2l и выполните команду ниже, заменив path_to_credentials_json путем к файлу credentials.json, который вы скачали при регистрации облачного приложения. При первом запуске команда проведет вас через процесс авторизации OAuth 2.0. При последующих запусках токен будет обновляться автоматически.

    oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
    
  2. Создайте A/B-эксперимент для медиации.

    Замените pub-XXXXXXXXXXXXXXXX на идентификатор издателя, а ZZZZZZZZZZ – на идентификатор группы медиации. Идентификатор группы медиации можно найти в интерфейсе AdMob или с помощью метода accounts.mediationGroups:list.

    Вам нужно указать treatmentMediationLines и treatmentTrafficPercentage, однако controlMediationLines наследуются от родительской группы медиации и не требуют указания.

    В приведенном ниже запросе создается A/B-эксперимент для медиации, в котором вариант B (вариант обработки) содержит одну строку медиации для сети AdMob, использующую режим LIVE.

    curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
      "displayName":"Mediation A/B Experiment Test Name",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [{
        "mediationGroupLine": {
          "displayName": "Test mediation group line",
          "adSourceId": "5450213213286189855",
          "cpm_mode": "LIVE"
        }
      }]
    }
    EOF

    Ниже приведен пример ответа, где SSSSSSSSSSSSSSSSSSSSSS – это идентификатор созданного эксперимента A/B для медиации, а YYYYYYYYYY – последние 10 цифр идентификатора рекламного блока в формате ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY.

    {
      "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS",
      "displayName": "Mediation A/B Experiment Test Name",
      "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [
        {
          "mediationGroupLine": {
            "id": "11111111111111111",
            "displayName": "Test mediation group line",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "controlMediationLines": [
        {
          "mediationGroupLine": {
            "id": "22222222222222222",
            "displayName": "AdMob Network (control)",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "state": "RUNNING"
    }
  3. Убедитесь, что A/B-эксперимент медиации выполняется.

    Вызовите метод accounts.mediationGroups:list, чтобы получить статус эксперимента A/B-тестирования медиации для этой группы медиации. Подробнее о группах медиации…

    Параметр mediationAbExperimentState имеет значение RUNNING для активных экспериментов A/B-тестирования медиации и NOT_RUNNING, если в группе медиации не выполняется эксперимент.

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

     curl --http1.0 \
    -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
    
  4. Остановите A/B-тестирование медиации и выберите вариант.

    Замените pub-XXXXXXXXXXXXXXXX на идентификатор издателя, а ZZZZZZZZZZ – на идентификатор группы медиации. Идентификатор группы медиации можно найти в интерфейсе AdMob или с помощью метода accounts.mediationGroups:list.

    Чтобы завершить эксперимент, укажите в запросе победивший вариант:

    • VARIANT_CHOICE_A: используйте линии медиации из варианта А и завершите эксперимент. Вариант А содержит исходные строки показа, которые были до создания эксперимента.
    • VARIANT_CHOICE_B – использовать линии медиации из варианта Б и завершить эксперимент. Вариант Б содержит добавленные строки показа.

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

     curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
    "variantChoice": "VARIANT_CHOICE_A"
    }
    

    Пример ответа

    {
    "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
    "state": "EXPIRED",
    }