Tạo mục hàng

Một mục hàng đặt giá thầu cho lượt hiển thị và phân phát khoảng không quảng cáo đã mua. Các tài nguyên LineItem sẽ thực hiện việc này dựa trên ngân sách, chiến lược giá thầu và tiêu chí nhắm mục tiêu đã đặt.

Mục hàng trên YouTube và mục hàng Tạo nhu cầu có các tài nguyên con được gọi là nhóm quảng cáo. Nhóm quảng cáo cung cấp một cấp độ nhắm mục tiêu khác trong một ngân sách mục hàng duy nhất.

Chọn cấu hình

Trước khi tạo một mục hàng, hãy xem xét và quyết định các chế độ cài đặt sau:

Tài nguyên LineItem cũng có nhiều trường không bắt buộc. Một số chỉ được dùng cho một số loại mục hàng. Hãy đọc tài liệu tham khảo để biết thêm thông tin.

Chọn mẫu quảng cáo

Bạn cần chỉ định ít nhất một mẫu quảng cáo hợp lệ, được phê duyệt cho mục hàng trước khi mục hàng bắt đầu phân phát. Loại mục hàng sẽ hạn chế loại mẫu quảng cáo mà bạn có thể chỉ định.

Sử dụng hàm list của mẫu quảng cáo để truy xuất các mẫu quảng cáo hiện có. Nếu bạn cần tạo mẫu quảng cáo mới cho mục hàng, hãy làm theo hướng dẫn Chỉ định mẫu quảng cáo. Chỉ định mẫu quảng cáo cho mục hàng bằng mã nhận dạng của mẫu quảng cáo.

Cách tạo mục hàng

Dưới đây là cách tạo một mục hàng hiển thị với các chế độ cài đặt sau:

  • Một chuyến bay và ngân sách được kế thừa.
  • Mô hình doanh thu đối tác là 0,1% tổng chi phí truyền thông.
  • Một chiến lược giá thầu được đặt để tối đa hoá mức chi tiêu dựa trên số lượt hiển thị có thể xem.

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 list of IDs of the creative resources that the line item will
// serve.
List<Long> creativeIds = creative-ids;

// 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_DISPLAY_DEFAULT")
        .setEntityStatus("ENTITY_STATUS_DRAFT")
        .setCreativeIds(creativeIds)
        .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_UNLIMITED");
lineItem.setBudget(lineItemBudget);

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

// Create and set the frequency cap.
FrequencyCap frequencyCap =
    new FrequencyCap().setTimeUnit("TIME_UNIT_DAYS").setTimeUnitCount(1).setMaxImpressions(10);
lineItem.setFrequencyCap(frequencyCap);

// 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()
        .setMaximizeSpendAutoBid(
            new MaximizeSpendBidStrategy()
                .setPerformanceGoalType("BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED"));
lineItem.setBidStrategy(biddingStrategy);

// 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 ID.
System.out.printf("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-name

# Provide the list of IDs of the creative resources that the line item will
# serve.
creative_ids = creative-ids

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

# Create a line item object with example values.
line_item_obj = {
    "insertionOrderId": insertion_order_id,
    "displayName": display_name,
    "lineItemType": "LINE_ITEM_TYPE_DISPLAY_DEFAULT",
    "entityStatus": "ENTITY_STATUS_DRAFT",
    "flight": {"flightDateType": "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED"},
    "budget": {
        "budgetAllocationType": "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED"
    },
    "pacing": {
        "pacingPeriod": "PACING_PERIOD_FLIGHT",
        "pacingType": "PACING_TYPE_ASAP",
        "dailyMaxMicros": 10000,
    },
    "frequencyCap": {
        "timeUnit": "TIME_UNIT_DAYS",
        "timeUnitCount": 1,
        "maxImpressions": 10,
    },
    "partnerRevenueModel": {
        "markupType": (
            "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP"
        ),
        "markupAmount": 100,
    },
    "creativeIds": creative_ids,
    "bidStrategy": {
        "maximizeSpendAutoBid": {
            "performanceGoalType": (
                "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED"
            )
        }
    },
    "contains_eu_political_ads": contains_eu_political_ads,
}

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

# Display the new line item.
print(f"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 list of IDs of the creative resources that the line item
// will serve.
$creativeIds =  creative-ids;

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

// Create the line item structure.
$lineItem = new Google_Service_DisplayVideo_LineItem();
$lineItem->setInsertionOrderId($insertionOrderId);
$lineItem->setDisplayName($displayName);
$lineItem->setLineItemType('LINE_ITEM_TYPE_DISPLAY_DEFAULT');
$lineItem->setEntityStatus('ENTITY_STATUS_DRAFT');
$lineItem->setCreativeIds($creativeIds);
$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_UNLIMITED'
);
$lineItem->setBudget($budget);

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

// Create and set the frequency cap.
$frequencyCap = new Google_Service_DisplayVideo_FrequencyCap();
$frequencyCap->setMaxImpressions(10);
$frequencyCap->setTimeUnit('TIME_UNIT_DAYS');
$frequencyCap->setTimeUnitCount(1);
$lineItem->setFrequencyCap($frequencyCap);

// 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.
$maxSpendBidStrategy = new Google_Service_DisplayVideo_MaximizeSpendBidStrategy();
$maxSpendBidStrategy->setPerformanceGoalType('BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED');
$biddingStrategy = new Google_Service_DisplayVideo_BiddingStrategy();
$biddingStrategy->setMaximizeSpendAutoBid($maxSpendBidStrategy);
$lineItem->setBidStrategy($biddingStrategy);

// 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 ID.
printf('<p>Line Item %s was created.</p>', $result['name']);