ก่อนสร้างแคมเปญ Demand Gen คุณควรนำเข้าชิ้นงานทั้งหมดที่วางแผนจะใช้ในแคมเปญ คุณสามารถกลับมาเพิ่มชิ้นงานได้ทุกเมื่อ แต่คุณต้องมีชิ้นงานชุดหนึ่งเพื่อเริ่มต้น
ดูข้อกําหนดและแนวทางปฏิบัติแนะนำสําหรับชิ้นงานในแคมเปญ Demand Gen ขณะวางแผนแคมเปญ
ชิ้นงานรูปภาพและวิดีโอเป็นชิ้นงานประเภทหลัก และคู่มือนี้จะแสดงวิธีอัปโหลดชิ้นงานแต่ละประเภท คุณสามารถขยายหลักการเหล่านี้ไปยังชิ้นงานประเภทอื่นๆ ได้ด้วย ไม่ว่าคุณจะสร้างชิ้นงานประเภทใด ให้ใช้
AssetOperation เพื่อสร้างชิ้นงาน
คุณสามารถสร้างชิ้นงานโดยใช้ AdsApp โดยไม่ต้องใช้ mutate แต่เพื่อให้เกิดความสอดคล้อง คู่มือนี้จะแสดงวิธีสร้างชิ้นงานในลักษณะเดียวกับการดำเนินการอื่นๆ ทั้งหมด โปรดทราบว่าคุณสามารถและควรนำชิ้นงานที่มีอยู่กลับมาใช้ซ้ำหากมีชิ้นงานที่พร้อมใช้งาน ดังนั้น แม้ว่าคุณจะต้องมีชิ้นงานเพื่อสร้างแคมเปญ Demand Gen แต่คุณอาจไม่จำเป็นต้อง สร้าง ชิ้นงานเป็นส่วนหนึ่งของกระบวนการสร้างแคมเปญ
ชิ้นงานรูปภาพ
ระบบจะอัปโหลดชิ้นงานรูปภาพในรูปแบบที่เข้ารหัส Base64 เนื่องจากคุณอัปโหลดรูปภาพลงในสคริปต์ Google Ads โดยตรงไม่ได้ คุณจึงมีตัวเลือก 2 วิธีในการรับข้อมูลรูปภาพและเข้ารหัสเพื่ออัปโหลด
หากต้องการดึงรูปภาพจาก Google ไดรฟ์ ขั้นแรกคุณจะต้องมีรหัสของรูปภาพ ซึ่งเป็น วิธีที่ดีที่สุดในการระบุรูปภาพที่ไม่ซ้ำกัน วิธีหนึ่งในการรับรหัสคือการคัดลอกลิงก์ที่แชร์ได้จาก UI ของ Google ไดรฟ์ แล้วแยกข้อมูลรหัสออกมา นอกจากนี้ คุณยังดึงไฟล์หลายไฟล์แบบเป็นโปรแกรมและเลือกไฟล์ที่ต้องการอัปโหลดได้ด้วย โค้ดนี้แสดงวิธีอัปโหลดรูปภาพเดียวที่มีรหัสที่ทราบ
const file = DriveApp.getFileById(fileId);
const imageAsset = {
"assetOperation": {
"create": {
"resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
"name": "Marketing Logo",
"type": "IMAGE",
"imageAsset": {
"data": Utilities.base64Encode(file.getBlob().getBytes())
}
}
}
}
หรือคุณจะดึงรูปภาพที่โฮสต์อยู่ในเว็บเซิร์ฟเวอร์ตาม URL โดยใช้ UrlFetchApp ก็ได้
const file = UrlFetchApp.fetch(imageUrl);
จากนั้นคุณสามารถเรียก getBlob ในไฟล์นี้ได้เช่นเดียวกับไฟล์ในไดรฟ์ ดังนั้นโครงสร้างการดำเนินการจึงเหมือนกับขั้นตอนสำหรับไฟล์ใน Google ไดรฟ์
ชิ้นงานวิดีโอ
ระบบจะจัดการชิ้นงานวิดีโอผ่านวิดีโอ YouTube หากคุณ อัปโหลดชิ้นงานเป็นส่วนหนึ่งของกระบวนการสร้างแคมเปญ ให้ใช้ รหัสชั่วคราว มิฉะนั้น ให้จดชื่อทรัพยากรที่แสดงผลเพื่อใช้ในการดำเนินการในอนาคตเมื่อคุณต้องการอ้างอิงชิ้นงานเพื่อเพิ่มลงในกลุ่มชิ้นงาน
const videoAsset = {
"assetOperation": {
"create": {
"resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
"name": "Marketing video",
"type": "YOUTUBE_VIDEO",
"youtube_video_asset": {
"youtube_video_title": "Demand Gen video",
"youtube_video_id": "123456789"
}
}
}
}
operations.push(videoAsset);