Les tests intracampagne permettent de tester une fonctionnalité spécifique dans une seule campagne. Contrairement aux tests gérés par le système, où le trafic est réparti entre les campagnes de contrôle et de test, les tests intracampagne répartissent le trafic au sein de la campagne, selon que la fonctionnalité est activée ou non.
Ce workflow est compatible avec les valeurs ExperimentType suivantes :
ADOPT_AI_MAXADOPT_BROAD_MATCH_KEYWORDS
Configuration
- Définissez
Experimenten fournissant un type de test, un contrôleExperimentArmet un traitementExperimentArm. Chaque bras doit faire référence à la même campagne. - Activez la fonctionnalité de test pour l'expérience à l'aide d'un masque de champ. Cette étape n'est pas nécessaire pour
ADOPT_BROAD_MATCH_KEYWORDS. Le paramètre de campagne en requête large sera activé automatiquement lors de la création du test. - Envoyez une requête
GoogleAdsService.Mutatequi inclut des opérations de mutation pour créer le test et les bras de test, et (le cas échéant) pour activer la fonctionnalité de test.
Une fois la fonctionnalité configurée, le trafic est réparti dans la campagne de sorte que 50% du trafic est exposé à la fonctionnalité activée (groupe de traitement) et 50% ne l'est pas (groupe de contrôle).
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
Rapport sur le test
Étant donné que le trafic de contrôle et de traitement est mélangé dans une même campagne, vous devez utiliser les rapports directs sur les tests pour comparer les métriques entre les groupes de contrôle et de traitement. Les rapports standards au niveau de la campagne n'affichent que des métriques agrégées pour l'ensemble de la campagne et ne peuvent pas faire la distinction entre les deux groupes.
La requête GAQL suivante peut être utilisée pour récupérer les statistiques sur les clics pour un test ADOPT_AI_MAX au sein d'une campagne.
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'
Appliquer ou terminer le test
Après avoir évalué les résultats, vous pouvez mettre fin au test ou le promouvoir à l'aide de ExperimentService.
- Fin : si vous n'êtes pas satisfait des résultats, utilisez
EndExperiment. La fonctionnalité sera désactivée et la campagne reviendra à la diffusion de tout le trafic sans la fonctionnalité expérimentale. Il s'agit d'une opération synchrone. - Promouvoir : si vous êtes satisfait des résultats, utilisez
PromoteExperiment. Cette option applique la modification expérimentale comme nouvel état permanent de la campagne. Il s'agit d'une opération asynchrone. Pour en savoir plus, consultez Erreurs asynchrones.
L'opération Valider n'est pas compatible avec les tests intracampagnes, car il n'existe pas de campagne de traitement distincte à valider.