Özel Teklif Verme özelliğini uygulayın

Display & Video 360 API'yi kullanarak özel teklif verme uygulamalarını yönetebilirsiniz. Özel teklif verme algoritmaları oluşturabilir, tek tek komut dosyalarını yükleyip doğrulayabilir ve belirli bir algoritmayı bir kaynağa teklif verme stratejisi olarak atayabilirsiniz.

Bu sayfada, Display & Video 360 API ile özel teklif verme algoritmalarının nasıl oluşturulacağı, güncelleneceği ve atanacağı açıklanmaktadır. Her bölümde bir kod örneği verilmiştir.

Özel teklif verme algoritması oluşturma

Bir CustomBiddingAlgorithm nesnesi, teklif stratejisinde kullanılmak üzere bir satır öğesine atayabileceğiniz bağımsız bir algoritmayı temsil eder. Bu nesne, algoritma ile ilgili ayrıntıları (ör. customBiddingAlgorithmType, entityStatus ve customBiddingAlgorithmState) içerir. Algoritmanın kullanması için CustomBiddingScript nesneleri alt kaynak olarak oluşturabilirsiniz.

Aşağıda, komut dosyasına dayalı özel teklif verme algoritması oluşturma örneği verilmiştir:

Python

# Create a custom bidding algorithm object.
custom_bidding_algorithm_obj = {
    'advertiserId': advertiser-id,
    'displayName': display-name,
    'entityStatus': 'ENTITY_STATUS_ACTIVE',
    'customBiddingAlgorithmType': 'SCRIPT_BASED'
}

# Create the custom bidding algorithm.
response = service.customBiddingAlgorithms().create(
    body=algorithm_obj
).execute()

# Display the new custom bidding algorithm.
print(f'The following Custom Bidding Algorithm was created: {response}')

Algoritma erişimini yönetme

Özel teklif verme algoritmaları bir iş ortağına veya reklamverene ait olabilir. Bir iş ortağına ait algoritmalar, bu iş ortağı ve sharedAdvertiserIds alanında listelenen tüm alt reklamverenler tarafından erişilebilir ve değiştirilebilir. Bir reklamverene ait algoritmalara, söz konusu reklamveren ve üst iş ortağı tarafından erişilebilir ve bu algoritmalar değiştirilebilir ancak diğer reklamverenlerle paylaşılamaz.

Algoritmayı yalnızca tek bir reklamveren için kullanıyorsanız advertiserId alanı ile reklamvereni sahip olarak atayın. Aksi takdirde, reklamverenlerin ana iş ortağını partnerId alanı ile sahip olarak atayın ve reklamverenlere sharedAdvertiserIds alanı ile erişim izni verin.

Komut dosyası yükleme

Özel teklif verme algoritması oluşturduktan sonra bu algoritmanın kullanacağı bir komut dosyası oluşturun. Komut dosyası tabanlı özel teklif verme algoritmaları, bir gösterimin değerini değerlendirmek için kullanıcı tarafından sağlanan komut dosyalarını kullanır. Basit komut dosyaları örnekleri ve gelişmiş alanların listesi Display & Video 360 Yardım Merkezi'nde mevcuttur.

Aşağıdaki bölümlerde, özel bir teklif algoritmasına yeni veya güncellenmiş bir komut dosyasının nasıl ekleneceği açıklanmaktadır.

Komut dosyası kaynağı konumunu alma

Öncelikle, customBiddingAlgorithms.uploadScript yöntemiyle özel teklif algoritması kaynağı altındaki kullanılabilir bir kaynak konumunu alın. Bu istek, CustomBiddingScriptRef nesnesini kaynak adıyla birlikte döndürür. Senaryo dosyanızı kaynak adının belirttiği konuma yükleyebilirsiniz. Ardından, özel teklif verme komut dosyası referans nesnesini kullanarak komut dosyası kaynağınızı oluşturun.

Kullanılabilir bir kaynak konumunun nasıl alınacağına dair bir örneği aşağıda bulabilirsiniz:

Python

# Retrieve a usable custom bidding script reference
# object.
custom_bidding_script_ref = service.customBiddingAlgorithms().uploadScript(
    customBiddingAlgorithmId=custom-bidding-algorithm-id,
    advertiserId=advertiser-id
).execute()

