Os experimentos de otimização de recursos testam diferentes combinações de recursos em campanhas Performance Max, o que permite comparar a performance de diferentes conjuntos de recursos com um conjunto de base.
Esse fluxo de trabalho é compatível com
ExperimentType.OPTIMIZE_ASSETS.
Configuração
Para configurar um experimento de otimização de recursos:
- Crie um novo recurso e um experimento com grupos de controle e de tratamento.
- Vincule o novo recurso ao grupo de recursos do grupo de tratamento em uma única solicitação de mutação.
Pré-requisitos
Antes de criar um experimento de otimização de recursos, você precisa ter uma campanha Performance Max e um recurso AssetGroup
(customers/{customer_id}/assetGroups/{asset_group_id}) que sirva como
valor de referência para os dois grupos experimentais.
Ordem da operação de solicitação
Como essas entidades são interdependentes, você precisa usar nomes de recursos temporários para se referir aos recursos criados em operações anteriores na mesma solicitação.
As operações na sua solicitação precisam estar na seguinte ordem:
- Crie um ou mais
Assetrecursos com nomes de recursos temporários (comocustomers/CUSTOMER_ID/assets/-1). Esses são seus recursos de teste. - Crie um
Experimentcom um nome de recurso temporário (por exemplo,customers/CUSTOMER_ID/experiments/-2),typedefinido comoOPTIMIZE_ASSETS,statusdefinido comoENABLEDeoptimize_assets_experiment.optimize_assets_experiment_subtypedefinido como oOptimizeAssetsExperimentSubtypeselecionado (por exemplo,COMPARE_ASSETS). Crie dois recursos
ExperimentArmvinculados ao nome do recurso de experimento temporário da etapa 2, definindocampaigns(para o nome do recurso da campanha Performance Max),traffic_split(somando100) easset_groups(ExperimentArm.AssetGroupInfo) em cada grupo:- Um grupo de controle (
control = true) em queasset_groupscontém umAssetGroupInfocomasset_groupdefinido como o nome do recurso de anúncio de baseAssetGroup(customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID). Ao testar recursos de anúncio recém- adicionados em relação ao grupo de recursos de referência (ou ao usar os subtiposADD_ASSETS_TO_ASSETLESS_RETAILouADD_VIDEO_ASSETS_TO_VIDEOLESS), deixeasset_group_assetsnão definido no grupo de controle. Ao comparar dois conjuntos de recursos de anúncio distintos emCOMPARE_ASSETS, liste as entradasAssetGroupAssetInfodo grupo de controle (assetefield_type). - Um grupo de tratamento (
control = false) em queasset_groupscontém umAssetGroupInfocomasset_groupdefinido como o mesmo nome de recursoAssetGroupde base (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) easset_group_assets(repeatedAssetGroupAssetInfo) listando os recursosAssetefield_types para o grupo de tratamento, incluindo oAssetde teste recém-criado (customers/CUSTOMER_ID/assets/-1) da etapa 1.
- Um grupo de controle (
Crie recursos
AssetGroupAssetvinculando os recursos de teste da etapa 1 (customers/CUSTOMER_ID/assets/-1) aoAssetGroupde base usado nos grupos experimentais.
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
Gerar relatórios sobre o experimento
Consulte o guia de relatórios para consultar o recurso experiment e
comparar as métricas entre os grupos de recursos de controle e de tratamento.
Concluir ou encerrar
Depois de avaliar os resultados, você pode encerrar ou concluir o experimento
usando ExperimentService.
- Encerrar: se você não estiver satisfeito com os resultados do grupo de tratamento,
use
EndExperiment. Essa é uma operação síncrona. - Concluir: se você preferir a performance do grupo de recursos de tratamento, use
GraduateExperiment. Como parte desse processo, a campanha de base original associada ao grupo de controle é pausada, e o grupo de tratamento é convertido em uma nova campanha independente. Essa é uma operação síncrona.