デマンド ジェネレーション広告申込情報では、YouTube、Discover、Gmail、Google ディスプレイ ネットワークなど、Google のインパクトの強いサーフェスに、複数のフォーマットの広告グループと広告が配信されます。デマンド ジェネレーション広告申込情報は、他のタイプの広告申込情報と同様に LineItem リソースを使用して管理され、設定された予算、入札戦略、ターゲティングに基づいて動作します。demandGenSettings フィールドには、デマンド ジェネレーション広告申込情報に固有の設定もあります。
デマンド ジェネレーション広告申込情報には、広告グループという子リソースがあります。広告グループは、個々の広告申込情報の下で別のレベルの制御を提供します。
構成を選択する
デマンド ジェネレーション広告申込情報を作成する前に、関連する設定を確認して決定します。
デマンド ジェネレーション広告申込情報の場合:
lineItemTypeをLINE_ITEM_TYPE_DEMAND_GENに設定する必要があります。bidStrategyは、BiddingStrategyオブジェクトのdemandGenBidフィールドを使用して設定する必要があります。budgetは広告申込情報レベルで固定額に設定する必要があり、親の広告掲載オーダーから継承することはできません。demandGenSettingsは、デマンド ジェネレーション広告申込情報に固有の構成を設定するために使用されます。DemandGenSettingsオブジェクトのgeoLanguageTargetingEnabledフィールドは、地域とターゲット言語のターゲティングが広告申込情報レベルで設定されているか、個々の広告グループに設定されているかを制御します。このフィールドは、広告申込情報の作成後に更新することはできません。このターゲティングを広告申込情報単位で設定する場合は、フィールドをtrueに設定します。creativeIdsは設定しないでください。アセットは AdGroupAd リソースで直接割り当てられ、構成されます。
デマンド ジェネレーション広告申込情報では、次のフィールドが必須です。これらのフィールドは、他のタイプの広告申込情報と同じように機能します。
LineItem リソースには、設定可能な多くのオプション フィールドもあります。詳細については、リファレンス ドキュメントをご覧ください。
広告申込情報を作成する
次の設定でデマンド ジェネレーション広告申込情報を作成する方法は次のとおりです。
- 継承されたフライトと $100 の予算。
- 合計メディア費用の 0.1% のパートナーの収益モデル。
- コンバージョン 1 件あたりの平均費用が 10 ドルになるように最適化する入札戦略。
広告申込情報で地域とターゲット言語のターゲティングを広告グループに直接割り当てる設定。
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 with example values. 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.")