องค์ประกอบที่จำเป็นของ Demand Gen

หากต้องการสร้างแคมเปญ 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);