Gdy algorytm będzie gotowy, przypisz go do zasobu.
Sprawdź, czy algorytm jest gotowy
Zanim model algorytmu będzie gotowy, musi zostać wytrenowany na minimalnej ilości danych.
Algorytmy trenują model dla każdego reklamodawcy, który może z niego korzystać. Modele trenują na podstawie dotychczasowych danych o wyświetleniach. Trenowanie modelu może potrwać 1–3 dni od momentu spełnienia przez reklamodawcę wymagań dotyczących danych.
Pobierz z algorytmu stan gotowości każdego modelu. ReadinessState określa dalsze kroki:
ReadinessState | |
|---|---|
READINESS_STATE_NO_VALID_SCRIPT |
Brak prawidłowego skryptu. Prześlij nowy skrypt lub plik reguł. |
READINESS_STATE_EVALUATION_FAILURE |
W przydzielonym czasie nie można było ocenić żadnego skryptu. Prześlij nowy skrypt lub plik reguł. |
READINESS_STATE_INSUFFICIENT_DATA |
W przypadku reklamodawcy nie ma wystarczającej ilości danych, aby wytrenować model. Nadal prowadź kampanie na koncie reklamodawcy, aby spełnić minimalne wymagania dotyczące danych. |
READINESS_STATE_TRAINING |
Model jest trenowany na podstawie dotychczasowych danych i nie jest jeszcze gotowy do wyświetlania wyników. Odczekaj 12–24 godziny, zanim sprawdzisz, czy model jest gotowy do wyświetlania. |
READINESS_STATE_ACTIVE |
Model jest w pełni wytrenowany i gotowy do przypisania do kampanii reklamodawcy. |
Przypisywanie algorytmu do elementu zamówienia
Do pomiaru i dostosowywania skuteczności ustalania stawek używany jest algorytm. Możesz jej używać ze strategiami ustalania stawek, które optymalizują wydawanie całego budżetu lub osiąganie celu. W takich przypadkach typ celu skuteczności strategii będzie miał wartość BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO.
Aby zaktualizować element zamówienia, tak aby korzystał z algorytmu ze strategią ustalania stawek, która optymalizuje wydawanie całego budżetu:
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'] );