สร้างรายการโฆษณา Demand Gen

รายการบรรทัดของ Demand Gen จะแสดงกลุ่มโฆษณาและโฆษณาในหลายรูปแบบในแพลตฟอร์มที่มีประสิทธิภาพสูงสุดของ Google ซึ่งรวมถึง YouTube, Discover, Gmail และเครือข่าย Display ของ Google รายการโฆษณา Demand Gen เช่นเดียวกับรายการโฆษณาประเภทอื่นๆ ได้รับการจัดการโดยใช้ทรัพยากร LineItem และทํางานตามงบประมาณ กลยุทธ์การเสนอราคา และการกําหนดเป้าหมายที่ตั้งไว้ นอกจากนี้ ยังมีการตั้งค่าเฉพาะสำหรับรายการโฆษณา Demand Gen ในช่องdemandGenSettings ด้วย

รายการโฆษณา Demand Gen มีทรัพยากรย่อยที่เรียกว่ากลุ่มโฆษณา กลุ่มโฆษณาช่วยให้คุณควบคุมได้อีกระดับภายใต้รายการโฆษณาแต่ละรายการ

เลือกการกำหนดค่า

ก่อนสร้างรายการโฆษณา Demand Gen โปรดตรวจสอบและตัดสินใจเลือกการตั้งค่าที่เกี่ยวข้อง

สำหรับรายการโฆษณา Demand Gen

  • ต้องตั้งค่า lineItemType เป็น LINE_ITEM_TYPE_DEMAND_GEN
  • ต้องตั้งค่า bidStrategy โดยใช้ฟิลด์ demandGenBid ของออบเจ็กต์ BiddingStrategy
  • ต้องตั้งค่า budget เป็นจำนวนคงที่ในระดับรายการโฆษณา และไม่สามารถรับค่ามาจากใบสั่งซื้อการใส่โฆษณาระดับบนสุด
  • demandGenSettings ใช้เพื่อตั้งค่าที่เฉพาะเจาะจงสำหรับรายการโฆษณา Demand Gen ฟิลด์ geoLanguageTargetingEnabled ของออบเจ็กต์ DemandGenSettings จะควบคุมว่ามีการกำหนดเป้าหมายตามสถานที่และภาษาที่ระดับรายการโฆษณาหรือที่กลุ่มโฆษณาแต่ละกลุ่มหรือไม่ เมื่อสร้างรายการโฆษณาแล้ว คุณจะอัปเดตช่องนี้ไม่ได้ ตั้งค่าฟิลด์เป็น true หากต้องการกำหนดค่าการกำหนดเป้าหมายนี้ที่ระดับรายการโฆษณา
  • ไม่ควรตั้งค่า creativeIds ระบบจะกําหนดและกําหนดค่าชิ้นงานโดยตรงในแหล่งข้อมูล AdGroupAd

ต้องใส่ข้อมูลในช่องต่อไปนี้สำหรับรายการโฆษณา Demand Gen และทำงานเหมือนกับในรายการโฆษณาประเภทอื่นๆ

นอกจากนี้ ทรัพยากร LineItem ยังมีช่องที่ไม่บังคับอีกหลายช่องที่อาจ ตั้งค่าได้ อ่านข้อมูลเพิ่มเติมในเอกสารประกอบอ้างอิง

สร้างรายการโฆษณา

วิธีสร้างรายการโฆษณา Demand Gen ด้วยการตั้งค่าต่อไปนี้

  • เที่ยวบินที่รับช่วงต่อและงบประมาณ $100
  • รูปแบบรายได้ของพาร์ทเนอร์ที่ 0.1% ของค่าใช้จ่ายสื่อทั้งหมด
  • กลยุทธ์การเสนอราคาที่เพิ่มประสิทธิภาพเพื่อให้มีต้นทุนเฉลี่ย 300 บาทต่อ Conversion
  • ค่ากําหนดสําหรับการกําหนดการกําหนดเป้าหมายตามสถานที่และภาษาให้กับกลุ่มโฆษณาโดยตรงภายใต้รายการโฆษณา

Java

// Provide the ID of the parent advertiser.
long advertiserId = advertiser-id

// Provide the ID of the parent insertion order.
long insertionOrderId = insertion-order-id

// Provide the display name of the line item.
String displayName = display-name

// Provide the Floodlight activity ID to use for conversion tracking.
long floodlightActivityId = floodlight-activity-id;

