Algorithmus zuweisen

Weisen Sie der Ressource den Algorithmus zu, sobald sie bereit ist.

Prüfen, ob der Algorithmus bereit ist

Ein Algorithmusmodell muss mit einer Mindestmenge an Daten trainiert werden, bevor es einsatzbereit ist.

Die Algorithmen trainieren ein Modell für jeden Werbetreibenden, der sie verwenden kann. Modelle werden mit vorhandenen Daten zu Impressionen trainiert. Es kann 1 bis 3 Tage dauern, bis ein Modell trainiert ist, nachdem der Werbetreibende die Datenanforderungen erfüllt hat.

Rufen Sie die Bereitschaft jedes Modells vom Algorithmus ab. Die ReadinessState bestimmt die nächsten Schritte:

ReadinessState
READINESS_STATE_NO_VALID_SCRIPT Es ist kein gültiges Script vorhanden. Laden Sie ein neues Script oder eine neue Regeldatei hoch.
READINESS_STATE_EVALUATION_FAILURE Es gibt kein Skript, das in der zugewiesenen Zeit ausgewertet werden könnte. Laden Sie ein neues Script oder eine neue Regeldatei hoch.
READINESS_STATE_INSUFFICIENT_DATA Es sind nicht genügend Daten für den Werbetreibenden verfügbar, um das Modell zu trainieren. Schalten Sie weiterhin Kampagnen für den Werbetreibenden, um die Mindestanforderungen an Daten zu erfüllen.
READINESS_STATE_TRAINING Das Modell wird mit vorhandenen Daten trainiert und kann noch nicht bereitgestellt werden. Warten Sie 12 bis 24 Stunden, bevor Sie prüfen, ob das Modell bereitgestellt werden kann.
READINESS_STATE_ACTIVE Das Modell ist vollständig trainiert und kann Kampagnen unter dem Werbetreibenden zugewiesen werden.

Algorithmus einer Werbebuchung zuweisen

Die Gebotsleistung wird mithilfe eines Algorithmus gemessen und angepasst. Sie kann mit Gebotsstrategien verwendet werden, die darauf ausgerichtet sind, das gesamte Budget auszugeben oder ein Zielvorhaben zu erreichen. In diesen Fällen ist der Typ des Leistungszielvorhabens für die Strategie BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO.

So aktualisieren Sie eine Werbebuchung, damit ein Algorithmus mit einer Gebotsstrategie verwendet wird, die auf die Ausgabe des gesamten Budgets optimiert ist:

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']
);