หากต้องการสร้างแคมเปญ Demand Gen ใหม่ตั้งแต่ต้น คุณต้องสร้างสิ่งต่อไปนี้อย่างน้อย
- ชิ้นงานระดับบัญชี
- แคมเปญเอง
- งบประมาณ
- กลุ่มโฆษณา
- โฆษณาในกลุ่มโฆษณา
- โฆษณา
- ชิ้นงานระดับบัญชี
แคมเปญและงบประมาณมีประโยชน์ในการสร้างแคมเปญทุกประเภท ในขณะที่การตั้งค่าบางอย่างภายในโฆษณากลุ่มโฆษณาจะมีประโยชน์อย่างยิ่งสําหรับ การสร้างแคมเปญ Demand Gen ไปที่คู่มือชิ้นงาน Demand Gen เพื่อดูวิธีสร้างชิ้นงานโดยใช้สคริปต์
โปรดทำความคุ้นเคยกับกลยุทธ์การเปลี่ยนแปลง เนื่องจากคู่มือนี้จะให้เฉพาะออบเจ็กต์ JavaScript ที่จะใช้ในการเปลี่ยนแปลง
งบประมาณ
งบประมาณต้องไม่ใช้ร่วมกัน และต้องมีชื่อที่ไม่ซ้ำกันในบัญชี สําหรับการเสนอราคาที่อิงตาม Conversion แนวทางปฏิบัติแนะนําคือการตั้งงบประมาณรายวันให้สูงกว่า CPA ที่คาดไว้อย่างน้อย 15 เท่า สําหรับการเสนอราคาตามมูลค่า ให้ตั้งงบประมาณรายวันมากกว่า 20 เท่าของมูลค่า Conversion เฉลี่ยที่คาดไว้/tROAS ใช้CampaignBudgetOperationเพื่อสร้างงบประมาณ
const budgetOperation = {
"campaignBudgetOperation": {
"create": {
"resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
"name": "Demand Gen campaign budget",
"amountMicros": "50000000",
"deliveryMethod": "STANDARD",
"explicitlyShared": false
}
}
}
operations.push(budgetOperation);
แคมเปญ
แคมเปญต้องอ้างอิงงบประมาณ คุณจึงต้องใช้ชื่อทรัพยากร
งบประมาณที่แน่นอนซึ่งคุณสร้างขึ้นในขั้นตอนก่อนหน้าเพื่อระบุและใช้ออบเจ็กต์
งบประมาณที่เฉพาะเจาะจงนั้น ใช้ CampaignOperation
const campaignOperation = {
"campaignOperation": {
"create": {
"resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
"name": "Demand Gen campaign",
"status": "PAUSED",
"advertisingChannelType": "DEMAND_GEN",
"campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
"biddingStrategyType": "TARGET_CPA",
"startDate": "20240314",
"endDate": "20250313",
"urlExpansionOptOut": false,
"targetCpa": {
"targetCpaMicros": 1000000
},
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
}
operations.push(campaignOperation);
กลุ่มโฆษณา
กลุ่มโฆษณาต้องอ้างอิงแคมเปญ ดังนั้นคุณจะต้องใช้ชื่อทรัพยากรแคมเปญ ที่แน่นอนซึ่งสร้างขึ้นในขั้นตอนก่อนหน้าเพื่อระบุและใช้ออบเจ็กต์แคมเปญ นั้น นอกจากนี้ คุณยังต้องมีรหัสชั่วคราวสำหรับกลุ่มโฆษณาด้วย ซึ่งควร จัดเก็บเป็นตัวแปรใหม่เพื่อให้ใช้ได้เมื่อสร้างโฆษณากลุ่มโฆษณา
เมื่อสร้างกลุ่มโฆษณาสําหรับแคมเปญ Demand Gen คุณยังกําหนดค่า
การควบคุมแชแนลเพื่อตัดสินใจว่าจะให้โฆษณาแสดงที่ใดได้ด้วย เราขอแนะนําให้ใช้กลุ่มโฆษณาหลายกลุ่มต่อแคมเปญสําหรับ Demand Gen ซึ่งแตกต่างจากแคมเปญประเภทอื่นๆ
เนื่องจากระบบจะจัดสรรงบประมาณตามประสิทธิภาพของกลุ่มโฆษณา ในตอนนี้
คุณสามารถสร้างกลุ่มโฆษณาได้เพียงกลุ่มเดียวโดยใช้AdGroupOperation
const adGroupId = getNextTempId();
const adGroupOperation = {
"adGroupOperation": {
"create": {
"resourceName": `customers/${customerId}/adGroups/${adGroupId}`,
"name": "Demand Gen ad group",
"status": "PAUSED",
"campaign": campaignOperation.campaignOperation.create.resourceName,
"demand_gen_ad_group_settings": {
"channel_controls": {
"selected_channels": {
"gmail": false,
"discover": false,
"display": false,
"youtube_in_feed": true,
"youtube_in_stream": true,
"youtube_shorts": true
}
}
}
}
}
}
operations.push(adGroupOperation);
โฆษณาในกลุ่มโฆษณาที่มีโฆษณาที่ซ้อนกัน
ขั้นตอนนี้จะสร้างโฆษณากลุ่มโฆษณา ซึ่งจะเชื่อมโยงกลุ่มโฆษณากับโฆษณา โฆษณาของกลุ่มโฆษณาต้องอ้างอิงกลุ่มโฆษณา ดังนั้นคุณจะต้องใช้ชื่อทรัพยากรที่แน่นอน
ซึ่งคุณตั้งค่าไว้ในขั้นตอนก่อนหน้า คุณสร้างโฆษณาได้ในการดำเนินการเดียวกัน
ตัวอย่างที่แสดงที่นี่สร้างโฆษณาวิดีโอ Demand Gen ที่ปรับตามพื้นที่โฆษณาโดยใช้
DemandGenVideoResponsiveAdInfo หรือคุณจะปรับตัวอย่างเพื่อสร้าง
โฆษณาแบบหลายชิ้นงานโดยใช้ DemandGenMultiAssetAdInfo, โฆษณาแบบภาพสไลด์โดยใช้
DemandGenCarouselAdInfo หรือโฆษณาผลิตภัณฑ์โดยใช้
DemandGenProductAdInfo ก็ได้
หากต้องการสร้างโฆษณากลุ่มโฆษณา ให้ใช้ AdGroupAdOperation ที่มีตัวแปรรหัสกลุ่มโฆษณาเดียวกันซึ่งสร้างขึ้นในขั้นตอนก่อนหน้า
const adGroupAdOperation = {
"adGroupAdOperation": {
"create": {
"resourceName": `customers/${customerId}/adGroupAds/${adGroupId}~${getNextTempId()}`,
"adGroup": adGroupOperation.adGroupOperation.create.resourceName,
"status": "PAUSED",
"ad": {
"name": "Demand Gen video responsive ad",
"finalUrls": [
"http://www.example.com"
],
"demandGenVideoResponsiveAd": {
"businessName": {
"text": "Demand Gen business"
},
"videos": [
{ "asset": videoAsset.assetOperation.create.resourceName }
],
"logoImages": [
{ "asset": imageAsset.assetOperation.create.resourceName }
],
"headlines": [
{ "text": "Demand Gen responsive video" }
],
"longHeadlines": [
{ "text": "Make a Demand Gen video responsive ad today" }
],
"description": [
{ "text": "This is an example of a Demand Gen video responsive ad"}
]
}
}
}
}
}
operations.push(adGroupAdOperation);