// Provide whether the line item will serve EU political ads.
String containsEuPoliticalAds = contains-eu-political-ads

// Create the line item structure.
LineItem lineItem =
    new LineItem()
        .setInsertionOrderId(insertionOrderId)
        .setDisplayName(displayName)
        .setLineItemType("LINE_ITEM_TYPE_DEMAND_GEN")
        .setEntityStatus("ENTITY_STATUS_DRAFT")
        .setContainsEuPoliticalAds(containsEuPoliticalAds);

// Create and set the line item flight.
LineItemFlight lineItemFlight =
    new LineItemFlight()
        .setFlightDateType("LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED");
lineItem.setFlight(lineItemFlight);

// Create and set the line item budget.
LineItemBudget lineItemBudget =
    new LineItemBudget()
        .setBudgetAllocationType("LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED")
        .setMaxAmount(100000000L);
lineItem.setBudget(lineItemBudget);

// Create and set the pacing setting.
Pacing pacing =
    new Pacing()
        .setPacingPeriod("PACING_PERIOD_FLIGHT")
        .setPacingType("PACING_TYPE_EVEN")
        .setDailyMaxMicros(10_000L);
lineItem.setPacing(pacing);

// Create and set the partner revenue model.
PartnerRevenueModel partnerRevenueModel =
    new PartnerRevenueModel()
        .setMarkupType(
            "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP")
        .setMarkupAmount(100L);
lineItem.setPartnerRevenueModel(partnerRevenueModel);

// Create and set the bidding strategy.
BiddingStrategy biddingStrategy =
    new BiddingStrategy()
        .setDemandGenBid(
            new DemandGenBiddingStrategy()
                .setType("DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA")
                .setValue(10000000L));
lineItem.setBidStrategy(biddingStrategy);

// Create the conversion counting configuration.
ConversionCountingConfig conversionCountingConfig =
    new ConversionCountingConfig()
        .setPostViewCountPercentageMillis(100000L);

// Create and set the configuration for the floodlight activity used in
// conversion tracking.
TrackingFloodlightActivityConfig trackingFloodlightActivityConfig =
    new TrackingFloodlightActivityConfig()
        .setFloodlightActivityId(floodlightActivityId)
        .setPostClickLookbackWindowDays(90)
        .setPostViewLookbackWindowDays(90);
conversionCountingConfig.setFloodlightActivityConfigs(
    ImmutableList.of(trackingFloodlightActivityConfig));

// Set the conversion counting configuration.
lineItem.setConversionCounting(conversionCountingConfig);

// Create and set Demand Gen settings.
DemandGenSettings demandGenSettings =
    new DemandGenSettings().setGeoLanguageTargetingEnabled(false);
lineItem.setDemandGenSettings(demandGenSettings);

// Configure the create request.
LineItems.Create request =
    service.advertisers().lineItems().create(advertiserId, lineItem);

// Create the line item.
LineItem response = request.execute();

// Display the new line item.
System.out.printf(
    "Demand Gen line item %s was created.", response.getName());

Python

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the ID of the parent insertion order.
insertion_order_id = insertion-order-id

# Provide the display name of the line item.
display_name = display-video

# Provide the Floodlight activity ID to use for conversion tracking.
floodlight_activity_id = floodlight-activity-id

# Provide whether the line item will serve EU political ads.
contains_eu_political_ads = contains-eu-political-ads

# Create a line item object.
line_item_obj = {
    "insertionOrderId": insertion_order_id,
    "displayName": display_name,
    "lineItemType": "LINE_ITEM_TYPE_DEMAND_GEN",
    "entityStatus": "ENTITY_STATUS_DRAFT",
    "flight": {"flightDateType": "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED"},
    "budget": {
        "budgetAllocationType": "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED",
        "maxAmount": 100000000
    },
    "pacing": {
        "pacingPeriod": "PACING_PERIOD_FLIGHT",
        "pacingType": "PACING_TYPE_EVEN",
        "dailyMaxMicros": 10000,
    },
    "partnerRevenueModel": {
        "markupType": (
            "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP"
        ),
        "markupAmount": 100,
    },
    "bidStrategy": {
        "demandGenBid": {
            "type": "DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA",
            "value": "10000000"
        }
    },
    "conversionCounting": {
        "postViewCountPercentageMillis": "100000",
        "floodlightActivityConfigs": [
            {
                "floodlightActivityId": floodlight_activity_id,
                "postClickLookbackWindowDays": 90,
                "postViewLookbackWindowDays": 90
            }
        ]
    },
    "containsEuPoliticalAds": contains_eu_political_ads,
    "demandGenSettings": {
        "geoLanguageTargetingEnabled": False
    }
}

