عيِّن الخوارزمية لمورد ما بعد أن تصبح جاهزة.
التحقّق مما إذا كانت الخوارزمية جاهزة
يجب أن يتم تدريب نموذج الخوارزمية على الحدّ الأدنى من البيانات قبل أن يصبح جاهزًا.
تدرّب الخوارزميات نموذجًا لكل معلِن يمكنه استخدامها. يتم تدريب النماذج على بيانات مرات الظهور الحالية. قد يستغرق تدريب النموذج من يوم إلى ثلاثة أيام بعد أن يستوفي المعلِن متطلبات البيانات.
استرداد مدى جاهزية كل نموذج من الخوارزمية يحدّد
ReadinessState الخطوات التالية:
ReadinessState | |
|---|---|
READINESS_STATE_NO_VALID_SCRIPT |
لا يوجد نص برمجي صالح. حمِّل نصًا برمجيًا أو ملف قواعد جديدًا. |
READINESS_STATE_EVALUATION_FAILURE |
لا يتوفّر أي نص برمجي يمكن تقييمه خلال الوقت المخصّص. حمِّل نصًا برمجيًا أو ملف قواعد جديدًا. |
READINESS_STATE_INSUFFICIENT_DATA |
لا تتوفّر كمية كافية من البيانات ضمن حساب المعلِن لتدريب النموذج. مواصلة عرض الحملات ضمن حساب المعلِن لاستيفاء الحدّ الأدنى من متطلبات البيانات |
READINESS_STATE_TRAINING |
يتم تدريب النموذج على البيانات الحالية وهو غير جاهز للعرض. انتظِر من 12 إلى 24 ساعة قبل التحقّق ممّا إذا كان النموذج جاهزًا للعرض. |
READINESS_STATE_ACTIVE |
النموذج مدرَّب بالكامل وجاهز ليتمّ تعيينه للحملات ضمن حساب المعلِن. |
تحديد خوارزمية لبند إعلاني
يتم استخدام خوارزمية لقياس أداء عروض الأسعار وتعديله. يمكن استخدامها مع استراتيجيات عروض الأسعار التي تعمل على تحسين الأداء من أجل إنفاق الميزانية بأكملها أو تحقيق هدف. في هذه الحالات، سيكون
نوع هدف أداء الاستراتيجية هو
BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO.
في ما يلي كيفية تعديل عنصر حملة لاستخدام خوارزمية مع استراتيجية عروض أسعار تعمل على تحسين إنفاق الميزانية بالكامل:
جافا
// Provide the ID of the advertiser that owns the parent algorithm. long advertiserId = advertiser-id; // Provide the ID of the parent algorithm. long algorithmId = algorithm-id; // Provide the ID of the line item to assign the algorithm to. long lineItemId = line-item-id; // Create the line item structure. LineItem lineItem = new LineItem() .setBidStrategy( new BiddingStrategy() .setMaximizeSpendAutoBid( new MaximizeSpendBidStrategy() .setPerformanceGoalType( "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO") .setCustomBiddingAlgorithmId(algorithmId))); // Configure the patch request and set update mask to only update the bid // strategy. LineItems.Patch request = service .advertisers() .lineItems() .patch(advertiserId, lineItemId, lineItem) .setUpdateMask("bidStrategy"); // Update the line item. LineItem response = request.execute(); // Display the new algorithm ID used by the line item. System.out.printf( "Line item %s now uses algorithm ID %s in its bidding strategy.", response.getName(), response.getBidStrategy().getMaximizeSpendAutoBid().getCustomBiddingAlgorithmId());
Python
# Provide the parent advertiser ID of the line item and creative. advertiser_id = advertiser-id # Provide the ID of the creative to assign. algorithm_id = algorithm-id # Provide the ID of the line item to assign the creative to. line_item_id = line-item-id # Build bidding strategy object. bidding_strategy_obj = { "maximizeSpendAutoBid": { "performanceGoalType": ( "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" ), "customBiddingAlgorithmId": algorithm_id, } } # Build line item object. line_item_obj = {"bidStrategy": bidding_strategy_obj} # Build and execute request. line_item_resp = ( service.advertisers() .lineItems() .patch( advertiserId=advertiser_id, lineItemId=line_item_id, updateMask="bidStrategy", body=line_item_obj, ) .execute() ) # Print the algorithm ID now assigned to the line item. print( f'Line Item {line_item_resp["name"]} now uses algorithm ID' f' {line_item_resp["bidStrategy"]["maximizeSpendAutoBid"]["customBiddingAlgorithmId"]}' " in its bidding strategy." )
PHP
// Provide the ID of the advertiser that owns the parent algorithm. $advertiserId = advertiser-id; // Provide the ID of the parent algorithm. $algorithmId = algorithm-id; // Provide the ID of the line item to assign the algorithm to. $lineItemId = line-item-id; // Create the bidding strategy structure. $maxSpendBidStrategy = new Google_ServiceDisplayVideo_MaximizeSpendBidStrategy(); $maxSpendBidStrategy->setPerformanceGoalType('BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO'); $maxSpendBidStrategy->setCustomBiddingAlgorithmId($algorithmId); $biddingStrategy = new Google_ServiceDisplayVideo_BiddingStrategy(); $biddingStrategy->setMaximizeSpendAutoBid($maxSpendBidStrategy); // Create the line item structure. $lineItem = new Google_Service_DisplayVideo_LineItem(); $lineItem->setBidStrategy($biddingStrategy); $optParams = array('updateMask' => 'bidStrategy'); // Call the API, updating the bid strategy for the identified line // item. try { $result = $this->service->advertisers_lineItems->patch( $advertiserId, $lineItemId, $lineItem, $optParams ); } catch (\Exception $e) { $this->renderError($e); return; } printf( '<p>Line Item %s now uses algorithm ID %s in its bid strategy.</p>', $result['name'], $result['bidStrategy']['maximizeSpendAutoBid']['customBiddingAlgorithmId'] );