Eksperimen pengoptimalan aset

Eksperimen pengoptimalan aset menguji berbagai kombinasi aset dalam kampanye Performa Maksimal, sehingga Anda dapat membandingkan performa berbagai kumpulan aset dengan kumpulan dasar.

Alur kerja ini didukung untuk ExperimentType.OPTIMIZE_ASSETS.

Penyiapan

Untuk menyiapkan eksperimen pengoptimalan aset:

  • Buat aset baru dan eksperimen dengan grup kontrol dan grup perlakuan.
  • Tautkan aset baru ke grup aset grup perlakuan dalam satu permintaan modifikasi.

Prasyarat

Sebelum membuat eksperimen pengoptimalan aset, Anda harus memiliki kampanye Performa Maksimal yang ada dan resource AssetGroup dasar (customers/{customer_id}/assetGroups/{asset_group_id}) yang berfungsi sebagai dasar pengukuran untuk kedua grup eksperimen. Untuk ADD_ASSETS_TO_ASSETLESS_RETAIL, pastikan AssetGroup dasar sudah memiliki setidaknya satu final_urls yang ditetapkan sebelum membuat eksperimen (eksperimen aset yang aktif akan membekukan pengeditan pada AssetGroup dasar, dan penautan aset kustom memerlukan final_urls).

Urutan operasi permintaan

Karena entitas ini saling bergantung, Anda harus menggunakan nama resource sementara untuk merujuk ke resource yang dibuat dalam operasi sebelumnya dalam permintaan yang sama.

Operasi dalam permintaan Anda harus dalam urutan berikut:

  1. Buat satu atau beberapa resource Asset dengan nama resource sementara (seperti customers/CUSTOMER_ID/assets/-1). Sertakan aset pengujian Anda, serta aset merek BUSINESS_NAME dan LOGO baru jika pedoman merek diaktifkan di kampanye retail tanpa aset tanpa link merek yang ada (dalam hal ini, tautkan aset merek tersebut ke Campaign dasar dengan operasi CampaignAsset segera setelah langkah 1).
  2. Buat Experiment dengan nama resource sementara (misalnya, customers/CUSTOMER_ID/experiments/-2), type ditetapkan ke OPTIMIZE_ASSETS, status ditetapkan ke ENABLED, dan optimize_assets_experiment.optimize_assets_experiment_subtype ditetapkan ke OptimizeAssetsExperimentSubtype yang dipilih (misalnya, COMPARE_ASSETS).
  3. Buat dua resource ExperimentArm yang ditautkan ke nama resource eksperimen sementara dari langkah 2, dengan menetapkan campaigns (ke nama resource kampanye Performa Maksimal), traffic_split (menjumlahkan ke 100), dan asset_groups (ExperimentArm.AssetGroupInfo) di setiap grup:

    • Grup kontrol (control = true) dengan asset_groups berisi AssetGroupInfo dengan asset_group ditetapkan ke nama resource AssetGroup dasar (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID). Saat menguji aset yang baru ditambahkan terhadap grup aset dasar pengukuran (atau saat menggunakan subjenis ADD_ASSETS_TO_ASSETLESS_RETAIL atau ADD_VIDEO_ASSETS_TO_VIDEOLESS), biarkan asset_group_assets tidak ditetapkan di grup kontrol; saat membandingkan dua kumpulan aset yang berbeda di bagian COMPARE_ASSETS, cantumkan entri AssetGroupAssetInfo grup kontrol (asset dan field_type).
    • Grup perlakuan (control = false) dengan asset_groups berisi AssetGroupInfo dengan asset_group ditetapkan ke nama resource AssetGroup dasar yang sama (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) dan asset_group_assets (repeated AssetGroupAssetInfo) yang mencantumkan resource Asset dan field_type untuk grup perlakuan, termasuk Asset pengujian yang baru dibuat (customers/CUSTOMER_ID/assets/-1) dari langkah 1. Saat menggunakan ADD_ASSETS_TO_ASSETLESS_RETAIL, asset_group_assets di grup perlakuan harus memenuhi semua persyaratan grup aset minimum (jangan hanya mencantumkan aset opsional seperti YOUTUBE_VIDEO), dan link BUSINESS_NAME dan LOGO CampaignAsset tingkat kampanye yang diperlukan harus ada atau dibuat dalam permintaan yang sama saat pedoman merek diaktifkan di kampanye dasar.
  4. Buat resource AssetGroupAsset berturut-turut yang menautkan aset pengujian dari langkah 1 (customers/CUSTOMER_ID/assets/-1) ke AssetGroup dasar yang digunakan dalam grup eksperimen.

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

Melaporkan eksperimen

Lihat Panduan pelaporan untuk mengkueri resource experiment dan membandingkan metrik antara grup aset kontrol dan perlakuan.

Lulus atau berakhir

Setelah mengevaluasi hasilnya, Anda dapat mengakhiri atau meluluskan eksperimen menggunakan ExperimentService.

  • Akhiri: Jika Anda tidak puas dengan hasil dari grup perlakuan, gunakan EndExperiment. Operasi ini adalah operasi sinkron.
  • Lulus: Jika Anda lebih menyukai performa grup aset di grup perlakuan, gunakan GraduateExperiment. Sebagai bagian dari proses ini, kampanye dasar asli yang terkait dengan grup kontrol akan dijeda, dan grup perlakuan akan dikonversi menjadi kampanye baru yang independen. Operasi ini adalah operasi sinkron.