委刊項會對曝光出價,並放送已購買廣告空間的廣告素材。
LineItem 資源會根據設定的預算、出價策略和指定目標,自動執行這項操作。
YouTube 和需求開發委刊項有稱為廣告群組的子資源。廣告群組提供單一委刊項預算下的另一層級指定目標。
選擇設定
建立目標項目之前,請先查看並決定下列設定:
LineItem 資源也有許多選填欄位。部分參數僅供特定類型的委刊項使用。詳情請參閱參考說明文件。
選擇廣告素材
您必須先為委刊項指派至少一個通過核准的有效廣告素材,委刊項才能開始放送。委刊項類型會限制可指派的廣告素材種類。
使用廣告素材 list 函式擷取現有廣告素材。如要為委刊項建立新的廣告素材,請參閱「指派廣告素材」指南。使用廣告素材 ID 將廣告素材指派給委刊項。
如何建立委刊項
如要使用下列設定建立多媒體委刊項,請按照下列步驟操作:
- 沿用檔期和預算。
- 夥伴收益模式為媒體費用總額的 0.1%。
出價策略設為根據可視曝光盡量提高支出。
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']);