การทดสอบภายในแคมเปญ

การทดสอบภายในแคมเปญใช้เพื่อทดสอบฟีเจอร์ที่เฉพาะเจาะจง ภายใน แคมเปญเดียว การทดสอบภายในแคมเปญจะแยกการเข้าชม ภายในแคมเปญ โดยอิงตามว่ามีการเปิดใช้ฟีเจอร์หรือไม่ ซึ่งแตกต่างจากการทดสอบที่ระบบจัดการซึ่งจะแยกการเข้าชมระหว่าง ควบคุมและแคมเปญทดสอบ

เวิร์กโฟลว์นี้รองรับค่าต่อไปนี้ ExperimentType

  • ADOPT_AI_MAX
  • ADOPT_BROAD_MATCH_KEYWORDS

ตั้งค่า

  1. กำหนด Experiment โดยระบุประเภทการทดลอง ควบคุม ExperimentArm และ กลุ่มทดสอบ ExperimentArm แต่ละกลุ่มควรอ้างอิงแคมเปญเดียวกัน
  2. เปิดใช้ฟีเจอร์การทดสอบสําหรับการทดสอบโดยใช้มาสก์ของฟิลด์ ซึ่งไม่ จําเป็นสําหรับ ADOPT_BROAD_MATCH_KEYWORDS แต่ระบบจะเปิดใช้การตั้งค่าแคมเปญคําหลักแบบกว้างโดยอัตโนมัติเมื่อสร้างการทดสอบ
  3. ส่งคําขอ GoogleAdsService.Mutate ที่มีการดําเนินการ mutate เพื่อสร้างการทดสอบและ กลุ่มการทดสอบ และ (หากมี) เพื่อเปิดใช้ฟีเจอร์การทดสอบ

เมื่อตั้งค่าแล้ว ระบบจะแยกการเข้าชมภายในแคมเปญเพื่อให้การเข้าชม 50% ได้เห็นฟีเจอร์ที่เปิดใช้ (กลุ่มทดสอบ) และ 50% ไม่ได้เห็น (กลุ่มควบคุม)

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

รายงานการทดสอบ

เนื่องจากมีการผสมการเข้าชมจากกลุ่มควบคุมและกลุ่มทดสอบภายในแคมเปญเดียว คุณ จึงต้องใช้ การรายงานการทดสอบโดยตรง เพื่อเปรียบเทียบเมตริกระหว่างกลุ่มควบคุมและกลุ่มทดสอบ การรายงานระดับแคมเปญมาตรฐานจะแสดงเฉพาะเมตริกที่รวบรวมไว้สําหรับทั้งแคมเปญ และไม่สามารถแยกความแตกต่างระหว่าง 2 กลุ่มได้

คุณสามารถใช้คําค้นหา GAQL ต่อไปนี้เพื่อดึงข้อมูลสถิติการคลิกสําหรับการทดสอบภายในแคมเปญ 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'

โปรโมตหรือสิ้นสุดการทดสอบ

หลังจากประเมินผลลัพธ์แล้ว คุณสามารถสิ้นสุดหรือโปรโมตการทดสอบโดยใช้ ExperimentService

  • สิ้นสุด: หากไม่พอใจกับผลลัพธ์ ให้ใช้ EndExperiment. ระบบจะปิดใช้ฟีเจอร์ และแคมเปญจะกลับไปแสดงการเข้าชมทั้งหมดโดยไม่มีฟีเจอร์การทดสอบ นี่เป็นการดําเนินการแบบซิงโครนัส
  • โปรโมต: หากพอใจกับผลลัพธ์ ให้ใช้ PromoteExperiment ซึ่งจะใช้การเปลี่ยนแปลงทดสอบเป็นสถานะถาวรใหม่ของแคมเปญ นี่เป็นการดําเนินการแบบอะซิงโครนัส โปรดดูรายละเอียดที่ ข้อผิดพลาดแบบอะซิงโครนัส

ระบบไม่รองรับการดําเนินการใช้การเปลี่ยนแปลงจากกลุ่มทดสอบที่ประสบความสําเร็จ สําหรับการทดสอบภายในแคมเปญ เนื่องจากไม่มีแคมเปญทดสอบแยกต่างหากให้ใช้การเปลี่ยนแปลงจากกลุ่มทดสอบที่ประสบความสําเร็จ