Tests d'optimisation des composants

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, un test avec des bras de traitement et de contrôle.
  • Associez le nouveau composant au groupe de composants du bras de traitement, le tout dans une seule requête mutate.

É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 lors d'opérations précédentes dans la même requête.

Les opérations de votre requête doivent être dans l'ordre suivant :

  1. Créez un Asset avec un nom de ressource temporaire (tel que customers/CUSTOMER_ID/assets/-1). Il s'agira de votre élément de test.
  2. Créez un Experiment avec un nom de ressource temporaire (par exemple, customers/CUSTOMER_ID/experiments/-2).
  3. Créez deux ressources ExperimentArm :
    • Bras de contrôle associé à un AssetGroup de base.
    • Un groupe de traitement associé à la même AssetGroup de base. Dans ce bras, définissez le champ asset_groups à l'aide du nom de ressource temporaire de l'asset créé à l'étape 1.
  4. Créez un AssetGroupAsset associant le composant de l'étape 1 au groupe de composants utilisé dans les bras du 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 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

Rapport sur le test

Vous pouvez générer des rapports sur les tests d'optimisation des composants à l'aide de la ressource experiment pour 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.
  • Diplômé : si vous préférez les performances du groupe d'assets 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.