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

Скрипты 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 Рекламы позволяют получать видеорекламу с помощью метода 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 In-Stream
  • Обнаружение видео TrueView
  • Бампер

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

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

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

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

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

  • TRUE_VIEW_IN_STREAM
  • TRUE_VIEW_IN_DISPLAY
  • BUMPER
  • VIDEO_RESPONSIVE (только для кампаний VIDEO_ACTION )
  • NON_SKIPPABLE_INSTREAM_VIDEO_AD (только для кампаний VIDEO_NON_SKIPPABLE )

Пример:

const videoAdGroup =
    videoCampaign.newVideoAdGroupBuilder()
    .withAdGroupType("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();
}