Algoritma atama

Hazır olduğunda algoritmayı bir kaynağa atayın.

Algoritmanın hazır olup olmadığını kontrol etme

Bir algoritma modelinin hazır olması için minimum miktarda veriyle eğitilmesi gerekir.

Algoritmalar, bunları kullanabilen her reklamveren için bir model eğitir. Modeller, mevcut gösterim verileriyle eğitilir. Veri koşulları reklamveren tarafından karşılandıktan sonra modelin eğitilmesi 1-3 gün sürebilir.

Algoritmadan her bir modelin hazırlık durumunu alın. ReadinessState, sonraki adımları belirler:

ReadinessState
READINESS_STATE_NO_VALID_SCRIPT Geçerli bir komut dosyası yok. Yeni bir komut dosyası veya kurallar dosyası yükleyin.
READINESS_STATE_EVALUATION_FAILURE Ayrılan sürede değerlendirilebilecek bir senaryo yok. Yeni bir komut dosyası veya kurallar dosyası yükleyin.
READINESS_STATE_INSUFFICIENT_DATA Modeli eğitmek için reklamverenin altında yeterli miktarda veri yok. Minimum veri koşullarını karşılamak için reklamveren altında kampanyalar yayınlamaya devam edin.
READINESS_STATE_TRAINING Model, mevcut veriler üzerinde eğitiliyor ve yayınlanmaya hazır değil. Modelin yayınlanmaya hazır olup olmadığını kontrol etmeden önce 12-24 saat bekleyin.
READINESS_STATE_ACTIVE Model tamamen eğitilmiştir ve reklamverenin altındaki kampanyalara atanmaya hazırdır.

Algoritmayı satır öğesine atama

Teklif performansını ölçmek ve ayarlamak için bir algoritma kullanılır. Bütçenin tamamını harcamaya veya bir hedefe ulaşmaya yönelik optimizasyon yapan teklif stratejileriyle kullanılabilir. Bu durumlarda, strateji performans hedefi türü BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO olur.

Bir satır öğesini, bütçenin tamamının harcanması için optimizasyon yapan bir teklif stratejisiyle algoritma kullanacak şekilde güncelleme adımları aşağıda açıklanmıştır:

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