视频广告系列

借助 Google Ads 脚本,您可以管理 YouTube 视频广告系列并生成相关报告。您可以使用脚本来管理现有视频广告系列、制作和管理广告组和广告、为广告系列设置定位以及生成报告。但不能使用脚本来制作视频广告系列。

检索视频广告系列和广告组

视频广告系列可通过 AdsApp 对象的 videoCampaigns 集合找到。您可以检索这些广告系列,就像您平常在脚本中检索广告系列一样:

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 脚本,您可以使用 VideoAdGroupvideoAds() 方法检索视频广告。您可以使用 VideoAdGroupnewVideoAd() 方法制作新的视频广告。

视频广告格式

支持的视频广告格式因视频广告系列类型而异。为确保您选择正确的视频广告系列类型,请对 AdvertisingChannelSubType 添加 withCondition 调用。

某些视频广告系列具有子类型,会限制相应广告系列所支持的广告类型。具体来说,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();

插播视频广告可以在其他视频播放前、播放过程中或播放后播放,让用户可以选择在指定时间过后跳过广告。视频发现广告在展示广告网络和各种 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 视频,以便在您的广告中使用。为此,您可以使用 YouTubeVideoAssetBuilder 创建一个 Asset

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() 进行访问。此 ID 无法通过脚本进行修改,但可以查看。

通过另一类定位条件,您可以分别为视频广告系列和广告组指定条件。可以使用广告系列或广告组的 videoTargeting() 方法访问此 ID,还可以访问选择器和构建器,获取适用于相应定位级别的所有类型的肯定条件和否定条件。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();
}