Experimentos de optimización de recursos

Los experimentos de optimización de recursos se usan para probar diferentes combinaciones de recursos en las campañas de máximo rendimiento, lo que te permite comparar el rendimiento de diferentes conjuntos de recursos con un conjunto base.

Este flujo de trabajo es compatible con ExperimentType.OPTIMIZE_ASSETS.

Configuración

Para configurar un experimento de optimización de recursos, haz lo siguiente:

  • Crea un recurso nuevo y un experimento con grupos de control y de tratamiento.
  • Vincula el recurso nuevo al grupo de recursos del grupo de tratamiento, todo dentro de una sola solicitud de mutación.

Debido a que estas entidades son interdependientes, debes usar nombres de recursos temporales para hacer referencia a los recursos creados en operaciones anteriores dentro de la misma solicitud.

Las operaciones de tu solicitud deben estar en el siguiente orden:

  1. Crea un Asset con un nombre de recurso temporal (como customers/CUSTOMER_ID/assets/-1). Este será tu recurso de prueba.
  2. Crea un Experiment con un nombre de recurso temporal (por ejemplo, customers/CUSTOMER_ID/experiments/-2).
  3. Crea un AssetGroupAsset que vincule el recurso del paso 1 al grupo de recursos que se usa en los grupos del experimento.

  4. Crea dos ExperimentArm recursos:

    • Un grupo de control vinculado a un AssetGroup base.
    • Un grupo de tratamiento vinculado al mismo AssetGroup base. En este grupo, configura el campo asset_groups con el nombre de recurso temporal del recurso creado en el paso 1.

Java

This example is not yet available in Java; you can take a look at the other languages.
    

C#

This example is not yet available in C#; you can take a look at the other languages.
    

PHP

This example is not yet available in PHP; you can take a look at the other languages.
    

Python

# 1. Create Assets with temporary resource names.
# We create a text asset and an image asset to showcase different types.
asset_operation_1 = create_text_asset_operation(
    client,
    customer_id,
    ASSET_1_TEMP_ID,
    "Fly to Mars!",
)
asset_operation_2 = create_image_asset_operation(
    client,
    customer_id,
    ASSET_2_TEMP_ID,
    "https://gaagl.page.link/Eit5",
    "Mars Landscape View",
)

# 2. Create an Experiment with a temporary resource name.
experiment_operation = client.get_type("MutateOperation")
experiment = experiment_operation.experiment_operation.create
experiment.resource_name = googleads_service.experiment_path(
    customer_id, EXPERIMENT_TEMP_ID
)
experiment.name = f"Interstellar Asset Experiment #{uuid4()}"
experiment.type_ = client.enums.ExperimentTypeEnum.OPTIMIZE_ASSETS
# Set the optimize assets experiment subtype to COMPARE_ASSETS.
experiment.optimize_assets_experiment.optimize_assets_experiment_subtype = (
    client.enums.OptimizeAssetsExperimentSubtypeEnum.COMPARE_ASSETS
)

# 3. Create two ExperimentArm resources.
treatment_assets = [
    (ASSET_1_TEMP_ID, client.enums.AssetFieldTypeEnum.HEADLINE),
    (ASSET_2_TEMP_ID, client.enums.AssetFieldTypeEnum.MARKETING_IMAGE),
]
arm_operations = create_arms_operations(
    client,
    customer_id,
    EXPERIMENT_TEMP_ID,
    campaign_resource_name,
    asset_group_id,
    treatment_assets,
)

# 4. Create AssetGroupAssets linking the assets to the asset group.
asset_group_asset_operation_1 = create_asset_group_asset_operation(
    client,
    customer_id,
    asset_group_id,
    ASSET_1_TEMP_ID,
    client.enums.AssetFieldTypeEnum.HEADLINE,
)
asset_group_asset_operation_2 = create_asset_group_asset_operation(
    client,
    customer_id,
    asset_group_id,
    ASSET_2_TEMP_ID,
    client.enums.AssetFieldTypeEnum.MARKETING_IMAGE,
)

# Send all operations in a single Mutate request.
# The operations must be in this specific order.
mutate_operations = [
    asset_operation_1,
    asset_operation_2,
    experiment_operation,
    *arm_operations,
    asset_group_asset_operation_1,
    asset_group_asset_operation_2,
]

response = googleads_service.mutate(
    customer_id=customer_id,
    mutate_operations=mutate_operations,
)
      

Ruby

This example is not yet available in Ruby; you can take a look at the other languages.
    

Perl

This example is not yet available in Perl; you can take a look at the other languages.
    

curl

Informes sobre el experimento

Puedes generar informes sobre los experimentos de optimización de recursos con el experiment recurso para comparar las métricas entre los grupos de recursos de control y de tratamiento.

Finalizar o graduar

Después de evaluar los resultados, puedes finalizar o graduar el experimento con ExperimentService.

  • Finalizar: Si no estás satisfecho con los resultados del grupo de tratamiento, usa EndExperiment. Esta es una operación síncrona.
  • Graduar: Si prefieres el rendimiento del grupo de recursos del grupo de tratamiento, usa GraduateExperiment. Como parte de este proceso, se detiene la campaña de base original asociada con el grupo de control y el grupo de tratamiento se convierte en una campaña nueva e independiente. Esta es una operación síncrona.