Experimentos de optimización de recursos

Los experimentos de optimización de recursos prueban 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 de 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 y un experimento con grupos de control y de tratamiento.
  • Vincula el recurso nuevo al grupo de recursos del grupo de tratamiento en una sola solicitud de mutación.

Requisitos previos

Antes de crear un experimento de optimización de recursos, debes tener una campaña de máximo rendimiento existente y un recurso AssetGroup base (customers/{customer_id}/assetGroups/{asset_group_id}) que sirva como referencia para ambos grupos experimentales. En el caso de ADD_ASSETS_TO_ASSETLESS_RETAIL, asegúrate de que el AssetGroup base ya tenga al menos un final_urls establecido antes de crear el experimento (un experimento de recursos activo congela las ediciones en el AssetGroup base, y la vinculación de recursos personalizados requiere final_urls).

Orden de las operaciones de solicitud

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 tener el siguiente orden:

  1. Crea uno o más recursos Asset con nombres de recursos temporales (como customers/CUSTOMER_ID/assets/-1). Incluye tus recursos de prueba, así como cualquier recurso de marca BUSINESS_NAME y LOGO nuevo si los lineamientos de la marca están habilitados en una campaña de venta minorista sin recursos ni vínculos de marca existentes (en cuyo caso, vincula esos recursos de marca al Campaign base con operaciones CampaignAsset inmediatamente después del paso 1).
  2. Crea un Experiment con un nombre de recurso temporal (por ejemplo, customers/CUSTOMER_ID/experiments/-2), type establecido en OPTIMIZE_ASSETS, status establecido en ENABLED y optimize_assets_experiment.optimize_assets_experiment_subtype establecido en el OptimizeAssetsExperimentSubtype seleccionado (por ejemplo, COMPARE_ASSETS).
  3. Crea dos recursos ExperimentArm vinculados al nombre del recurso del experimento temporal del paso 2, configurando campaigns (con el nombre del recurso de la campaña de máximo rendimiento), traffic_split (sumando 100) y asset_groups (ExperimentArm.AssetGroupInfo) en cada grupo:

    • Un grupo de control (control = true) en el que asset_groups contiene un AssetGroupInfo con asset_group establecido en el nombre del recurso del AssetGroup base (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID). Cuando pruebes los recursos del anuncio agregados recientemente en comparación con el grupo de recursos de referencia (o cuando uses los subtipos ADD_ASSETS_TO_ASSETLESS_RETAIL o ADD_VIDEO_ASSETS_TO_VIDEOLESS), deja asset_group_assets sin establecer en el grupo de control. Cuando compares dos conjuntos de recursos distintos en COMPARE_ASSETS, incluye las entradas AssetGroupAssetInfo del grupo de control (asset y field_type).
    • Un grupo de tratamiento (control = false) en el que asset_groups contiene un AssetGroupInfo con asset_group establecido en el mismo nombre de recurso AssetGroup base (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) y asset_group_assets (repeated AssetGroupAssetInfo) que enumera los recursos Asset y field_type para el grupo de tratamiento, incluida la prueba Asset (customers/CUSTOMER_ID/assets/-1) recién creada del paso 1. Cuando se usa ADD_ASSETS_TO_ASSETLESS_RETAIL, asset_group_assets en el grupo de tratamiento debe cumplir con todos los requisitos mínimos del grupo de recursos (no incluyas solo recursos opcionales, como YOUTUBE_VIDEO) y los vínculos obligatorios de BUSINESS_NAME y LOGO CampaignAsset a nivel de la campaña deben estar presentes o crearse en la misma solicitud cuando se habilitan los lineamientos de la marca en la campaña de base.
  4. Crea recursos AssetGroupAsset consecutivos que vinculen los recursos de prueba del paso 1 (customers/CUSTOMER_ID/assets/-1) con el AssetGroup base que se usa en los grupos experimentales.

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

# 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.operation.mutate do |m|
  m.experiment_operation = client.operation.create_resource.experiment do |e|
    e.resource_name = client.path.experiment(customer_id, experiment_temp_id)
    e.name = "Interstellar Asset Experiment #{(Time.new.to_f * 1000).to_i}"
    e.type = :OPTIMIZE_ASSETS
    # Set the optimize assets experiment subtype to COMPARE_ASSETS.
    e.optimize_assets_experiment = client.resource.optimize_assets_experiment_info do |oae|
      oae.optimize_assets_experiment_subtype = :COMPARE_ASSETS
    end
  end
end

# 3. Create two ExperimentArm resources.
treatment_assets = [
  [asset_1_temp_id, :HEADLINE],
  [asset_2_temp_id, :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,
  :HEADLINE,
)
asset_group_asset_operation_2 = create_asset_group_asset_operation(
  client,
  customer_id,
  asset_group_id,
  asset_2_temp_id,
  :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 = client.service.google_ads.mutate(
  customer_id: customer_id,
  mutate_operations: mutate_operations,
)
      

Perl

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

curl

Informe sobre el experimento

Consulta la guía de informes para consultar el recurso experiment y comparar las métricas entre los grupos de recursos de control y de tratamiento.

Graduación o finalización

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.