애셋 최적화 실험은 실적 최대화 캠페인 내에서 다양한 애셋 조합을 테스트하므로 다양한 애셋 세트가 기본 세트와 비교하여 어떻게 실적을 내는지 비교할 수 있습니다.
이 워크플로는 ExperimentType.OPTIMIZE_ASSETS에서 지원됩니다.
설정
애셋 최적화 실험을 설정하려면 다음 단계를 따르세요.
- 새 애셋과 대조 부문 및 실험 부문이 있는 실험을 만듭니다.
- 단일 mutate 요청 내에서 새 애셋을 실험 부문의 애셋 그룹에 연결합니다.
기본 요건
애셋 최적화 실험을 만들기 전에 기존 실적 최대화 캠페인과 두 실험 부문의 기준 역할을 하는 기본 AssetGroup 리소스(customers/{customer_id}/assetGroups/{asset_group_id})가 있어야 합니다. ADD_ASSETS_TO_ASSETLESS_RETAIL의 경우 실험을 만들기 전에 기본 AssetGroup에 이미 final_urls가 하나 이상 설정되어 있는지 확인합니다. 활성 확장 소재 실험은 기본 AssetGroup에 대한 수정을 정지하며 맞춤 확장 소재를 연결하려면 final_urls가 필요합니다.
요청 작업 순서
이러한 항목은 상호 의존적이므로 임시 리소스 이름을 사용하여 동일한 요청 내에서 이전 작업에서 생성된 리소스를 참조해야 합니다.
요청의 작업은 다음 순서여야 합니다.
- 임시 리소스 이름(예:
customers/CUSTOMER_ID/assets/-1)을 사용하여Asset리소스를 하나 이상 만듭니다. 기존 브랜드 링크가 없는 애셋 없는 소매 캠페인에 브랜드 가이드라인이 사용 설정된 경우 테스트 애셋과 새로운BUSINESS_NAME및LOGO브랜드 애셋을 포함합니다(이 경우 1단계 직후에CampaignAsset작업을 사용하여 해당 브랜드 애셋을 기본Campaign에 연결). - 임시 리소스 이름 (예:
customers/CUSTOMER_ID/experiments/-2)을 사용하여Experiment를 만들고,type를OPTIMIZE_ASSETS로 설정하고,status를ENABLED로 설정하고,optimize_assets_experiment.optimize_assets_experiment_subtype를 선택한OptimizeAssetsExperimentSubtype(예:COMPARE_ASSETS)로 설정합니다. 2단계의 임시 실험 리소스 이름에 연결된
ExperimentArm리소스 두 개를 만들고 각 부문에campaigns(실적 최대화 캠페인 리소스 이름),traffic_split(합계100),asset_groups(ExperimentArm.AssetGroupInfo)를 설정합니다.- 대조 부문 (
control = true). 여기서asset_groups에는asset_group가 기본AssetGroup(customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID)의 리소스 이름으로 설정된AssetGroupInfo가 포함됩니다. 새로 추가된 광고 확장 소재를 기준 애셋 그룹과 비교하여 테스트할 때 (또는ADD_ASSETS_TO_ASSETLESS_RETAIL또는ADD_VIDEO_ASSETS_TO_VIDEOLESS하위유형을 사용할 때) 대조 부문에서asset_group_assets를 설정하지 않은 상태로 둡니다.COMPARE_ASSETS에서 두 개의 고유한 애셋 모음을 비교할 때 대조 부문의AssetGroupAssetInfo항목(asset및field_type)을 나열합니다. asset_groups에asset_group가 동일한 기본AssetGroup리소스 이름 (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID)으로 설정된AssetGroupInfo가 포함된 실험 부문(control = false) 및 1단계에서 새로 만든 테스트Asset(customers/CUSTOMER_ID/assets/-1)를 포함하여 실험 부문의Asset리소스와field_type를 나열하는asset_group_assets(repeatedAssetGroupAssetInfo)ADD_ASSETS_TO_ASSETLESS_RETAIL를 사용하는 경우 실험 부문의asset_group_assets는 모든 최소 애셋 그룹 요구사항을 충족해야 하며 (YOUTUBE_VIDEO와 같은 선택적 애셋만 나열하지 않음), 기본 캠페인에서 브랜드 가이드라인이 사용 설정된 경우 필수 캠페인 수준BUSINESS_NAME및LOGOCampaignAsset링크가 있거나 동일한 요청에서 생성되어야 합니다.
- 대조 부문 (
1단계 (
customers/CUSTOMER_ID/assets/-1)의 테스트 애셋을 실험 부문에 사용된 기본AssetGroup에 연결하는 연속적인AssetGroupAsset리소스를 만듭니다.
자바
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를 사용합니다. 이 과정에서 대조 부문과 연결된 원래 기본 캠페인이 일시중지되고 실험 부문이 새로운 독립 캠페인으로 전환됩니다. 이는 동기식 작업입니다.