การทดสอบการเพิ่มประสิทธิภาพชิ้นงานจะทดสอบการผสมผสานชิ้นงานแบบต่างๆ ภายในแคมเปญ Performance Max ซึ่งช่วยให้คุณเปรียบเทียบประสิทธิภาพของชิ้นงานชุดต่างๆ กับชุดพื้นฐานได้
เวิร์กโฟลว์นี้ใช้ได้กับ ExperimentType.OPTIMIZE_ASSETS
ตั้งค่า
วิธีสร้างการทดสอบการเพิ่มประสิทธิภาพชิ้นงาน
- สร้างชิ้นงานใหม่และการทดสอบที่มีกลุ่มควบคุมและกลุ่มทดสอบ
- ลิงก์ชิ้นงานใหม่กับกลุ่มชิ้นงานของกลุ่มทดสอบภายในคำขอเปลี่ยนแปลงข้อมูลในเซิร์ฟเวอร์รายการเดียว
ข้อกำหนดเบื้องต้น
ก่อนสร้างการทดสอบการเพิ่มประสิทธิภาพชิ้นงาน คุณต้องมีแคมเปญ Performance Max และทรัพยากร AssetGroup พื้นฐาน (customers/{customer_id}/assetGroups/{asset_group_id}) ที่ใช้เป็นเกณฑ์พื้นฐานสําหรับกลุ่มทดสอบทั้ง 2 กลุ่ม สำหรับ ADD_ASSETS_TO_ASSETLESS_RETAIL โปรดตรวจสอบว่า AssetGroup พื้นฐานมี final_urls อย่างน้อย 1 รายการก่อนสร้างการทดสอบ (การทดสอบชิ้นงานที่ใช้งานอยู่จะหยุดการแก้ไข AssetGroup พื้นฐาน และการลิงก์ชิ้นงานที่กำหนดเองต้องใช้ final_urls)
ลำดับการดำเนินการตามคำขอ
เนื่องจากเอนทิตีเหล่านี้ต้องพึ่งพากัน คุณจึงต้องใช้ชื่อทรัพยากรชั่วคราวเพื่ออ้างอิงทรัพยากรที่สร้างขึ้นในการดำเนินการก่อนหน้าภายในคำขอเดียวกัน
การดำเนินการในคำขอต้องเป็นไปตามลำดับต่อไปนี้
- สร้างทรัพยากร
Assetอย่างน้อย 1 รายการที่มีชื่อทรัพยากรชั่วคราว (เช่นcustomers/CUSTOMER_ID/assets/-1) โดยรวมชิ้นงานทดสอบ รวมถึงชิ้นงานของแบรนด์BUSINESS_NAMEและLOGOใหม่ หากเปิดใช้หลักเกณฑ์การใช้แบรนด์ในแคมเปญค้าปลีกแบบไม่มีชิ้นงานซึ่งไม่มีลิงก์แบรนด์ที่มีอยู่ (ในกรณีนี้ ให้ลิงก์ชิ้นงานของแบรนด์เหล่านั้นกับCampaignพื้นฐานด้วยการดำเนินการCampaignAssetทันทีหลังจากขั้นตอนที่ 1) - สร้าง
Experimentที่มีชื่อทรัพยากรชั่วคราว (เช่นcustomers/CUSTOMER_ID/experiments/-2) โดยตั้งค่าtypeเป็นOPTIMIZE_ASSETS,statusเป็นENABLEDและoptimize_assets_experiment.optimize_assets_experiment_subtypeเป็นOptimizeAssetsExperimentSubtypeที่เลือก (เช่นCOMPARE_ASSETS) สร้างทรัพยากร
ExperimentArm2 รายการที่ลิงก์กับชื่อทรัพยากรการทดสอบชั่วคราวจากขั้นตอนที่ 2 โดยตั้งค่าcampaigns(เป็นชื่อทรัพยากรแคมเปญ Performance Max),traffic_split(รวมเป็น100) และasset_groups(ExperimentArm.AssetGroupInfo) ในแต่ละกลุ่ม ดังนี้- กลุ่มควบคุม (
control = true) โดยที่asset_groupsมีAssetGroupInfoที่มีasset_groupตั้งค่าเป็นชื่อทรัพยากรของAssetGroupพื้นฐาน (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) เมื่อทดสอบชิ้นงานโฆษณาที่เพิ่มใหม่เทียบกับกลุ่มชิ้นงานพื้นฐาน (หรือเมื่อใช้ประเภทย่อยADD_ASSETS_TO_ASSETLESS_RETAILหรือADD_VIDEO_ASSETS_TO_VIDEOLESS) ให้ปล่อยasset_group_assetsไม่ตั้งค่าในกลุ่มควบคุม เมื่อเปรียบเทียบชุดชิ้นงานที่แตกต่างกัน 2 ชุดในCOMPARE_ASSETSให้ระบุรายการAssetGroupAssetInfoของกลุ่มควบคุม (assetและfield_type) - กลุ่มทดสอบ (
control = false) โดยที่asset_groupsมีAssetGroupInfoที่มีasset_groupตั้งค่าเป็นชื่อทรัพยากรAssetGroupพื้นฐานเดียวกัน (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) และasset_group_assets(repeatedAssetGroupAssetInfo) ที่แสดงทรัพยากรAssetและfield_typeสำหรับกลุ่มทดสอบ รวมถึงAsset(customers/CUSTOMER_ID/assets/-1) ที่สร้างขึ้นใหม่จากขั้นตอนที่ 1 เมื่อใช้ADD_ASSETS_TO_ASSETLESS_RETAILasset_group_assetsในกลุ่มทดสอบต้องเป็นไปตามข้อกำหนดขั้นต่ำของกลุ่มชิ้นงานทั้งหมด (อย่าระบุเฉพาะชิ้นงานที่ไม่บังคับ เช่นYOUTUBE_VIDEO) และต้องมีหรือสร้างลิงก์BUSINESS_NAMEและLOGOCampaignAssetระดับแคมเปญที่จำเป็นในคำขอเดียวกันเมื่อเปิดใช้หลักเกณฑ์การใช้แบรนด์ในแคมเปญพื้นฐาน
- กลุ่มควบคุม (
สร้างการลิงก์ทรัพยากร
AssetGroupAssetที่ต่อเนื่องกันเพื่อลิงก์ชิ้นงานทดสอบจากขั้นตอนที่ 1 (customers/CUSTOMER_ID/assets/-1) กับAssetGroupพื้นฐานที่ใช้ในกลุ่มทดสอบ
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
รายงานเกี่ยวกับการทดสอบ
ดูคู่มือการรายงานเพื่อค้นหาทรัพยากร experiment และเปรียบเทียบเมตริกระหว่างกลุ่มชิ้นงานควบคุมและกลุ่มชิ้นงานทดสอบ
จบการศึกษาหรือสิ้นสุดการศึกษา
หลังจากประเมินผลลัพธ์แล้ว คุณสามารถสิ้นสุดหรือจบการทดสอบโดยใช้ ExperimentService
- สิ้นสุด: หากไม่พอใจกับผลลัพธ์จากกลุ่มทดสอบ ให้ใช้
EndExperimentการดำเนินการนี้เป็นการดำเนินการแบบซิงโครนัส - จบการทดสอบ: หากคุณพอใจกับประสิทธิภาพของกลุ่มชิ้นงานในกลุ่มทดสอบ ให้ใช้
GraduateExperimentในกระบวนการนี้ แคมเปญพื้นฐานเดิมที่เชื่อมโยงกับกลุ่มควบคุมจะหยุดชั่วคราว และกลุ่มทดสอบจะเปลี่ยนเป็นแคมเปญใหม่ที่เป็นอิสระ การดำเนินการนี้เป็นการดำเนินการแบบซิงโครนัส