캠페인 내 실험은 단일 캠페인 내에서 특정 기능을 테스트하는 데 사용됩니다. 트래픽이 대조 캠페인과 실험 캠페인 간에 분할되는 시스템 관리 실험과 달리 캠페인 내 실험은 기능이 사용 설정되었는지 여부에 따라 캠페인 내에서 트래픽을 분할합니다.
이 워크플로는 다음
ExperimentType 값에 지원됩니다.
ADOPT_AI_MAXADOPT_BROAD_MATCH_KEYWORDS
설정
- 실험 유형, 대조
ExperimentArm, 실험ExperimentArm을 제공하여Experiment를 정의합니다. 각 부문은 동일한 캠페인을 참조해야 합니다. - 필드 마스크를 사용하여 실험의 테스트 기능을 사용 설정합니다.
ADOPT_BROAD_MATCH_KEYWORDS에는 필요하지 않습니다. 대신 실험 생성 시 확장검색 캠페인 설정이 자동으로 사용 설정됩니다. - 실험 및 실험 부문을 만들고 (해당하는 경우) 테스트 기능을 사용 설정하는 변경 작업을 포함하는
GoogleAdsService.Mutate요청을 보냅니다.
설정되면 트래픽의 50% 가 사용 설정된 기능 (실험 그룹)에 노출되고 50% 는 노출되지 않도록 (대조 그룹) 캠페인 내에서 트래픽이 분할됩니다.
자바
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
실험 보고
대조 트래픽과 실험 트래픽이 단일 캠페인 내에서 혼합되므로 직접 실험 보고를 사용하여 대조 그룹과 실험 그룹 간의 측정항목을 비교해야 합니다. 표준 캠페인 수준 보고서 전용은 전체 캠페인의 집계된 측정항목만 표시하며 두 그룹을 구분할 수 없습니다.
다음 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를 사용합니다. 이렇게 하면 실험 변경사항이 캠페인의 새 영구 상태로 적용됩니다. 이는 비동기식 작업입니다. 자세한 내용은 비동기 오류를 참고하세요.
캠페인 내 실험에는 승격할 별도의 실험 캠페인이 없으므로 승격 작업이 지원되지 않습니다.