Attribuez l'algorithme à une ressource une fois qu'il est prêt.
Vérifier si l'algorithme est prêt
Un modèle d'algorithme doit s'entraîner sur une quantité minimale de données avant d'être prêt.
Les algorithmes entraînent un modèle pour chaque annonceur qui peut les utiliser. Les modèles s'entraînent sur les données d'impressions existantes. L'entraînement d'un modèle peut prendre entre un et trois jours une fois que l'annonceur a rempli les exigences concernant les données.
Récupérez l'état de préparation de chaque modèle à partir de l'algorithme. Le ReadinessState détermine les prochaines étapes :
ReadinessState | |
|---|---|
READINESS_STATE_NO_VALID_SCRIPT |
Aucun script valide. Importez un nouveau script ou un nouveau fichier de règles. |
READINESS_STATE_EVALUATION_FAILURE |
Aucun script n'a pu être évalué dans le temps imparti. Importez un nouveau script ou un nouveau fichier de règles. |
READINESS_STATE_INSUFFICIENT_DATA |
Les données disponibles pour l'annonceur ne sont pas suffisantes pour entraîner le modèle. Continuez à diffuser des campagnes pour l'annonceur afin de répondre aux exigences minimales en termes de données. |
READINESS_STATE_TRAINING |
Le modèle est en cours d'entraînement sur des données existantes et n'est pas prêt à être diffusé. Patientez 12 à 24 heures avant de vérifier si le modèle est prêt à être diffusé. |
READINESS_STATE_ACTIVE |
Le modèle est entièrement entraîné et prêt à être attribué aux campagnes de l'annonceur. |
Attribuer un algorithme à un élément de campagne
Un algorithme est utilisé pour mesurer et ajuster les performances des enchères. Vous pouvez l'utiliser avec des stratégies d'enchères qui optimisent les dépenses de l'intégralité du budget ou l'atteinte d'un objectif. Dans ce cas, le type d'objectif de performances de la stratégie serait BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO.
Voici comment modifier un élément de campagne pour qu'il utilise un algorithme avec une stratégie d'enchères qui optimise les dépenses de l'intégralité du budget :
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'] );