Los experimentos dentro de la campaña se usan para probar una función específica dentro de una sola campaña. A diferencia de los experimentos administrados por el sistema, en los que el tráfico se divide entre el control y la campaña de tratamiento, los experimentos dentro de la campaña dividen el tráfico dentro de la campaña, según si la función está habilitada o no.
Este flujo de trabajo es compatible con los siguientes
ExperimentType valores:
ADOPT_AI_MAXADOPT_BROAD_MATCH_KEYWORDS
Configuración
- Define el
Experiment, proporcionando un tipo de experimento, un controlExperimentArm, y un tratamientoExperimentArm. Cada grupo debe hacer referencia a la misma campaña. - Habilita la función de prueba para el experimento con una máscara de campo. Esto no es necesario para
ADOPT_BROAD_MATCH_KEYWORDS. En su lugar, la configuración de la campaña de concordancia amplia se habilitará automáticamente cuando se cree el experimento. - Envía una
GoogleAdsService.Mutatesolicitud que incluya operaciones de mutación para crear el experimento y los grupos de experimentos y (si corresponde) habilitar la función de prueba.
Una vez configurado, el tráfico se divide dentro de la campaña de modo que el 50% del tráfico se expone a la función habilitada (el grupo de tratamiento) y el 50% no (el grupo de control).
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, )
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
Informes sobre el experimento
Dado que el tráfico de control y de tratamiento se mezcla dentro de una sola campaña, debes usar informes directos del experimento para comparar las métricas entre los grupos de control y de tratamiento. Los informes estándar a nivel de la campaña solo muestran métricas agregadas para toda la campaña y no pueden distinguir entre los dos grupos.
Se puede usar la siguiente consulta de GAQL para recuperar las estadísticas de clics de un experimento dentro de la campaña 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'
Promociona o finaliza el experimento
Después de evaluar los resultados, puedes finalizar o promocionar el experimento con
ExperimentService.
- Finalizar: Si no estás satisfecho con los resultados, usa
EndExperiment. Se inhabilitará la función y la campaña volverá a publicar todo el tráfico sin la función experimental. Esta es una operación síncrona. - Promocionar: Si estás satisfecho con los resultados, usa
PromoteExperiment. Esto aplica el cambio experimental como el nuevo estado permanente de la campaña. Esta es una operación asíncrona. Consulta Errores asíncronos para obtener más detalles.
La operación graduate no es compatible con los experimentos dentro de la campaña porque no hay una campaña de tratamiento independiente para cambiar.