Implemente ofertas personalizadas

Puedes usar la API de Display & Video 360 para administrar las implementaciones de ofertas personalizadas. Puedes crear algoritmos de ofertas personalizadas, subir y verificar secuencias de comandos individuales, y asignar un algoritmo específico a un recurso como su estrategia de ofertas.

En esta página, se describe cómo crear, actualizar y asignar algoritmos de ofertas personalizadas con la API de Display &Video 360. Cada sección proporciona una muestra de código.

Crea un algoritmo de ofertas personalizadas

Un objeto CustomBiddingAlgorithm representa un algoritmo individual que puedes asignar a una línea de pedido para usarlo en su estrategia de ofertas. Este objeto tiene detalles sobre el algoritmo, como customBiddingAlgorithmType, entityStatus y customBiddingAlgorithmState. Puedes crear CustomBiddingScript objetos como recursos secundarios para que los use el algoritmo

A continuación, se muestra un ejemplo de cómo crear un algoritmo de ofertas personalizadas basado en secuencias de comandos:

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}')

Administra el acceso al algoritmo

Los algoritmos de ofertas personalizadas pueden pertenecer a un socio o a un anunciante. El socio y los anunciantes secundarios que aparecen en el campo sharedAdvertiserIds pueden acceder a los algoritmos que pertenecen a un socio y modificarlos. El anunciante y su socio superior pueden acceder a los algoritmos que pertenecen a un anunciante y modificarlos, pero no se pueden compartir con otros anunciantes.

Si solo usas el algoritmo para un solo anunciante, asígnale el anunciante como propietario con el advertiserId campo. De lo contrario, asigna el socio superior de los anunciantes como propietario con el partnerId campo y otorga acceso a los anunciantes con el sharedAdvertiserIds campo.

Sube una secuencia de comandos

Una vez que hayas creado un algoritmo de ofertas personalizadas, crea una secuencia de comandos para que lo use. Los algoritmos de ofertas personalizadas basados en secuencias de comandos emplean secuencias de comandos proporcionadas por el usuario para evaluar el valor de una impresión. En el Centro de ayuda de Display & Video 360, se encuentran disponibles ejemplos de secuencias de comandos simples y una lista de campos avanzados.

En las siguientes secciones, se explica cómo agregar una secuencia de comandos nueva o actualizada a un algoritmo de ofertas personalizadas.

Recupera la ubicación de un recurso de secuencia de comandos

Primero, recupera una ubicación de recurso disponible en el recurso del algoritmo de ofertas personalizadas con el customBiddingAlgorithms.uploadScript método. Esta solicitud muestra un CustomBiddingScriptRef objeto con un nombre de recurso. Puedes subir tu archivo de secuencia de comandos a la ubicación que indica el nombre del recurso. Luego, usa el objeto de referencia de la secuencia de comandos de ofertas personalizadas para crear tu recurso de secuencia de comandos.

A continuación, se muestra un ejemplo de cómo recuperar una ubicación de recurso disponible:

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}')

Sube un archivo de secuencia de comandos

Después de recuperar una ubicación de recurso disponible, sube tu archivo de secuencia de comandos a esa ubicación en el sistema de Display & Video 360 con el media.upload método. Este método admite una carga simple que requiere el parámetro de consulta uploadType=media.

A continuación, se muestra un ejemplo de cómo subir un archivo de secuencia de comandos dado un objeto de referencia de secuencia de comandos de ofertas personalizadas recuperado:

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

Crea un objeto de secuencia de comandos

Una vez que se sube el archivo de secuencia de comandos, crea un recurso de secuencia de comandos de ofertas personalizadas con el customBiddingAlgorithms.scripts.create método. El CustomBiddingScript objeto que se pasa en la solicitud solo debe incluir el CustomBiddingScriptRef objeto como el valor asignado del campo script. Esto asocia el archivo de secuencia de comandos subido con el nuevo recurso de secuencia de comandos.

A continuación, se muestra un ejemplo de cómo crear un archivo de secuencia de comandos:

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}')

Una vez que creas un recurso de secuencia de comandos de ofertas personalizadas, Display &Video 360 procesa la secuencia de comandos para asegurarse de que se pueda usar correctamente para calificar las impresiones. Recupera el estado de este procesamiento a través del campo state del objeto de secuencia de comandos. Una vez que se acepta la nueva secuencia de comandos, el algoritmo de ofertas personalizadas comienza a usarla para calificar los valores de impresión. Esto sucede de inmediato, así que asegúrate de querer actualizar el algoritmo antes de crear un nuevo recurso de secuencia de comandos.

Asigna un algoritmo de ofertas personalizadas

Después de crear un algoritmo de ofertas personalizadas, subir una secuencia de comandos aceptada y cumplir los requisitos necesarios, puedes asignar tu algoritmo de ofertas personalizadas a la estrategia de ofertas de una línea de pedido o una orden de inserción.

Puedes usar algoritmos de ofertas personalizadas en maximizar la inversión y objetivo de rendimiento estrategias de oferta asignando BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO y el ID del algoritmo de ofertas personalizadas a los performanceGoalType y customBiddingAlgorithmId campos, respectivamente. Según la estrategia de ofertas, es posible que haya otros parámetros de ofertas disponibles o necesarios.

A continuación, se muestra un ejemplo de cómo actualizar una línea de pedido para usar una estrategia de ofertas de maximizar la inversión con un algoritmo de ofertas personalizadas determinado:

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"]}.')