Esperimenti sull'ottimizzazione degli asset

Gli esperimenti di ottimizzazione degli asset testano diverse combinazioni di asset all'interno delle campagne Performance Max, consentendoti di confrontare il rendimento di diversi set di asset con un set di base.

Questo workflow è supportato per ExperimentType.OPTIMIZE_ASSETS.

Configurazione

Per configurare un esperimento di ottimizzazione degli asset:

  • Crea un nuovo asset e un esperimento con gruppi di controllo e sperimentali.
  • Collega il nuovo asset al gruppo di asset del gruppo sperimentale all'interno di una singola richiesta di modifica.

Prerequisiti

Prima di creare un esperimento di ottimizzazione degli asset, devi avere una campagna Performance Max esistente e una risorsa AssetGroup di base (customers/{customer_id}/assetGroups/{asset_group_id}) che funge da riferimento per entrambi i gruppi sperimentali. Per ADD_ASSETS_TO_ASSETLESS_RETAIL, assicurati che la AssetGroup di base abbia già almeno un final_urls impostato prima di creare l'esperimento (un esperimento sugli asset attivo blocca le modifiche alla AssetGroup di base e il collegamento di asset personalizzati richiede final_urls).

Ordine delle operazioni di richiesta

Poiché queste entità sono interdipendenti, devi utilizzare nomi di risorse temporanei per fare riferimento alle risorse create nelle operazioni precedenti all'interno della stessa richiesta.

Le operazioni nella richiesta devono essere nel seguente ordine:

  1. Crea una o più risorse Asset con nomi di risorse temporanei (ad esempio customers/CUSTOMER_ID/assets/-1). Includi gli asset di test e gli eventuali nuovi asset del brand BUSINESS_NAME e LOGO se le linee guida per il brand sono attivate in una campagna per la vendita al dettaglio senza asset e senza link del brand esistenti (in questo caso, collega questi asset del brand alla risorsa Campaign di base con le operazioni CampaignAsset subito dopo il passaggio 1).
  2. Crea un Experiment con un nome risorsa temporaneo (ad esempio customers/CUSTOMER_ID/experiments/-2), type impostato su OPTIMIZE_ASSETS, status impostato su ENABLED e optimize_assets_experiment.optimize_assets_experiment_subtype impostato su OptimizeAssetsExperimentSubtype selezionato (ad esempio COMPARE_ASSETS).
  3. Crea due risorse ExperimentArm collegate al nome della risorsa dell'esperimento temporaneo del passaggio 2, impostando campaigns (sul nome della risorsa della campagna Performance Max), traffic_split (sommando a 100) e asset_groups (ExperimentArm.AssetGroupInfo) su ogni gruppo:

    • Un gruppo di controllo (control = true) in cui asset_groups contiene un AssetGroupInfo con asset_group impostato sul nome della risorsa dell'asset annuncio AssetGroup di base (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID). Quando testi gli asset annuncio appena aggiunti rispetto al gruppo di asset di riferimento (o quando utilizzi i sottotipi ADD_ASSETS_TO_ASSETLESS_RETAIL o ADD_VIDEO_ASSETS_TO_VIDEOLESS), lascia asset_group_assets non impostato nel gruppo di controllo; quando confronti due insiemi di asset distinti in COMPARE_ASSETS, elenca le voci AssetGroupAssetInfo del gruppo di controllo (asset e field_type).
    • Un gruppo sperimentale (control = false) in cui asset_groups contiene un AssetGroupInfo con asset_group impostato sullo stesso nome della risorsa AssetGroup di base (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) e asset_group_assets (repeated AssetGroupAssetInfo) che elenca le risorse Asset e i field_type per il gruppo sperimentale, incluso il Asset di test appena creato (customers/CUSTOMER_ID/assets/-1) dal passaggio 1. Quando utilizzi ADD_ASSETS_TO_ASSETLESS_RETAIL, asset_group_assets nel gruppo sperimentale deve soddisfare tutti i requisiti minimi del gruppo di asset (non elencare solo gli asset facoltativi come YOUTUBE_VIDEO) e i link BUSINESS_NAME e LOGO CampaignAsset obbligatori a livello di campagna devono essere presenti o creati nella stessa richiesta quando le linee guida per il brand sono attivate nella campagna di base.
  4. Crea risorse AssetGroupAsset consecutive che collegano gli asset di test del passaggio 1 (customers/CUSTOMER_ID/assets/-1) alla risorsa AssetGroup di base utilizzata nei gruppi sperimentali.

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

Report sull'esperimento

Consulta la guida ai report per eseguire query sulla risorsa experiment e confrontare le metriche tra i gruppi di asset di controllo e sperimentali.

Promozione o fine

Dopo aver valutato i risultati, puoi terminare o promuovere l'esperimento utilizzando ExperimentService.

  • Termina: se non sei soddisfatto dei risultati del gruppo sperimentale, utilizza EndExperiment. Questa è un'operazione sincrona.
  • Promuovi: se preferisci il rendimento del gruppo di asset del gruppo sperimentale, utilizza GraduateExperiment. Nell'ambito di questo processo, la campagna di base originale associata al gruppo di controllo viene messa in pausa e il gruppo sperimentale viene convertito in una nuova campagna indipendente. Questa è un'operazione sincrona.