Les tests d'optimisation des composants permettent de tester différentes combinaisons de composants dans les campagnes Performance Max. Vous pouvez ainsi comparer les performances de différents ensembles de composants à celles d'un ensemble de base.
Ce workflow est compatible avec ExperimentType.OPTIMIZE_ASSETS.
Configuration
Pour configurer un test d'optimisation des composants :
- Créez un composant et un test avec des bras de traitement et de contrôle.
- Associez le nouveau composant au groupe de composants du bras de traitement dans une seule requête mutate.
Prérequis
Avant de créer un test d'optimisation des composants, vous devez disposer d'une campagne Performance Max existante et d'une ressource AssetGroup de base (customers/{customer_id}/assetGroups/{asset_group_id}) qui servira de référence pour les deux bras du test.
Ordre des opérations de requête
Étant donné que ces entités sont interdépendantes, vous devez utiliser des noms de ressources temporaires pour faire référence aux ressources créées dans les opérations précédentes de la même requête.
Les opérations de votre requête doivent être dans l'ordre suivant :
- Créez une ou plusieurs ressources
Assetavec des noms de ressources temporaires (tels quecustomers/CUSTOMER_ID/assets/-1). Il s'agit de vos composants de test. - Créez un
Experimentavec un nom de ressource temporaire (par exemple,customers/CUSTOMER_ID/experiments/-2),typedéfini surOPTIMIZE_ASSETS,statusdéfini surENABLEDetoptimize_assets_experiment.optimize_assets_experiment_subtypedéfini sur leOptimizeAssetsExperimentSubtypesélectionné (par exemple,COMPARE_ASSETS). Créez deux ressources
ExperimentArmassociées au nom de ressource de test temporaire de l'étape 2, en définissantcampaigns(sur le nom de ressource de la campagne Performance Max),traffic_split(en additionnant100) etasset_groups(ExperimentArm.AssetGroupInfo) sur chaque bras :- Un groupe de contrôle (
control = true) oùasset_groupscontient unAssetGroupInfoavecasset_groupdéfini sur le nom de ressource duAssetGroupde base (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID). Lorsque vous testez des composants nouvellement ajoutés par rapport au groupe de composants de référence (ou lorsque vous utilisez les sous-typesADD_ASSETS_TO_ASSETLESS_RETAILouADD_VIDEO_ASSETS_TO_VIDEOLESS), laissezasset_group_assetsnon défini sur le groupe de contrôle. Lorsque vous comparez deux ensembles de composants distincts sousCOMPARE_ASSETS, listez les entréesAssetGroupAssetInfodu groupe de contrôle (assetetfield_type). - Un groupe de traitement (
control = false) oùasset_groupscontient unAssetGroupInfoavecasset_groupdéfini sur le même nom de ressourceAssetGroupde base (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) etasset_group_assets(repeatedAssetGroupAssetInfo) listant les ressourcesAssetet lesfield_typepour le groupe de traitement, y compris la ressourceAssetde test nouvellement créée (customers/CUSTOMER_ID/assets/-1) à l'étape 1.
- Un groupe de contrôle (
Créez des ressources
AssetGroupAssetassociant les composants de test de l'étape 1 (customers/CUSTOMER_ID/assets/-1) auAssetGroupde base utilisé dans les bras de test.
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
Rapport sur le test
Consultez le guide sur les rapports pour interroger la ressource experiment et comparer les métriques entre les groupes de composants de contrôle et de traitement.
Terminer ou arrêter
Après avoir évalué les résultats, vous pouvez mettre fin au test ou le faire passer à l'étape suivante à l'aide de ExperimentService.
- Mettre fin : si vous n'êtes pas satisfait des résultats du groupe de traitement, utilisez
EndExperiment. Il s'agit d'une opération synchrone. - Terminer le test : si vous préférez les performances du groupe de ressources du bras de traitement, utilisez
GraduateExperiment. Dans le cadre de ce processus, la campagne de base d'origine associée au groupe de contrôle est mise en veille, et le groupe de traitement est converti en une nouvelle campagne indépendante. Il s'agit d'une opération synchrone.