Mục hàng Tạo nhu cầu phân phát các nhóm quảng cáo và quảng cáo ở nhiều định dạng trên các nền tảng có sức ảnh hưởng lớn nhất của Google, bao gồm cả YouTube, Mạng Khám phá, Gmail và Mạng Hiển thị của Google. Giống như các loại mục hàng khác, mục hàng Chiến dịch tạo nhu cầu được quản lý bằng tài nguyên LineItem và hoạt động 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. Ngoài ra, bạn cũng có thể sử dụng các chế độ cài đặt dành riêng cho mục hàng Tạo nhu cầu trong trường demandGenSettings.
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 độ kiểm soát khác trong mục hàng riêng lẻ.
Chọn cấu hình
Trước khi tạo một mục hàng Tạo nhu cầu, hãy xem xét và quyết định các chế độ cài đặt có liên quan.
Đối với mục hàng Tạo nhu cầu:
- Bạn phải đặt
lineItemTypethànhLINE_ITEM_TYPE_DEMAND_GEN. - Bạn phải đặt
bidStrategybằng cách sử dụng trườngdemandGenBidcủa đối tượngBiddingStrategy. - Bạn phải đặt
budgetthành một số tiền cố định ở cấp mục hàng và không thể kế thừa từ đơn đặt hàng quảng cáo gốc. demandGenSettingsđược dùng để đặt các cấu hình dành riêng cho mục hàng Demand Gen. TrườnggeoLanguageTargetingEnabledcủa đối tượngDemandGenSettingskiểm soát việc tiêu chí nhắm mục tiêu theo vị trí và ngôn ngữ được đặt ở cấp mục hàng hay cho từng nhóm quảng cáo. Bạn không thể cập nhật trường này sau khi tạo mục hàng. Đặt trường thànhtruenếu bạn muốn định cấu hình tiêu chí nhắm mục tiêu này ở cấp mục hàng.- Bạn không nên đặt
creativeIds. Thành phần được chỉ định và định cấu hình trực tiếp trong tài nguyên AdGroupAd.
Các trường sau đây là trường bắt buộc đối với mục hàng của chiến dịch Tạo nhu cầu và hoạt động giống như trong các loại mục hàng khác:
Tài nguyên LineItem cũng có nhiều trường không bắt buộc mà bạn có thể đặt. Hãy đọc tài liệu tham khảo để biết thêm thông tin.
Tạo mục hàng
Sau đây là cách tạo một mục hàng Tạo nhu cầu với các chế độ cài đặt sau:
- Một chuyến bay được kế thừa và ngân sách là 1.000.000 VND.
- 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 tối ưu hoá cho chi phí trung bình là 100.000 VND cho mỗi lượt chuyển đổi.
Lựa chọn ưu tiên để chỉ định tiêu chí nhắm mục tiêu theo vị trí và ngôn ngữ trực tiếp cho nhóm quảng cáo trong mục hàng.
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']);