Скрипты 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()
):
-
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();
}