Tests zur Asset-Optimierung

Bei Tests zur Asset-Optimierung werden verschiedene Asset-Kombinationen in Performance Max-Kampagnen getestet. So können Sie die Leistung verschiedener Asset-Gruppen mit einer Basisgruppe vergleichen.

Dieser Workflow wird für ExperimentType.OPTIMIZE_ASSETS unterstützt.

Einrichtung

So richten Sie einen Test zur Asset-Optimierung ein:

  • Erstellen Sie ein neues Asset und einen Test mit Kontroll- und Testgruppen.
  • Verknüpfen Sie das neue Asset mit der Asset-Gruppe der Testgruppe in einer einzigen Mutationsanfrage.

Vorbereitung

Bevor Sie einen Test zur Asset-Optimierung erstellen, benötigen Sie eine vorhandene Performance Max-Kampagne und eine AssetGroup-Basisressource (customers/{customer_id}/assetGroups/{asset_group_id}), die als Referenz für beide Testverzweigungen dient.

Reihenfolge der Anfragevorgänge

Da diese Entitäten voneinander abhängig sind, müssen Sie temporäre Ressourcennamen verwenden, um auf Ressourcen zu verweisen, die in früheren Vorgängen innerhalb derselben Anfrage erstellt wurden.

Die Vorgänge in Ihrer Anfrage müssen in der folgenden Reihenfolge angegeben werden:

  1. Erstellen Sie eine oder mehrere Asset-Ressourcen mit temporären Ressourcennamen (z. B. customers/CUSTOMER_ID/assets/-1). Dies sind Ihre Test-Assets.
  2. Erstellen Sie ein Experiment mit einem temporären Ressourcennamen (z. B. customers/CUSTOMER_ID/experiments/-2), wobei type auf OPTIMIZE_ASSETS, status auf ENABLED und optimize_assets_experiment.optimize_assets_experiment_subtype auf das ausgewählte OptimizeAssetsExperimentSubtype (z. B. COMPARE_ASSETS) festgelegt ist.
  3. Erstellen Sie zwei ExperimentArm-Ressourcen, die mit dem temporären Ressourcennamen des Tests aus Schritt 2 verknüpft sind. Legen Sie für jede Verzweigung campaigns (auf den Ressourcennamen der Performance Max-Kampagne), traffic_split (Summe muss 100 ergeben) und asset_groups (ExperimentArm.AssetGroupInfo) fest:

    • Ein Kontrollarm (control = true), wobei asset_groups ein AssetGroupInfo enthält, wobei asset_group auf den Ressourcennamen der Basis-AssetGroup (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) festgelegt ist. Wenn Sie neu hinzugefügte Assets mit der Baseline-Asset-Gruppe vergleichen (oder die Untertypen ADD_ASSETS_TO_ASSETLESS_RETAIL oder ADD_VIDEO_ASSETS_TO_VIDEOLESS verwenden), lassen Sie asset_group_assets in der Kontrollgruppe ungesetzt. Wenn Sie zwei verschiedene Asset-Sammlungen unter COMPARE_ASSETS vergleichen, listen Sie die AssetGroupAssetInfo-Einträge des Kontrollarms (asset und field_type) auf.
    • Eine Testgruppe (control = false), wobei asset_groups eine AssetGroupInfo enthält, bei der asset_group auf denselben Basis-AssetGroup-Ressourcennamen (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) festgelegt ist, und asset_group_assets (repeated AssetGroupAssetInfo) mit den Asset-Ressourcen und field_types für die Testgruppe, einschließlich der neu erstellten Test-Asset (customers/CUSTOMER_ID/assets/-1) aus Schritt 1.
  4. Erstellen Sie AssetGroupAsset-Ressourcen, die die Test-Assets aus Schritt 1 (customers/CUSTOMER_ID/assets/-1) mit der Basis-AssetGroup verknüpfen, die in den Testzweigen verwendet wird.

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

Bericht zum Test erstellen

Im Leitfaden zur Berichterstellung finden Sie Informationen dazu, wie Sie die Ressource experiment abfragen und Messwerte zwischen der Kontroll- und der Test-Asset-Gruppe vergleichen können.

Umstellen oder beenden

Nachdem Sie die Ergebnisse ausgewertet haben, können Sie den Test mit ExperimentService entweder beenden oder hochstufen.

  • Beenden: Wenn Sie mit den Ergebnissen der Testgruppe nicht zufrieden sind, verwenden Sie EndExperiment. Dies ist ein synchroner Vorgang.
  • Übernehmen: Wenn Sie die Leistung der Asset-Gruppe der Testgruppe bevorzugen, verwenden Sie GraduateExperiment. Dabei wird die ursprüngliche Ausgangskampagne, die mit der Kontrollgruppe verknüpft ist, pausiert und die Testgruppe wird in eine neue, unabhängige Kampagne umgewandelt. Dies ist ein synchroner Vorgang.