Kampanya içi denemeler

Kampanya içi denemeler, tek bir kampanya içinde belirli bir özelliği test etmek için kullanılır. Trafiğin kontrol ve deney kampanyaları arasında bölündüğü sistem tarafından yönetilen denemelerin aksine, kampanya içi denemelerde trafik, özelliğin etkin olup olmamasına bağlı olarak kampanya içinde bölünür.

Bu iş akışı aşağıdaki ExperimentType değerleri için desteklenir:

  • ADOPT_AI_MAX
  • ADOPT_BROAD_MATCH_KEYWORDS

Kurulum

  1. Experiment tanımlayın. Deneme türü, kontrol ExperimentArm ve deney ExperimentArm sağlayın. Her kol aynı kampanyaya referansta bulunmalıdır.
  2. Alan maskesi kullanarak deneme için test özelliğini etkinleştirin. Bu, ADOPT_BROAD_MATCH_KEYWORDS için gerekli değildir. Bunun yerine, deneme oluşturulduğunda geniş eşleme kampanya ayarı otomatik olarak etkinleştirilir.
  3. Denemeyi ve deneme kollarını oluşturmak, ayrıca (varsa) test özelliğini etkinleştirmek için mutasyon işlemlerini içeren bir GoogleAdsService.Mutate istek gönderin.

Ayarlar yapıldıktan sonra trafik, kampanyada% 50'si etkinleştirilen özelliğe (değerlendirme grubu) maruz kalacak, %50'si ise kalmayacak (kontrol grubu) şekilde bölünür.

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

Deneme hakkında rapor oluşturma

Kontrol ve deney trafiği tek bir kampanyada karıştığı için kontrol ve deney grupları arasındaki metrikleri karşılaştırmak üzere doğrudan deneme raporlamasını kullanmanız gerekir. Standart kampanya düzeyindeki raporlama yalnızca kampanyanın tamamına ait toplu metrikleri gösterir ve iki grup arasında ayrım yapamaz.

Aşağıdaki GAQL sorgusu, bir kampanya içi denemenin tıklama istatistiklerini almak için kullanılabilir.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'

Denemeyi tanıtma veya sonlandırma

Sonuçları değerlendirdikten sonra ExperimentService simgesini kullanarak denemeyi sonlandırabilir veya tanıtabilirsiniz.

  • Sonlandırma: Sonuçlardan memnun değilseniz EndExperiment simgesini kullanın. Özellik devre dışı bırakılır ve kampanya, deneysel özellik olmadan tüm trafiğe yayınlanmaya geri döner. Bu işlem eşzamanlıdır.
  • Tanıtım: Sonuçlardan memnunsanız PromoteExperiment simgesini kullanın. Bu seçenek, deneme amaçlı değişikliği kampanyanın yeni kalıcı durumu olarak uygular. Bu eşzamansız bir işlemdir. Ayrıntılar için Eşzamansız hatalar başlıklı makaleyi inceleyin.

Kampanya içi denemelerde sonuçların uygulanması desteklenmez. Bunun nedeni, sonuçların uygulanacağı ayrı bir değerlendirme kampanyasının olmamasıdır.