Experimentos de optimización de recursos

Los experimentos de optimización de recursos se utilizan 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, sigue estos pasos:

  • Crea un recurso nuevo, un experimento con grupos de control y de tratamiento.
  • Vincular el recurso nuevo al grupo de recursos del grupo de tratamiento, todo en 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 dos recursos ExperimentArm:
    • Es un grupo de control vinculado a un AssetGroup básico.
    • Es un grupo de tratamiento vinculado al mismo AssetGroup base. En este grupo, configura el campo asset_groups con el nombre de recurso temporal del activo creado en el paso 1.
  4. Crea un objeto AssetGroupAsset que vincule el recurso del paso 1 al grupo de recursos que se usa en las ramas del experimento.

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 with Interplanetary Cruises!",
)
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
)
experiment.status = client.enums.ExperimentStatusEnum.SETUP

# 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,
    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

Informe sobre el experimento

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

Graduarse o finalizar

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

  • Finalizar: Si no estás conforme 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 al grupo de control y el grupo de tratamiento se convierte en una campaña nueva e independiente. Esta es una operación síncrona.