您可以使用 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();
}