الگوریتم تخصیص

الگوریتم را پس از آماده شدن به یک منبع اختصاص دهید.

بررسی کنید که آیا الگوریتم آماده است یا خیر

یک مدل الگوریتم قبل از آماده شدن باید روی حداقل مقدار داده آموزش ببیند.

الگوریتم‌ها برای هر تبلیغ‌کننده‌ای که می‌تواند از آنها استفاده کند، یک مدل آموزش می‌دهند. مدل‌ها بر اساس داده‌های نمایش موجود آموزش می‌بینند. آموزش یک مدل پس از برآورده شدن نیازهای داده توسط تبلیغ‌کننده، می‌تواند ۱ تا ۳ روز طول بکشد.

آمادگی هر مدل را از الگوریتم بازیابی کنید. ReadinessState مراحل بعدی را تعیین می‌کند:

ReadinessState
READINESS_STATE_NO_VALID_SCRIPT اسکریپت معتبری وجود ندارد. یک اسکریپت یا فایل قوانین جدید آپلود کنید.
READINESS_STATE_EVALUATION_FAILURE هیچ اسکریپتی وجود ندارد که بتواند در زمان تعیین شده ارزیابی شود. یک اسکریپت یا فایل قوانین جدید آپلود کنید.
READINESS_STATE_INSUFFICIENT_DATA داده‌های کافی برای آموزش مدل در زیر مجموعه تبلیغ‌کننده وجود ندارد. به اجرای کمپین‌ها تحت عنوان تبلیغ‌کننده ادامه دهید تا حداقل الزامات داده را برآورده کنید.
READINESS_STATE_TRAINING مدل در حال آموزش با داده‌های موجود است و آماده ارائه نیست. قبل از بررسی، ۱۲ تا ۲۴ ساعت صبر کنید تا ببینید آیا مدل آماده ارائه است یا خیر.
READINESS_STATE_ACTIVE این مدل کاملاً آموزش دیده و آماده است تا تحت نظر تبلیغ‌کننده به کمپین‌ها اختصاص داده شود.

الگوریتم را به آیتم سطری اختصاص دهید

یک الگوریتم برای اندازه‌گیری و تنظیم عملکرد پیشنهاد قیمت استفاده می‌شود. این الگوریتم می‌تواند با استراتژی‌های پیشنهادی که در جهت صرف کل بودجه یا دستیابی به یک هدف بهینه‌سازی می‌شوند، مورد استفاده قرار گیرد. در این موارد، نوع هدف عملکرد استراتژی، BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO خواهد بود.

در اینجا نحوه به‌روزرسانی یک ردیف بودجه برای استفاده از الگوریتمی با استراتژی پیشنهادی که هزینه کردن کل بودجه را بهینه می‌کند، آورده شده است:

جاوا

// 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());

پایتون

# 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."
)

پی اچ پی

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