# Build and execute request.
response = (
    service.advertisers()
    .lineItems()
    .create(advertiserId=advertiser_id, body=line_item_obj)
    .execute()
)

# Display the new line item.
print(f"Demand Gen line Item {response['name']} was created.")

PHP

// Provide the ID of the parent advertiser.
$advertiserId = advertiser-id;

// Provide the ID of the parent insertion order.
$insertionOrderId = insertion-order-id;

// Provide the display name of the line item.
$displayName = display-name;

// Provide the Floodlight activity ID to use for conversion tracking.
$floodlightActivityId = floodlight-activity-id;

// Provide whether the line item will serve EU political ads.
$containsEuPoliticalAds = contains-eu-political-ads;

// Create the Demand Gen line item structure.
$lineItem = new Google_Service_DisplayVideo_LineItem();
$lineItem->setInsertionOrderId($insertionOrderId);
$lineItem->setDisplayName($displayName);
$lineItem->setLineItemType('LINE_ITEM_TYPE_DEMAND_GEN');
$lineItem->setEntityStatus('ENTITY_STATUS_DRAFT');
$lineItem->setContainsEuPoliticalAds($containsEuPoliticalAds);

// Create and set the line item flight.
$flight = new Google_Service_DisplayVideo_LineItemFlight();
$flight->setFlightDateType('LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED');
$lineItem->setFlight($flight);

// Create and set the line item budget.
$budget = new Google_Service_DisplayVideo_LineItemBudget();
$budget->setBudgetAllocationType(
    'LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED'
);
$budget->setMaxAmount(100000000);
$lineItem->setBudget($budget);

// Create and set the pacing setting.
$pacing = new Google_Service_DisplayVideo_Pacing();
$pacing->setPacingPeriod('PACING_PERIOD_FLIGHT');
$pacing->setPacingType('PACING_TYPE_EVEN');
$pacing->setDailyMaxMicros(10000);
$lineItem->setPacing($pacing);

// Create and set the partner revenue model.
$partnerRevenueModel =
    new Google_Service_DisplayVideo_PartnerRevenueModel();
$partnerRevenueModel->setMarkupType(
    'PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP'
);
$partnerRevenueModel->setMarkupAmount(100);
$lineItem->setPartnerRevenueModel($partnerRevenueModel);

// Create and set the bidding strategy.
$demandGenBidStrategy =
    new Google_Service_DisplayVideo_DemandGenBiddingStrategy();
$demandGenBidStrategy->setType(
    'DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA'
);
$demandGenBidStrategy->setValue(10000000);
$biddingStrategy = new Google_Service_DisplayVideo_BiddingStrategy();
$biddingStrategy->setDemandGenBid($demandGenBidStrategy);
$lineItem->setBidStrategy($biddingStrategy);

// Create and set the conversion counting config.
$conversionCountingConfig =
    new Google_Service_DisplayVideo_ConversionCountingConfig();
$conversionCountingConfig->setPostViewCountPercentageMillis(100000);
$trackingFloodlightActivityConfig =
    new Google_Service_DisplayVideo_TrackingFloodlightActivityConfig();
$trackingFloodlightActivityConfig->setFloodlightActivityId(
    $floodlightActivityId
);
$trackingFloodlightActivityConfig->setPostClickLookbackWindowDays(90);
$trackingFloodlightActivityConfig->setPostViewLookbackWindowDays(90);
$conversionCountingConfig->setFloodlightActivityConfigs(
    array($trackingFloodlightActivityConfig)
);
$lineItem->setConversionCounting($conversionCountingConfig);

// Create and set the Demand Gen settings.
$demandGenSettings =
    new Google_Service_DisplayVideo_DemandGenSettings();
$demandGenSettings->setGeoLanguageTargetingEnabled(false);
$lineItem->setDemandGenSettings($demandGenSettings);

// Call the API, creating the line item under the advertiser and
// insertion order given.
try {
    $result = $this->service->advertisers_lineItems->create(
        $advertiserId,
        $lineItem
    );
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

// Display the new line item.
printf('<p>Demand Gen line item %s was created.</p>', $result['name']);