Atribua o algoritmo a um recurso quando ele estiver pronto.
Verificar se o algoritmo está pronto
Um modelo de algoritmo precisa ser treinado com uma quantidade mínima de dados antes de ficar pronto.
Os algoritmos treinam um modelo para cada anunciante que pode usá-los. Os modelos são treinados com dados de impressões atuais. O treinamento de um modelo pode levar de 1 a 3 dias depois que o anunciante atende aos requisitos de dados.
Recupere a prontidão de cada modelo do algoritmo. O
ReadinessState determina as próximas etapas:
ReadinessState | |
|---|---|
READINESS_STATE_NO_VALID_SCRIPT |
Não há um script válido. Faça upload de um novo script ou arquivo de regras. |
READINESS_STATE_EVALUATION_FAILURE |
Não há um script que possa ser avaliado no tempo alocado. Faça upload de um novo script ou arquivo de regras. |
READINESS_STATE_INSUFFICIENT_DATA |
Não há dados suficientes disponíveis para o anunciante treinar o modelo. Continue veiculando campanhas no anunciante para atender aos requisitos mínimos de dados. |
READINESS_STATE_TRAINING |
O modelo está sendo treinado com dados atuais e ainda não está pronto para ser usado. Aguarde de 12 a 24 horas antes de verificar se o modelo está pronto para veiculação. |
READINESS_STATE_ACTIVE |
O modelo está totalmente treinado e pronto para ser atribuído às campanhas do anunciante. |
Atribuir algoritmo ao item de linha
Um algoritmo é usado para medir e ajustar a performance de lances. Ela pode ser usada com estratégias de lances que otimizam o gasto de todo o orçamento ou o alcance de uma meta. Nesses casos, o tipo de meta de performance da estratégia seria BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO.
Veja como atualizar um item de linha para usar um algoritmo com uma estratégia de lances que otimiza o gasto de todo o orçamento:
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'] );