Eksperimen dalam kampanye digunakan untuk menguji fitur tertentu dalam satu kampanye. Tidak seperti eksperimen yang dikelola sistem yang membagi traffic antara kampanye kontrol dan perlakuan, eksperimen dalam kampanye membagi traffic dalam kampanye, berdasarkan apakah fitur diaktifkan atau tidak.
Alur kerja ini didukung untuk nilai
ExperimentType berikut:
ADOPT_AI_MAXADOPT_BROAD_MATCH_KEYWORDS
Penyiapan
- Tentukan
Experiment, dengan memberikan jenis eksperimen, kontrolExperimentArm, dan perlakuanExperimentArm. Setiap grup harus merujuk ke kampanye yang sama. - Aktifkan fitur pengujian untuk eksperimen dengan menggunakan mask kolom. Hal ini tidak diperlukan untuk
ADOPT_BROAD_MATCH_KEYWORDS; sebagai gantinya, setelan kampanye pencocokan luas akan diaktifkan secara otomatis saat pembuatan eksperimen. - Kirim permintaan
GoogleAdsService.Mutateyang mencakup operasi mutasi untuk membuat eksperimen dan grup eksperimen, serta (jika berlaku) untuk mengaktifkan fitur pengujian.
Setelah disiapkan, traffic akan dibagi dalam kampanye sehingga 50% traffic akan diekspos ke fitur yang diaktifkan (grup perlakuan) dan 50% tidak (grup kontrol).
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
# Create the experiment resource name using a temporary ID. experiment_resource_name = googleads_service.experiment_path( customer_id, "-1" ) # Create the experiment. experiment_operation = client.get_type("MutateOperation") experiment = experiment_operation.experiment_operation.create experiment.resource_name = experiment_resource_name experiment.name = f"ADOPT_AI_MAX Experiment #{uuid4()}" experiment.type_ = client.enums.ExperimentTypeEnum.ADOPT_AI_MAX experiment.status = client.enums.ExperimentStatusEnum.SETUP # Create the control arm. Both arms in an intra-campaign experiment # reference the same base campaign. control_arm_operation = client.get_type("MutateOperation") control_arm = control_arm_operation.experiment_arm_operation.create control_arm.experiment = experiment_resource_name control_arm.name = "Control Arm" control_arm.control = True control_arm.traffic_split = 50 control_arm.campaigns.append( googleads_service.campaign_path(customer_id, campaign_id) ) # Create the treatment arm. treatment_arm_operation = client.get_type("MutateOperation") treatment_arm = treatment_arm_operation.experiment_arm_operation.create treatment_arm.experiment = experiment_resource_name treatment_arm.name = "Treatment Arm" treatment_arm.control = False treatment_arm.traffic_split = 50 treatment_arm.campaigns.append( googleads_service.campaign_path(customer_id, campaign_id) ) # Create a campaign operation with an update mask to enable AI Max and # configure asset automation settings. campaign_operation = client.get_type("MutateOperation") campaign = campaign_operation.campaign_operation.update campaign.resource_name = googleads_service.campaign_path( customer_id, campaign_id ) campaign.ai_max_setting.enable_ai_max = True for asset_automation_type_enum in [ client.enums.AssetAutomationTypeEnum.TEXT_ASSET_AUTOMATION, client.enums.AssetAutomationTypeEnum.FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION, ]: asset_automation_setting = client.get_type( "Campaign" ).AssetAutomationSetting() asset_automation_setting.asset_automation_type = ( asset_automation_type_enum ) asset_automation_setting.asset_automation_status = ( client.enums.AssetAutomationStatusEnum.OPTED_IN ) campaign.asset_automation_settings.append(asset_automation_setting) client.copy_from( campaign_operation.campaign_operation.update_mask, protobuf_helpers.field_mask(None, campaign._pb), ) # Send all mutate operations in a single Mutate request. mutate_operations = [ experiment_operation, control_arm_operation, treatment_arm_operation, campaign_operation, ] 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
Melaporkan eksperimen
Karena traffic kontrol dan perlakuan digabungkan dalam satu kampanye, Anda harus menggunakan pelaporan eksperimen langsung untuk membandingkan metrik antara grup kontrol dan perlakuan. Pelaporan tingkat kampanye standar hanya menampilkan metrik gabungan untuk seluruh kampanye dan tidak dapat membedakan kedua grup.
Kueri GAQL berikut dapat digunakan untuk mengambil statistik klik untuk eksperimen dalam kampanye ADOPT_AI_MAX.
SELECT
experiment.resource_name,
experiment.name,
metrics.clicks,
metrics.control_clicks,
metrics.clicks_point_estimate,
metrics.clicks_p_value
FROM experiment
WHERE experiment.type = 'ADOPT_AI_MAX'
Mempromosikan atau mengakhiri eksperimen
Setelah mengevaluasi hasilnya, Anda dapat mengakhiri atau mempromosikan eksperimen menggunakan
ExperimentService.
- Akhiri: Jika Anda tidak puas dengan hasilnya, gunakan
EndExperiment. Fitur ini akan dinonaktifkan, dan kampanye akan kembali menayangkan semua traffic tanpa fitur eksperimental. Ini adalah operasi sinkron. - Promosikan: Jika Anda puas dengan hasilnya, gunakan
PromoteExperiment. Tindakan ini menerapkan perubahan eksperimental sebagai status permanen baru kampanye. Ini adalah operasi asinkron; lihat Error asinkron untuk mengetahui detailnya.
Operasi graduate tidak didukung untuk eksperimen dalam kampanye karena tidak ada kampanye perlakuan terpisah yang dapat diluluskan.