Tetapkan algoritma

Tetapkan algoritma ke resource setelah siap.

Periksa apakah algoritma sudah siap

Model algoritma harus dilatih dengan jumlah data minimum sebelum siap digunakan.

Algoritma melatih model untuk setiap pengiklan yang dapat menggunakannya. Model dilatih berdasarkan data tayangan yang ada. Diperlukan waktu 1-3 hari untuk melatih model setelah persyaratan data dipenuhi oleh pengiklan.

Mengambil kesiapan setiap model dari algoritma. ReadinessState menentukan langkah selanjutnya:

ReadinessState
READINESS_STATE_NO_VALID_SCRIPT Tidak ada skrip yang valid. Upload skrip atau file aturan baru.
READINESS_STATE_EVALUATION_FAILURE Tidak ada skrip yang dapat dievaluasi dalam waktu yang ditentukan. Upload skrip atau file aturan baru.
READINESS_STATE_INSUFFICIENT_DATA Jumlah data yang tersedia di bawah pengiklan tidak cukup untuk melatih model. Terus jalankan kampanye di bawah pengiklan untuk memenuhi persyaratan data minimum.
READINESS_STATE_TRAINING Model sedang dilatih dengan data yang ada dan belum siap untuk penyajian. Tunggu 12-24 jam sebelum memeriksa apakah model siap untuk ditayangkan.
READINESS_STATE_ACTIVE Model telah dilatih sepenuhnya dan siap ditetapkan ke kampanye di bawah pengiklan.

Menetapkan algoritma ke item baris

Algoritma digunakan untuk mengukur dan menyesuaikan performa bidding. Opsi ini dapat digunakan dengan strategi bidding yang mengoptimalkan pembelanjaan seluruh anggaran atau pencapaian sasaran. Dalam kasus ini, jenis sasaran performa strategi adalah BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO.

Berikut cara memperbarui item baris untuk menggunakan algoritma dengan strategi bidding yang mengoptimalkan pembelanjaan seluruh anggaran:

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