Видео кампании

Скрипты Google Рекламы позволяют управлять видеокампаниями на YouTube и создавать по ним отчёты. Вы можете использовать скрипты для управления существующими видеокампаниями, создания и управления группами объявлений и объявлениями, настройки таргетинга для кампаний и создания отчётов. Однако скрипты нельзя использовать для создания видеокампаний.

Получение видеокампаний и групп объявлений

Видеокампании доступны через коллекцию videoCampaigns объекта AdsApp . Вы можете получить их так же, как и обычные кампании в скриптах:

const campaignName = "My first video campaign";

const campaignIterator = AdsApp.videoCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

После извлечения кампании вы можете получить ее группы объявлений аналогичным образом:

const adGroupIterator = campaign.videoAdGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
  ...
}

В качестве альтернативы вы можете использовать метод AdsApp.videoAdGroups() :

const adGroupIterator = AdsApp.videoAdGroups()
    .withCondition(`campaign.name = "${campaignName}" AND ad_group.name = "${adGroupName}")
    .get();

for (const adGroup of adGroupIterator) {
  ...
}

Создание видеорекламы

Скрипты Google Ads позволяют получать видеорекламу с помощью метода videoAds() класса VideoAdGroup . Вы можете создавать новые видеорекламу с помощью метода newVideoAd() класса VideoAdGroup .

Форматы видеорекламы

Поддерживаемые форматы видеорекламы различаются в зависимости от типа видеокампании. Чтобы убедиться, что вы выбрали правильный тип видеокампании, добавьте вызов withCondition к AdvertisingChannelSubType .

В некоторых видеокампаниях есть подтипы, которые ограничивают поддерживаемые типы рекламы. В частности, кампании VIDEO_ACTION поддерживают только тип рекламы VIDEO_RESPONSIVE , а кампании VIDEO_NON_SKIPPABLE — только тип рекламы NON_SKIPPABLE_INSTREAM_VIDEO_AD .

Лучший способ работать с определенными типами кампаний — использовать предложение withCondition в селекторе. Вы можете обновить AdvertisingChannelSubType для интересующего типа кампании:

const campaignIterator = AdsApp.videoCampaigns()
  .withCondition("AdvertisingChannelSubType = VIDEO_ACTION")
  .get();

Видеокампании без подтипа поддерживают следующие форматы видеорекламы:

  • TrueView в потоке
  • TrueView видео обнаружение
  • Бампер

Вы можете выбрать эти кампании с помощью withCondition :

const campaignIterator = AdsApp.videoCampaigns()
  .withCondition("AdvertisingChannelSubType = null")
  .get();

Видеореклама In-Stream может воспроизводиться до, во время или после других видео, предоставляя пользователям возможность пропустить её по истечении определённого времени. Реклама Video Discovery отображается в контекстно-медийной сети и на различных страницах YouTube и воспроизводится только в том случае, если пользователь сначала нажмёт на миниатюру объявления. Реклама-заставка длится не более 6 секунд и может появляться в видеороликах YouTube, а также на партнёрских сайтах и ​​в приложениях в контекстно-медийной сети. Подробнее о каждом из этих типов рекламы см. в разделе «О форматах видеорекламы» .

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

Группа видеообъявлений создаётся с помощью метода newVideoAdGroupBuilder() видеокампании. При её создании необходимо указать тип и название группы объявлений. Тип группы объявлений должен быть одним из следующих и не может быть изменён после её создания:

  • VIDEO_BUMPER
  • VIDEO_EFFICIENT_REACH
  • VIDEO_NON_SKIPPABLE_IN_STREAM (только для кампаний VIDEO_NON_SKIPPABLE )
  • VIDEO_RESPONSIVE (только для кампаний VIDEO_ACTION )
  • VIDEO_TRUE_VIEW_IN_DISPLAY
  • VIDEO_TRUE_VIEW_IN_STREAM
  • YOUTUBE_AUDIO

Пример:

const videoAdGroup =
    videoCampaign.newVideoAdGroupBuilder()
    .withAdGroupType("VIDEO_TRUE_VIEW_IN_STREAM")
    .withName("Video Ad Group")
    .build()
    .getResult();

Создайте видеоактив

Видеореклама обычно должна ссылаться на видеоресурс. Это определяет, какой видеоролик будет воспроизводиться в рекламе. Вы не можете загрузить видео с помощью скриптов, но можете привязать существующее видео YouTube, загруженное ранее, для использования в своей рекламе. Это делается путем создания Asset с помощью YouTubeVideoAssetBuilder .

const assetOperation = AdsApp.adAsset().newYouTubeVideoAssetBuilder()
   .withName("name")
   // This is the ID in the URL for the YouTube video.
   .withYouTubeVideoId(youTubeVideoId)
   .build();
const videoAsset = assetOperation.getResult();

Создайте рекламу

Чтобы создать новое объявление, используйте метод конструктора, соответствующий типу группы объявлений (расположен в цепочке после newVideoAd() ):

Пример:

const videoAd = videoAdGroup.newVideoAd()
    .inStreamAdBuilder()
    .withAdName("Video Ad")
    .withFinalUrl(
        "http://www.example.com/video-ad")
    // Specify the video asset created in the last step.
    .withVideo(video)
    .build()
    .getResult();

Видеотаргетинг

Существует два типа релевантного таргетинга для видеокампаний. VideoCampaignTargeting представляет собой любой таргетинг, применяемый на уровне аккаунта для видеокампаний в целом, и доступ к нему осуществляется с помощью AdsApp.videoCampaignTargeting() . Его нельзя изменить с помощью скриптов, но можно просмотреть.

Другой тип таргетинга позволяет задавать критерии для видеокампаний и групп видеорекламы по отдельности. Доступ к нему осуществляется с помощью метода videoTargeting() кампании или группы объявлений. Он предоставляет доступ к селекторам и конструкторам как положительных, так и отрицательных критериев для всех типов, применимых к данному уровню таргетинга. Метод AdsApp.videoTargeting() также предназначен для просмотра критериев на уровне аккаунта и включает набор критериев, отличный от AdsApp.videoCampaignTargeting() . Как и в случае VideoCampaignTargeting , управлять этими критериями с помощью скриптов невозможно.

Вот пример исключения определенного места размещения в кампании:

videoCampaign.videoTargeting().newPlacementBuilder()
    .withUrl("http://www.example.com")
    .exclude();

Критерии для демографических данных (возраст, пол) работают немного иначе, чем критерии других типов. При создании новой группы объявлений автоматически создаются критерии для каждого возможного значения возраста и пола, и эта группа объявлений охватывает все эти значения. Вы можете исключить демографическую группу, извлекая существующий таргетинг и вызывая для него метод exclude() . Вы также можете повторно включить исключённую демографическую группу, находя существующий таргетинг исключения и вызывая метод include() .

Вот пример исключения определенного пола из группы объявлений:

const videoGenderIterator = videoAdGroup.videoTargeting()
    .genders()
    .withCondition('GenderType = "GENDER_MALE"')
    .get();
if (videoGenderIterator.hasNext()) {
  const videoGender = videoGenderIterator.next();
  videoGender.exclude();
}