Thử nghiệm trong chiến dịch

Thử nghiệm trong chiến dịch được dùng để thử nghiệm một tính năng cụ thể trong một chiến dịch duy nhất. Không giống như các thử nghiệm do hệ thống quản lý (lưu lượng truy cập được chia giữa chiến dịch đối chứng và chiến dịch thử nghiệm), thử nghiệm trong chiến dịch sẽ chia lưu lượng truy cập trong chiến dịch, dựa trên việc tính năng này có được bật hay không.

Quy trình này được hỗ trợ cho các giá trị ExperimentType sau đây:

  • ADOPT_AI_MAX
  • ADOPT_BROAD_MATCH_KEYWORDS

Thiết lập

  1. Xác định Experiment, cung cấp loại thử nghiệm, nhóm đối chứng ExperimentArm và nhóm thử nghiệm ExperimentArm. Mỗi nhóm thử nghiệm phải tham chiếu đến cùng một chiến dịch.
  2. Bật tính năng kiểm thử cho thử nghiệm bằng cách sử dụng mặt nạ trường. Điều này không cần thiết cho ADOPT_BROAD_MATCH_KEYWORDS; thay vào đó, chế độ cài đặt chiến dịch khớp mở rộng sẽ tự động được bật khi bạn tạo thử nghiệm.
  3. Gửi yêu cầu GoogleAdsService.Mutate bao gồm các thao tác biến đổi để tạo thử nghiệm và nhóm thử nghiệm, đồng thời (nếu có) để bật tính năng thử nghiệm.

Sau khi thiết lập, lưu lượng truy cập sẽ được phân chia trong chiến dịch sao cho 50% lưu lượng truy cập được tiếp xúc với tính năng đã bật (nhóm thử nghiệm) và 50% không được tiếp xúc (nhóm đối chứng).

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

Báo cáo về thử nghiệm

Vì lưu lượng truy cập của nhóm đối chứng và nhóm thử nghiệm được kết hợp trong một chiến dịch duy nhất, nên bạn phải sử dụng báo cáo thử nghiệm trực tiếp để so sánh các chỉ số giữa nhóm đối chứng và nhóm thử nghiệm. Báo cáo tiêu chuẩn ở cấp chiến dịch chỉ cho thấy các chỉ số tổng hợp cho toàn bộ chiến dịch và không thể phân biệt giữa hai nhóm.

Bạn có thể dùng truy vấn GAQL sau đây để truy xuất số liệu thống kê về lượt nhấp cho một thử nghiệm ADOPT_AI_MAX trong chiến dịch.

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'

Quảng bá hoặc kết thúc thử nghiệm

Sau khi đánh giá kết quả, bạn có thể kết thúc hoặc quảng bá thử nghiệm bằng cách sử dụng biểu tượng ExperimentService.

  • Kết thúc: Nếu bạn không hài lòng với kết quả, hãy sử dụng biểu tượng EndExperiment. Tính năng này sẽ bị tắt và chiến dịch sẽ quay lại phân phát tất cả lưu lượng truy cập mà không có tính năng thử nghiệm. Đây là một thao tác đồng bộ.
  • Quảng bá: Nếu hài lòng với kết quả, hãy sử dụng PromoteExperiment. Thao tác này sẽ áp dụng thay đổi thử nghiệm làm trạng thái cố định mới của chiến dịch. Đây là một thao tác không đồng bộ; hãy xem phần Lỗi không đồng bộ để biết thông tin chi tiết.

Thao tác chuyển dần lên không được hỗ trợ cho thử nghiệm trong chiến dịch vì không có chiến dịch thử nghiệm riêng để chuyển dần lên.