אחרי שהאלגוריתם מוכן, מקצים אותו למשאב.
בודקים אם האלגוריתם מוכן
כדי שמודל אלגוריתמי יהיה מוכן לשימוש, הוא צריך לעבור אימון על כמות מינימלית של נתונים.
האלגוריתמים מאמנים מודל לכל מפרסם שיכול להשתמש בהם. המודלים מתאמנים על נתוני חשיפות קיימים. יכול להיות שיחלפו יום עד שלושה ימים עד לאימון המודל אחרי שהמפרסם יעמוד בדרישות הנתונים.
אחזור המוכנות של כל מודל מהאלגוריתם. הקוד 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.
כך מעדכנים פריט הזמנה לשימוש באלגוריתם עם שיטת בידינג שמבצעת אופטימיזציה להוצאת התקציב במלואו:
Java
// 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'] );