애셋 최적화 실험

애셋 최적화 실험은 실적 최대화 캠페인 내에서 다양한 애셋 조합을 테스트하므로 다양한 애셋 세트가 기본 세트와 비교하여 어떻게 실적을 내는지 비교할 수 있습니다.

이 워크플로는 ExperimentType.OPTIMIZE_ASSETS에서 지원됩니다.

설정

애셋 최적화 실험을 설정하려면 다음 단계를 따르세요.

  • 새 애셋과 대조 부문 및 실험 부문이 있는 실험을 만듭니다.
  • 단일 mutate 요청 내에서 새 애셋을 실험 부문의 애셋 그룹에 연결합니다.

기본 요건

애셋 최적화 실험을 만들기 전에 기존 실적 최대화 캠페인과 두 실험 부문의 기준 역할을 하는 기본 AssetGroup 리소스(customers/{customer_id}/assetGroups/{asset_group_id})가 있어야 합니다. ADD_ASSETS_TO_ASSETLESS_RETAIL의 경우 실험을 만들기 전에 기본 AssetGroup에 이미 final_urls가 하나 이상 설정되어 있는지 확인합니다. 활성 확장 소재 실험은 기본 AssetGroup에 대한 수정을 정지하며 맞춤 확장 소재를 연결하려면 final_urls가 필요합니다.

요청 작업 순서

이러한 항목은 상호 의존적이므로 임시 리소스 이름을 사용하여 동일한 요청 내에서 이전 작업에서 생성된 리소스를 참조해야 합니다.

요청의 작업은 다음 순서여야 합니다.

  1. 임시 리소스 이름(예: customers/CUSTOMER_ID/assets/-1)을 사용하여 Asset 리소스를 하나 이상 만듭니다. 기존 브랜드 링크가 없는 애셋 없는 소매 캠페인에 브랜드 가이드라인이 사용 설정된 경우 테스트 애셋과 새로운 BUSINESS_NAME 및 LOGO 브랜드 애셋을 포함합니다(이 경우 1단계 직후에 CampaignAsset 작업을 사용하여 해당 브랜드 애셋을 기본 Campaign에 연결).
  2. 임시 리소스 이름 (예: customers/CUSTOMER_ID/experiments/-2)을 사용하여 Experiment를 만들고, type를 OPTIMIZE_ASSETS로 설정하고, status를 ENABLED로 설정하고, optimize_assets_experiment.optimize_assets_experiment_subtype를 선택한 OptimizeAssetsExperimentSubtype (예: COMPARE_ASSETS)로 설정합니다.
  3. 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 (repeated AssetGroupAssetInfo) ADD_ASSETS_TO_ASSETLESS_RETAIL를 사용하는 경우 실험 부문의 asset_group_assets는 모든 최소 애셋 그룹 요구사항을 충족해야 하며 (YOUTUBE_VIDEO와 같은 선택적 애셋만 나열하지 않음), 기본 캠페인에서 브랜드 가이드라인이 사용 설정된 경우 필수 캠페인 수준 BUSINESS_NAME 및 LOGO CampaignAsset 링크가 있거나 동일한 요청에서 생성되어야 합니다.
  4. 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를 사용합니다. 이 과정에서 대조 부문과 연결된 원래 기본 캠페인이 일시중지되고 실험 부문이 새로운 독립 캠페인으로 전환됩니다. 이는 동기식 작업입니다.