# Display the new custom bidding script reference object.
print('The following custom bidding script reference object was retrieved:'
      f'{custom_bidding_script_ref}')

Komut dosyası yükleme

Kullanılabilir bir kaynak konumu aldıktan sonra, komut dosyası dosyanızı Display & Video 360 sistemindeki bu konuma media.upload yöntemiyle yükleyin. Bu yöntem, uploadType=media sorgu parametresini gerektiren bir basit yüklemeyi destekler.

Aşağıda, alınan bir özel teklif verme komut dosyası referans nesnesi verildiğinde komut dosyası dosyasının nasıl yükleneceğine dair bir örnek verilmiştir:

Python

# Create a media upload object.
media = MediaFileUpload(script-path)

# Create upload request.
upload_request = service.media().upload(
    resourceName=resource-name, media_body=media)

# Override response handler to expect null response.
upload_request.postproc = HttpRequest.null_postproc

# Upload script to resource location given in retrieved custom bidding
# script reference object.
upload_request.execute()

Komut dosyası nesnesi oluşturma

Komut dosyası yüklendikten sonra customBiddingAlgorithms.scripts.create yöntemiyle özel teklif verme komut dosyası kaynağı oluşturun. İstekle iletilen CustomBiddingScript nesnesi, script alanının atanmış değeri olarak yalnızca CustomBiddingScriptRef nesnesini içermelidir. Bu işlem, yüklenen senaryo dosyasını yeni senaryo kaynağıyla ilişkilendirir.

Aşağıda, komut dosyası oluşturma örneği verilmiştir:

Python

# Create a custom bidding script object.
script_obj = {
    'script': custom-bidding-script-ref
}

# Create the custom bidding script.
response = service.customBiddingAlgorithms().scripts().create(
    customBiddingAlgorithmId=custom-bidding-algorithm-id,
    advertiserId=advertiser-id,
    body=script_obj).execute()

# Display the new custom bidding script object.
print(f'The following custom bidding script was created: {response}')

Özel teklif verme komut dosyası kaynağı oluşturduktan sonra Display & Video 360, gösterimlere puan vermek için başarıyla kullanılabildiğinden emin olmak üzere komut dosyasını işler. Komut dosyası nesnesinin state alanı aracılığıyla bu işleme durumunu alın. Yeni komut dosyası kabul edildikten sonra özel teklif verme algoritması, gösterim değerlerini puanlamak için komut dosyasını kullanmaya başlar. Bu işlem anında gerçekleşir. Bu nedenle, yeni bir komut dosyası kaynağı oluşturmadan önce algoritmayı güncellemek istediğinizden emin olun.

Özel teklif verme algoritması atama

Özel teklif verme algoritması oluşturduktan, kabul edilen bir komut dosyası yükledikten ve gerekli koşulları karşıladıktan sonra özel teklif verme algoritmanızı bir satır öğesinin veya kampanya siparişinin teklif stratejisine atayabilirsiniz.

Harcamayı maksimize etme ve performans hedefi teklif stratejilerinde özel teklif verme algoritmalarını kullanabilirsiniz. Bunun için BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO ve özel teklif verme algoritması kimliğini sırasıyla performanceGoalType ve customBiddingAlgorithmId alanlarına atayın. Teklif stratejisine bağlı olarak diğer teklif parametreleri kullanılabilir veya zorunlu olabilir.

Belirli bir özel teklif verme algoritmasıyla harcamayı artırma teklif stratejisini kullanmak için satır öğesinin nasıl güncelleneceğine dair bir örneği aşağıda bulabilirsiniz:

Python

# Create the new bid strategy object.
bidding_strategy = {
    'maximizeSpendAutoBid': {
        'performanceGoalType':
            'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO',
        'customBiddingAlgorithmId': custom-bidding-algorithm-id
    }
}

# Create a line item object assigning the new bid strategy.
line_item_obj = {'bidStrategy': bidding_strategy}

# Update the line item with a new bid strategy.
response = service.advertisers().lineItems().patch(
    advertiserId=advertiser-id,
    lineItemId=line-item-id,
    updateMask='bidStrategy',
    body=line_item_obj).execute()

# Display the line item's new bid strategy
print(f'Line Item {response["name"]} is now using the following bid'
     f' strategy: {response["bidStrategy"]}.')