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 指令碼可讓您使用 VideoAdGroup
的 videoAds()
方法擷取影片廣告。您可以使用 VideoAdGroup
的 newVideoAd()
方法建立新的影片廣告。
影片廣告格式
支援的影片廣告格式因影片廣告活動類型而異。為確保您選取正確的影片廣告活動,請在 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()
之後的鏈結):
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();
}