Внутрикампанийные эксперименты используются для проверки конкретной функции в рамках одной кампании. В отличие от экспериментов, управляемых системой, где трафик распределяется между контрольной и экспериментальной кампаниями , внутрикампанийные эксперименты распределяют трафик внутри кампании в зависимости от того, включена функция или нет.
Данный рабочий процесс поддерживается для следующих значений ExperimentType :
-
ADOPT_AI_MAX -
ADOPT_BROAD_MATCH_KEYWORDS
Настраивать
- Опишите
Experiment, указав тип эксперимента, контрольнуюExperimentArm) и группу воздействияExperimentArm). Каждая группа должна относиться к одной и той же кампании. - Включите функцию тестирования для эксперимента, используя маску поля. Для параметра
ADOPT_BROAD_MATCH_KEYWORDSэто не требуется; вместо этого параметр кампании с широким соответствием будет включен автоматически при создании эксперимента. - Отправьте запрос
GoogleAdsService.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, )
Руби
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.
локон
Отчет об эксперименте
Поскольку в рамках одной кампании смешаны трафики контрольной и экспериментальной групп, для сравнения показателей между контрольной и экспериментальной группами необходимо использовать прямые отчеты по эксперименту . Стандартные отчеты на уровне кампании показывают только агрегированные показатели для всей кампании и не позволяют различать две группы.
Следующий 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. Функция будет отключена, и кампания вернется к показу всего трафика без экспериментальной функции. Это синхронная операция. - Promote : Если вас устраивают результаты, используйте
PromoteExperiment. Это применит экспериментальное изменение в качестве нового постоянного состояния кампании. Это асинхронная операция; подробности см. в разделе «Асинхронные ошибки» .
Процедура поэтапного проведения лечения не поддерживается для экспериментов в рамках одной кампании, поскольку не существует отдельной кампании лечения, для которой проводилось бы поэтапное проведение лечения.