สคริปต์ 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()
คุณสามารถสร้างโฆษณาวิดีโอใหม่ได้โดยใช้วิธี 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 Video Discovery
- บัมเปอร์
คุณเลือกแคมเปญเหล่านี้ได้โดยใช้ withCondition
const campaignIterator = AdsApp.videoCampaigns()
.withCondition("AdvertisingChannelSubType = null")
.get();
โฆษณาวิดีโอในสตรีมจะเล่นก่อน ระหว่าง หรือหลังวิดีโออื่นๆ โดยให้ผู้ใช้เลือกข้ามโฆษณาได้หลังจากผ่านไปตามเวลาที่ระบุ โฆษณา Video Discovery จะปรากฏในเครือข่าย Display และหน้าต่างๆ ของ YouTube และจะเล่นก็ต่อเมื่อผู้ใช้คลิกภาพขนาดย่อของโฆษณาก่อน โฆษณาบัมเปอร์มีความยาวไม่เกิน 6 วินาที และสามารถปรากฏในวิดีโอ YouTube หรือวิดีโอในเว็บไซต์และแอปของพาร์ทเนอร์ในเครือข่าย Display ดูรายละเอียดทั้งหมดเกี่ยวกับโฆษณาแต่ละประเภทเหล่านี้ได้ที่เกี่ยวกับรูปแบบโฆษณาวิดีโอ
สร้างกลุ่มโฆษณา
คุณสร้างกลุ่มโฆษณาวิดีโอผ่านวิธี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();
การกำหนดเป้าหมายวิดีโอ
การกําหนดเป้าหมายที่เกี่ยวข้องสําหรับแคมเปญวิดีโอมีอยู่ 2 ประเภท 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();
}