Назначьте алгоритм ресурсу, как только он будет готов.
Проверьте, готов ли алгоритм.
Для того чтобы алгоритмическая модель была готова к обучению, она должна быть подготовлена на минимальном объеме данных .
Алгоритмы обучают модель для каждого рекламодателя, который может их использовать. Обучение моделей происходит на основе существующих данных о показах. Обучение модели может занять от 1 до 3 дней после того, как рекламодатель выполнит необходимые требования к данным .
Получите из алгоритма информацию о готовности каждой модели . 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'] );