Esperimenti all'interno della stessa campagna

Gli esperimenti all'interno della campagna vengono utilizzati per testare una funzionalità specifica all'interno di una singola campagna. A differenza degli esperimenti gestiti dal sistema in cui il traffico viene suddiviso tra le campagne di controllo e sperimentale, gli esperimenti all'interno della campagna suddividono il traffico all'interno della campagna, in base al fatto che la funzionalità sia attivata o meno.

Questo flusso di lavoro è supportato per i seguenti ExperimentType valori:

  • ADOPT_AI_MAX
  • ADOPT_BROAD_MATCH_KEYWORDS

Configurazione

  1. Definisci il Experiment, fornendo un tipo di esperimento, un controllo ExperimentArm e un gruppo sperimentale ExperimentArm. Ogni gruppo deve fare riferimento alla stessa campagna.
  2. Attiva la funzionalità di test per l'esperimento utilizzando una maschera di campo. Questo non è necessario per ADOPT_BROAD_MATCH_KEYWORDS; al contrario, l'impostazione della campagna con corrispondenza generica verrà attivata automaticamente al momento della creazione dell'esperimento.
  3. Invia una GoogleAdsService.Mutate richiesta che includa le operazioni di mutazione per creare l'esperimento e i gruppi sperimentali e, se applicabile, per attivare la funzionalità di test.

Una volta configurato, il traffico viene suddiviso all'interno della campagna in modo che il 50% del traffico sia esposto alla funzionalità attivata (il gruppo sperimentale) e il 50% no (il gruppo di controllo).

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

Report sull'esperimento

Poiché il traffico di controllo e sperimentale è combinato all'interno di una singola campagna, devi utilizzare i report diretti sugli esperimenti per confrontare le metriche tra i gruppi di controllo e sperimentale. I report standard a livello di campagna mostrano solo le metriche aggregate per l'intera campagna e non possono distinguere tra i due gruppi.

La seguente query GAQL può essere utilizzata per recuperare le statistiche sui clic per un esperimento all'interno della campagna 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'

Promuovere o terminare l'esperimento

Dopo aver valutato i risultati, puoi terminare o promuovere l'esperimento utilizzando ExperimentService.

  • Termina: se non sei soddisfatto dei risultati, utilizza EndExperiment. La funzionalità verrà disattivata e la campagna tornerà a pubblicare tutto il traffico senza la funzionalità sperimentale. Si tratta di un'operazione sincrona.
  • Promuovi: se sei soddisfatto dei risultati, utilizza PromoteExperiment. In questo modo, la modifica sperimentale viene applicata come nuovo stato permanente della campagna. Si tratta di un'operazione asincrona. Per maggiori dettagli, consulta Errori asincroni.

L'operazione di promozione non è supportata per gli esperimenti all'interno della campagna perché non esiste una campagna sperimentale separata da promuovere.