Скрипты 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()
):
-
inStreamAdBuilder()
-
videoDiscoveryAdBuilder()
-
bumperAdBuilder()
-
responsiveVideoAdBuilder()
(только для кампанийVIDEO_ACTION
) -
nonSkippableAdBuilder()
(только для кампанийVIDEO_NON_SKIPPABLE
)
Пример:
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();
}