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:
- Crea uno o más recursos
Assetcon nombres de recursos temporales (comocustomers/CUSTOMER_ID/assets/-1). Incluye tus recursos de prueba, así como cualquier recurso de marcaBUSINESS_NAMEyLOGOnuevo 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 alCampaignbase con operacionesCampaignAssetinmediatamente después del paso 1). - Crea un
Experimentcon un nombre de recurso temporal (por ejemplo,customers/CUSTOMER_ID/experiments/-2),typeestablecido enOPTIMIZE_ASSETS,statusestablecido enENABLEDyoptimize_assets_experiment.optimize_assets_experiment_subtypeestablecido en elOptimizeAssetsExperimentSubtypeseleccionado (por ejemplo,COMPARE_ASSETS). Crea dos recursos
ExperimentArmvinculados al nombre del recurso del experimento temporal del paso 2, configurandocampaigns(con el nombre del recurso de la campaña de máximo rendimiento),traffic_split(sumando100) yasset_groups(ExperimentArm.AssetGroupInfo) en cada grupo:- Un grupo de control (
control = true) en el queasset_groupscontiene unAssetGroupInfoconasset_groupestablecido en el nombre del recurso delAssetGroupbase (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 subtiposADD_ASSETS_TO_ASSETLESS_RETAILoADD_VIDEO_ASSETS_TO_VIDEOLESS), dejaasset_group_assetssin establecer en el grupo de control. Cuando compares dos conjuntos de recursos distintos enCOMPARE_ASSETS, incluye las entradasAssetGroupAssetInfodel grupo de control (assetyfield_type). - Un grupo de tratamiento (
control = false) en el queasset_groupscontiene unAssetGroupInfoconasset_groupestablecido en el mismo nombre de recursoAssetGroupbase (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) yasset_group_assets(repeatedAssetGroupAssetInfo) que enumera los recursosAssetyfield_typepara el grupo de tratamiento, incluida la pruebaAsset(customers/CUSTOMER_ID/assets/-1) recién creada del paso 1. Cuando se usaADD_ASSETS_TO_ASSETLESS_RETAIL,asset_group_assetsen el grupo de tratamiento debe cumplir con todos los requisitos mínimos del grupo de recursos (no incluyas solo recursos opcionales, comoYOUTUBE_VIDEO) y los vínculos obligatorios deBUSINESS_NAMEyLOGOCampaignAsseta 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.
- Un grupo de control (
Crea recursos
AssetGroupAssetconsecutivos que vinculen los recursos de prueba del paso 1 (customers/CUSTOMER_ID/assets/-1) con elAssetGroupbase 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.