Existen dos formas principales de generar informes sobre los experimentos A/B estándar:
- Informes de experimentos directos: Consulta el recurso
experimentpara obtener métricas. Esta opción proporciona métricas para los grupos de control y de tratamiento en una sola respuesta, junto con datos de comparación estadística, como el aumento y los valores p. Esta es la única forma de generar informes sobre los experimentos dentro de la campaña. - Informes de campañas: Consulta el recurso
campaignpara obtener métricas y usacampaign.experiment_typepara distinguir entre las campañas de base y las experimentales. Esta opción solo está disponible para los experimentos que usan campañas de control y tratamiento independientes, como los experimentos administrados por el sistema.
En el caso de los experimentos estándar, esta guía se enfoca principalmente en los informes de experimentos directos, que son compatibles con todos los tipos de experimentos que admiten informes. En el caso de los estudios de medición de efectividad, también puedes generar informes sobre Brand Lift, Efectividad de conversiones y Efectividad de búsqueda con recursos de medición de efectividad específicos.
Informes de experimentos directos
Puedes consultar el recurso experiment directamente para recuperar las métricas de rendimiento y las comparaciones estadísticas entre tus grupos de control y de tratamiento.
Métricas e importancia estadística
En el caso de las métricas principales, como los clics, las impresiones, el costo, las conversiones y el valor de conversión, el recurso experiment proporciona métricas de tratamiento (por ejemplo, metrics.clicks) y métricas de control (por ejemplo, metrics.control_clicks) en la misma fila.
También proporciona campos para ayudarte a evaluar la importancia estadística de cualquier diferencia entre los grupos:
metrics.*_p_value: Es la probabilidad de que se produzcan los resultados observados si el experimento no tuviera un efecto real en la métrica. Un valor p más bajo indica una mayor importancia estadística.metrics.*_point_estimate: Es el porcentaje estimado de efectividad (positivo o negativo) en la métrica determinada para el grupo de tratamiento en comparación con el grupo de control. Junto conmargin_of_error, describen un intervalo de confianza con un nivel de confianza prescrito para la diferencia que se estima. La cantidad que se estima es (tratamiento / control - 1). La estimación puntual es el centro del intervalo de confianza.metrics.*_margin_of_error: Es el radio del intervalo de confianza, que se centra enpoint_estimate. Se calcula para un nivel de confianza prescrito, que depende del tipo de experimento.
Los siguientes campos de métricas principales se admiten en el recurso experiment, incluido un valor de grupo de tratamiento, un valor de grupo de control y los campos de estadísticas que se mencionaron anteriormente:
clicksimpressionscost_microsconversionscost_per_conversionconversion_valueconversion_value_per_cost
En el caso de las conversiones, específicamente, los campos estadísticos están disponibles a través de los siguientes campos de absolute_change, en lugar de como valores relativos:
metrics.conversions_absolute_change_p_value: Es el valor p de la hipótesis nula de que el experimento no tiene ningún efecto en el cambio absoluto de las conversiones. Varía entre 0 y 1.metrics.conversions_absolute_change_point_estimate: Es la estimación puntual cuando se calcula el efecto del experimento en el cambio absoluto de las conversiones.metrics.conversions_absolute_change_margin_of_error: Es el margen de error cuando se estima el efecto del experimento en el cambio absoluto de las conversiones.
Si necesitas ayuda para crear consultas válidas para el recurso experiment, utiliza la herramienta Compilador de consultas de Google Ads.
Consulta de ejemplo
La siguiente consulta de GAQL recupera las métricas clave de un experimento:
SELECT
experiment.experiment_id,
experiment.name,
experiment.type,
metrics.clicks,
metrics.control_clicks,
metrics.clicks_point_estimate,
metrics.clicks_margin_of_error,
metrics.clicks_p_value,
metrics.conversions,
metrics.control_conversions,
metrics.conversions_absolute_change_point_estimate,
metrics.conversions_absolute_change_margin_of_error,
metrics.conversions_absolute_change_p_value
FROM experiment
WHERE experiment.experiment_id = EXPERIMENT_ID
Interpreta los resultados
Puedes usar los campos de valor p, estimación puntual y margen de error para determinar si tu experimento generó resultados con importancia estadística. Por ejemplo, si conversions_absolute_change_p_value es inferior al umbral que elegiste (como 0.05 para un 95% de confianza) y conversions_absolute_change_point_estimate - conversions_absolute_change_margin_of_error es mayor que cero, el grupo de tratamiento tiene un rendimiento significativamente mejor que el grupo de control en términos de conversiones.
A continuación, se muestra un fragmento de código de Python que indica cómo evaluar los resultados en función de las estimaciones del valor p y la efectividad:
Java
private void evaluateExperiment( GoogleAdsClient googleAdsClient, long customerId, GoogleAdsRow row) { Metrics metrics = row.getMetrics(); String experimentResourceName = row.getExperiment().getResourceName(); // 1. Evaluate conversion success as a primary success signal if available. // - Point Estimate: Represents the estimated average lift or difference in conversions. // - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error // provided by the API is calculated for a preset confidence level which is set based on the // experiment type. // - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, // we have statistical significance that performance has improved. double convPValue = metrics.getConversionsAbsoluteChangePValue(); double convLift = metrics.getConversionsAbsoluteChangePointEstimate(); double convError = metrics.getConversionsAbsoluteChangeMarginOfError(); double convLowerBound = convLift - convError; if (convPValue <= P_VALUE_THRESHOLD) { if (convLowerBound > 0) { System.out.printf( "Significant Success: Conversions increased. Even at the lower bound, the lift is %.2f." + " Promoting changes.%n", convLowerBound); promoteExperiment(googleAdsClient, customerId, experimentResourceName); return; } else if ((convLift + convError) < 0) { System.out.printf( "Significant Decline: Even the upper bound (%.2f) is below zero. Ending experiment.%n", convLift + convError); endExperiment(googleAdsClient, customerId, experimentResourceName); return; } } // 2. Fall back to evaluating click metrics if conversions are inconclusive. double clickPValue = metrics.getClicksPValue(); double clickLift = metrics.getClicksPointEstimate(); double clickError = metrics.getClicksMarginOfError(); double clickLowerBound = clickLift - clickError; if (clickPValue <= P_VALUE_THRESHOLD && clickLowerBound > 0) { System.out.printf("Click volume is significantly up (+%.1f%%).%n", clickLift * 100); // Graduation is only supported for separate campaign experiments, not // intra-campaign experiments where there is no separate treatment campaign. ExperimentType experimentType = row.getExperiment().getType(); if (experimentType != ExperimentType.ADOPT_BROAD_MATCH_KEYWORDS && experimentType != ExperimentType.ADOPT_AI_MAX) { System.out.println("Graduating treatment campaign for further manual analysis."); graduateExperiment(googleAdsClient, customerId, experimentResourceName); } else { System.out.println( "Intra-campaign trial detected: graduation is not supported. Continuing to run the" + " experiment to gather more conversion data."); } } else { // 3. Print status if no action was taken. System.out.printf( "Inconclusive: No significant lift in Conversions (p=%.2f) or Clicks (p=%.2f). Current" + " estimated lift: %.2f +/- %.2f. Allowing the experiment to continue running.%n", convPValue, clickPValue, convLift, convError); } }
C#
private static void EvaluateExperiment(GoogleAdsClient client, long customerId, GoogleAdsRow row) { // This function evaluates performance metrics and immediately takes action // to update the experiment's status (promote, end, or graduate) if // statistical significance thresholds are met. var metrics = row.Metrics; string experimentResourceName = row.Experiment.ResourceName; bool hasConvMetrics = metrics.HasConversionsAbsoluteChangePValue && metrics.HasConversionsAbsoluteChangePointEstimate && metrics.HasConversionsAbsoluteChangeMarginOfError; bool hasClickMetrics = metrics.HasClicksPValue && metrics.HasClicksPointEstimate && metrics.HasClicksMarginOfError; // 1. Evaluate conversion success as a primary success signal if available. // - Point Estimate: Represents the estimated average lift or difference in conversions. // - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error // provided by the API is calculated for a preset confidence level which is set based on // the experiment type. // - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, // we have statistical significance that performance has improved. if (hasConvMetrics) { double convPValue = metrics.ConversionsAbsoluteChangePValue; double convLift = metrics.ConversionsAbsoluteChangePointEstimate; double convError = metrics.ConversionsAbsoluteChangeMarginOfError; double convLowerBound = convLift - convError; if (convPValue <= P_VALUE_THRESHOLD) { if (convLowerBound > 0) { Console.WriteLine( $"Significant Success: Conversions increased. Even at the lower" + $" bound, the lift is {convLowerBound:F2}. Promoting changes."); PromoteExperiment(client, customerId, experimentResourceName); return; } else if ((convLift + convError) < 0) { Console.WriteLine( $"Significant Decline: Even the upper bound ({convLift + convError:F2}) " + $"is below zero. Ending experiment."); EndExperiment(client, customerId, experimentResourceName); return; } } } // 2. Evaluate click volume as a secondary signal. // This is helpful as an early indicator or for lower-volume accounts. if (hasClickMetrics) { double clickPValue = metrics.ClicksPValue; double clickLift = metrics.ClicksPointEstimate; double clickError = metrics.ClicksMarginOfError; double clickLowerBound = clickLift - clickError; if (clickPValue <= P_VALUE_THRESHOLD && clickLowerBound > 0) { // We have a directional winner: high confidence in more traffic, // but not enough data to confirm conversion impact yet. Console.WriteLine( $"Click volume is significantly up (+{clickLift * 100:F1}%)."); // Graduation is only supported for separate campaign experiments, not // intra-campaign experiments where there is no separate treatment campaign. if (row.Experiment.Type != ExperimentType.AdoptBroadMatchKeywords && row.Experiment.Type != ExperimentType.AdoptAiMax) { Console.WriteLine("Graduating treatment campaign for further manual analysis."); GraduateExperiment(client, customerId, experimentResourceName); } else { Console.WriteLine( "Intra-campaign trial detected: graduation is not supported. " + "Continuing to run the experiment to gather more conversion data."); } return; } } // 3. Print status if no action was taken. if (hasConvMetrics || hasClickMetrics) { string convStatus = hasConvMetrics ? $"Conversions (p={metrics.ConversionsAbsoluteChangePValue:F2}, " + $"lift={metrics.ConversionsAbsoluteChangePointEstimate:F2} +/- " + $"{metrics.ConversionsAbsoluteChangeMarginOfError:F2})" : "Conversions (not populated)"; string clickStatus = hasClickMetrics ? $"Clicks (p={metrics.ClicksPValue:F2}, " + $"lift={metrics.ClicksPointEstimate:F2} +/- " + $"{metrics.ClicksMarginOfError:F2})" : "Clicks (not populated)"; Console.WriteLine( $"Inconclusive: No significant action taken. {convStatus}, {clickStatus}. " + "Allowing the experiment to continue running."); } else { Console.WriteLine( "Conversion and click performance metrics are not yet populated. " + "Allowing the experiment to continue running."); } }
PHP
This example is not yet available in PHP; you can take a look at the other languages.
Python
def evaluate_experiment( client: GoogleAdsClient, customer_id: str, row: GoogleAdsRow ) -> None: """Evaluates the performance of the experiment and updates it accordingly (for example, promotes, ends, or graduates). Checks conversion and click metrics against statistical significance thresholds to determine the appropriate action to take on the experiment. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. row: a GoogleAdsRow containing the experiment and metrics. """ # This function evaluates performance metrics and immediately takes action # to update the experiment's status (promote, end, or graduate) if # statistical significance thresholds are met. metrics = row.metrics experiment_resource_name = row.experiment.resource_name has_conv_metrics = ( "conversions_absolute_change_p_value" in metrics and "conversions_absolute_change_point_estimate" in metrics and "conversions_absolute_change_margin_of_error" in metrics ) has_click_metrics = ( "clicks_p_value" in metrics and "clicks_point_estimate" in metrics and "clicks_margin_of_error" in metrics ) # 1. Evaluate conversion success as a primary success signal if available. # - Point Estimate: Represents the estimated average lift or difference in conversions. # - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error provided by the API is calculated for a preset confidence level which is set based on the experiment type. # - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, # we have statistical significance that performance has improved. if has_conv_metrics: conv_p_value = metrics.conversions_absolute_change_p_value conv_lift = metrics.conversions_absolute_change_point_estimate conv_error = metrics.conversions_absolute_change_margin_of_error conv_lower_bound = conv_lift - conv_error if conv_p_value <= P_VALUE_THRESHOLD: if conv_lower_bound > 0: print( "Significant Success: Conversions increased. Even at the lower" f" bound, the lift is {conv_lower_bound:.2f}. Promoting" " changes." ) promote_experiment( client, customer_id, experiment_resource_name ) return elif (conv_lift + conv_error) < 0: print( "Significant Decline: Even the upper bound" f" ({conv_lift + conv_error:.2f}) is below zero. Ending" " experiment." ) end_experiment(client, customer_id, experiment_resource_name) return # 2. Evaluate click volume as a secondary signal. # This is helpful as an early indicator or for lower-volume accounts. click_p_value = metrics.clicks_p_value click_lift = metrics.clicks_point_estimate click_error = metrics.clicks_margin_of_error click_lower_bound = click_lift - click_error if click_p_value <= P_VALUE_THRESHOLD and click_lower_bound > 0: # We have a directional winner: high confidence in more traffic, # but not enough data to confirm conversion impact yet. print(f"Click volume is significantly up (+{click_lift*100:.1f}%).") # Graduation is only supported for separate campaign experiments, not # intra-campaign experiments where there is no separate treatment campaign. experiment_type_name = row.experiment.type_.name if ( experiment_type_name != "ADOPT_BROAD_MATCH_KEYWORDS" and experiment_type_name != "ADOPT_AI_MAX" ): print( "Graduating treatment campaign for further manual analysis." ) graduate_experiment( client, customer_id, experiment_resource_name ) else: print( "Intra-campaign trial detected: graduation is not supported. " "Continuing to run the experiment to gather more conversion data." ) return # 3. Print status if no action was taken. if has_conv_metrics or has_click_metrics: conv_status = ( f"Conversions (p={metrics.conversions_absolute_change_p_value:.2f}, " f"lift={metrics.conversions_absolute_change_point_estimate:.2f} +/- " f"{metrics.conversions_absolute_change_margin_of_error:.2f})" if has_conv_metrics else "Conversions (not populated)" ) click_status = ( f"Clicks (p={metrics.clicks_p_value:.2f}, " f"lift={metrics.clicks_point_estimate:.2f} +/- " f"{metrics.clicks_margin_of_error:.2f})" if has_click_metrics else "Clicks (not populated)" ) print( f"Inconclusive: No significant action taken. {conv_status}, {click_status}." " Allowing the experiment to continue running." ) else: print( "Conversion and click performance metrics are not yet populated. " "Allowing the experiment to continue running." )
Ruby
def evaluate_experiment(client, customer_id, row) # This function evaluates performance metrics and immediately takes action # to update the experiment's status (promote, end, or graduate) if # statistical significance thresholds are met. metrics = row.metrics experiment_resource_name = row.experiment.resource_name has_conv_metrics = !metrics.nil? && metrics.has_conversions_absolute_change_p_value? && metrics.has_conversions_absolute_change_point_estimate? && metrics.has_conversions_absolute_change_margin_of_error? has_click_metrics = !metrics.nil? && metrics.has_clicks_p_value? && metrics.has_clicks_point_estimate? && metrics.has_clicks_margin_of_error? # 1. Evaluate conversion success as a primary success signal if available. # - Point Estimate: Represents the estimated average lift or difference in conversions. # - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error # provided by the API is calculated for a preset confidence level which is set based on the experiment type. # - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, # we have statistical significance that performance has improved. if has_conv_metrics conv_p_value = metrics.conversions_absolute_change_p_value conv_lift = metrics.conversions_absolute_change_point_estimate conv_error = metrics.conversions_absolute_change_margin_of_error conv_lower_bound = conv_lift - conv_error if conv_p_value <= P_VALUE_THRESHOLD if conv_lower_bound > 0 puts sprintf( "Significant Success: Conversions increased. Even at the lower " \ "bound, the lift is %.2f. Promoting changes.", conv_lower_bound, ) promote_experiment(client, customer_id, experiment_resource_name) return elsif (conv_lift + conv_error) < 0 puts sprintf( "Significant Decline: Even the upper bound (%.2f) is below zero. " \ "Ending experiment.", conv_lift + conv_error, ) end_experiment(client, customer_id, experiment_resource_name) return end end end # 2. Evaluate click volume as a secondary signal. # This is helpful as an early indicator or for lower-volume accounts. if has_click_metrics click_p_value = metrics.clicks_p_value click_lift = metrics.clicks_point_estimate click_error = metrics.clicks_margin_of_error click_lower_bound = click_lift - click_error if click_p_value <= P_VALUE_THRESHOLD && click_lower_bound > 0 # We have a directional winner: high confidence in more traffic, # but not enough data to confirm conversion impact yet. puts sprintf("Click volume is significantly up (+%.1f%%).", click_lift * 100) # Graduation is only supported for separate campaign experiments, not # intra-campaign experiments where there is no separate treatment campaign. experiment_type = row.experiment.type if experiment_type != :ADOPT_BROAD_MATCH_KEYWORDS && experiment_type != :ADOPT_AI_MAX puts "Graduating treatment campaign for further manual analysis." graduate_experiment(client, customer_id, experiment_resource_name) else puts "Intra-campaign trial detected: graduation is not supported. " \ "Continuing to run the experiment to gather more conversion data." end return end end # 3. Print status if no action was taken. if has_conv_metrics || has_click_metrics conv_status = if has_conv_metrics sprintf( "Conversions (p=%.2f, lift=%.2f +/- %.2f)", metrics.conversions_absolute_change_p_value, metrics.conversions_absolute_change_point_estimate, metrics.conversions_absolute_change_margin_of_error, ) else "Conversions (not populated)" end click_status = if has_click_metrics sprintf( "Clicks (p=%.2f, lift=%.2f +/- %.2f)", metrics.clicks_p_value, metrics.clicks_point_estimate, metrics.clicks_margin_of_error, ) else "Clicks (not populated)" end puts "Inconclusive: No significant action taken. #{conv_status}, #{click_status}. " \ "Allowing the experiment to continue running." else puts "Conversion and click performance metrics are not yet populated. " \ "Allowing the experiment to continue running." end end
Perl
This example is not yet available in Perl; you can take a look at the other languages.
curl
Beneficios en comparación con los informes de campañas
Los informes de experimentos directos ofrecen varias ventajas en comparación con la consulta de informes de campañas por separado:
- Métricas centralizadas: Recupera las métricas de control y tratamiento en una sola fila.
- Datos de confianza estadística: Proporciona valores p calculados, estimaciones puntuales y márgenes de error.
- Eficiencia: Elimina la necesidad de unir o comparar manualmente los resultados de varios informes.
- Compatibilidad con experimentos dentro de la campaña: Es la única forma de comparar el control con el tratamiento en los experimentos dentro de la campaña, en los que el tráfico se divide dentro de una sola campaña.
Informes de campañas
En el caso de los experimentos que crean campañas de tratamiento independientes (por ejemplo,
SEARCH_CUSTOM), puedes consultar el recurso campaign y usar
campaign.experiment_type para identificar las campañas BASE (control) y EXPERIMENT
(tratamiento). Este enfoque es útil si necesitas segmentar las métricas en
un nivel más detallado (como por grupo de anuncios o palabra clave) o ver los metadatos de la campaña
que no están disponibles en el recurso experiment. Sin embargo, requiere que realices
comparaciones de rendimiento y cálculos estadísticos de forma manual.
No puedes usar los informes a nivel de la campaña para comparar los grupos experimentales de los experimentos
dentro de la campaña, ya que la división del tráfico se produce de forma interna en una sola campaña.
Cuando se consulta campaign para un experimento dentro de la campaña, solo se devuelven los totales agregados.
Informes de Brand Lift
Puedes generar informes sobre los estudios de Brand Lift en la API de Google Ads con recursos de medición de Brand Lift dedicados.
Recursos de Brand Lift y vistas de desglose
Consulta el recurso LiftMeasurementFlight para recuperar los resultados del estudio de Brand Lift a nivel del período, incluidos los períodos de las fechas (start_date y end_date) en la zona horaria del cliente.
Para analizar las métricas de Brand Lift en diferentes dimensiones de segmentación, consulta los recursos de desglose correspondientes:
LiftMeasurementCampaign: Es el desglose por campaña.LiftMeasurementAgeRange: Es el desglose por rango de edad.LiftMeasurementDevice: Desglose por dispositivo.LiftMeasurementGender: Es el desglose por género.LiftMeasurementVideo: Desglose por recurso de video.
La enumeración BrandLiftMeasurementType especifica el tipo de medición para el estudio, como el reconocimiento de la marca o el recuerdo del anuncio.
Ejemplos de consultas de Brand Lift
Debido a que los metadatos de los vuelos y las estadísticas de efectividad se encuentran en recursos separados, la consulta de los detalles de los vuelos y las estadísticas de rendimiento requiere consultas de GAQL independientes.
Consulta de detalles del vuelo
Para recuperar los metadatos de un período de Brand Lift, como su estado, tipo de medición
y fechas programadas, consulta el recurso
LiftMeasurementFlight:
SELECT
lift_measurement_flight.lift_measurement_config_id,
lift_measurement_flight.lift_measurement_flight_id,
lift_measurement_flight.name,
lift_measurement_flight.status,
lift_measurement_flight.lift_type,
lift_measurement_flight.start_date,
lift_measurement_flight.end_date
FROM lift_measurement_flight
WHERE lift_measurement_flight.lift_measurement_config_id = CONFIG_ID
Consulta de estadísticas
Para recuperar las métricas de Brand Lift, consulta el recurso de desglose adecuado (o la configuración de estudio general en LiftMeasurementConfig). Por ejemplo, la siguiente consulta recupera las métricas de Brand Lift desglosadas por campaña de LiftMeasurementCampaign:
SELECT
lift_measurement_campaign.lift_measurement_config_id,
lift_measurement_campaign.campaign,
metrics.absolute_brand_lift,
metrics.relative_brand_lift
FROM lift_measurement_campaign
WHERE lift_measurement_campaign.lift_measurement_config_id = CONFIG_ID
Informes de Efectividad de conversiones
Puedes medir el impacto incremental de tus anuncios en las conversiones con los informes de Efectividad de conversiones en la API de Google Ads.
Configuración y métricas de la Efectividad de conversiones
Consulta el recurso LiftMeasurementConfig para recuperar las configuraciones de estudio y los datos de rendimiento del estudio de efectividad de conversiones.
El recurso proporciona métricas de Efectividad de conversiones para evaluar el rendimiento incremental:
metrics.conversion_lift_baseline_conversions: Son las conversiones de referencia para el estudio.metrics.conversion_lift_exposed_conversions: Son las conversiones observadas en el grupo expuesto.metrics.incremental_conversions: Son las conversiones incrementales atribuidas a los anuncios.metrics.cost_per_incremental_conversion: Es el costo por conversión incremental.metrics.relative_conversion_lift: Es la efectividad relativa en las conversiones.metrics.conversion_lift_baseline_conversion_value: Es el valor de conversión de referencia.metrics.conversion_lift_exposed_conversion_value: Es el valor de conversión en el grupo expuesto.metrics.incremental_conversion_value: Es el valor de conversión incremental atribuido a los anuncios.metrics.relative_conversion_value_lift: Es la efectividad relativa en el valor de conversión.
Los informes de Efectividad de conversiones también permiten segmentar por acciones de conversión y recuperar detalles de las campañas vinculadas, detalles de los experimentos y objetivos de conversión.
A partir de la versión v26, puedes descubrir la configuración de la medición de efectividad vinculada a una campaña directamente desde el recurso campaign con Campaign.lift_measurement_config. Esto evita
tener que comparar datos mediante referencia cruzada el recurso LiftMeasurementConfig
por separado:
SELECT
campaign.id,
campaign.lift_measurement_config
FROM campaign
WHERE campaign.id = CAMPAIGN_ID
El campo lift_measurement_config que se muestra contiene el nombre del recurso en el
formato
customers/{customer_id}/liftMeasurementConfigs/{lift_measurement_config_id}.
Nota: lift_measurement_config contiene el nombre del recurso de la configuración vinculada más recientemente (activa o inactiva) si la campaña ejecutó varios experimentos de efectividad.
Ejemplo de consulta de Efectividad de conversiones
La siguiente consulta de GAQL recupera los parámetros de configuración de la efectividad de conversiones y las métricas de rendimiento clave. Ten en cuenta que segments.conversion_lift_start_date y
segments.conversion_lift_end_date son campos INT64 con formato de números enteros de 8 dígitos
sin comillas en formato YYYYMMDD (por ejemplo, 20260501):
SELECT
lift_measurement_config.lift_measurement_config_id,
segments.conversion_lift_start_date,
segments.conversion_lift_end_date,
segments.conversion_lift_included_conversion_action_types,
metrics.conversion_lift_baseline_conversions,
metrics.conversion_lift_exposed_conversions,
metrics.incremental_conversions,
metrics.cost_per_incremental_conversion,
metrics.relative_conversion_lift,
metrics.incremental_conversion_value,
metrics.relative_conversion_value_lift
FROM lift_measurement_config
WHERE segments.conversion_lift_start_date = YYYYMMDD
AND segments.conversion_lift_end_date = YYYYMMDD
AND lift_measurement_config.lift_measurement_config_id = CONFIG_ID
Informes de Efectividad de búsqueda
Puedes medir el aumento en el volumen de búsquedas orgánicas que generan tus campañas publicitarias con los informes de efectividad de búsqueda de la API de Google Ads. La Efectividad de búsqueda cuantifica la diferencia en el comportamiento de búsqueda de tu marca o tus productos entre los usuarios expuestos a tus anuncios y un grupo de control no expuesto.
Recursos y segmentación de la Efectividad de búsqueda
Consulta el recurso SearchLiftKeywordBundle para recuperar detalles sobre los paquetes de palabras clave configurados para los estudios de efectividad de búsqueda.
SearchLiftKeywordBundle es de solo lectura en la API (todos los campos son
OUTPUT_ONLY), y los paquetes de palabras clave se configuran en la IU de Google Ads o por representantes de Google
o Global Product Solutions (GPS). Sus campos consultables en GAQL son resource_name, search_lift_keyword_bundle_id, source (SearchLiftMatchingInfoSource) y status (SearchLiftKeywordBundleStatus) (el campo repetido keywords no se puede seleccionar en las consultas de GAQL).
Consulta el recurso LiftMeasurementConfig para recuperar las métricas de Efectividad de búsqueda y las configuraciones de estudio generales.
Puedes segmentar el rendimiento de la efectividad de búsqueda con las siguientes dimensiones:
segments.search_lift_keyword_bundle: Segmenta por el nombre del recurso del paquete de palabras clave. Compatible consegments.search_property,segments.datey segmentos demográficos (segments.device,segments.age_rangeysegments.gender).segments.search_property: Segmenta por la propiedad de búsqueda en la que se produjo la búsqueda, definida porSearchLiftSearchProperty(como la Búsqueda de Google o YouTube). Ten en cuenta quesegments.search_propertysolo es compatible consegments.search_lift_keyword_bundleysegments.date. No se admite la combinación desegments.search_propertycon segmentos demográficos (segments.device,segments.age_rangeosegments.gender), y esta combinación genera un error en la validación de consultas de la API.- Segmentos demográficos y de fecha:
segments.device,segments.age_range,segments.genderysegments.date.
Métricas de efectividad de búsqueda
El recurso LiftMeasurementConfig proporciona métricas de efectividad de búsqueda para evaluar los cambios en el comportamiento de búsqueda:
metrics.relative_search_lift: Es la diferencia en el volumen de búsquedas entre los grupos expuestos y de control, expresada como una fracción de las búsquedas en el grupo de control.metrics.relative_search_lift_p90_lower_boundymetrics.relative_search_lift_p90_upper_bound: Son los límites inferior y superior del intervalo de confianza del 90% para la efectividad de búsqueda relativa.metrics.incremental_searches_p_value: Es el valor p de las búsquedas incrementales, que representa la probabilidad estadística de que el aumento observado en las búsquedas haya ocurrido por casualidad.metrics.search_lift_cost_micros: Es el costo total (en microcentavos) de las impresiones de anuncios publicadas para este segmento de medición de la efectividad de búsqueda.metrics.search_lift_impressions: Es la cantidad total de impresiones de anuncios publicadas para este segmento de medición de la efectividad de búsqueda.
Cuando la efectividad es estadísticamente positiva, se informan las siguientes métricas incrementales normalizadas, junto con sus límites inferior y superior correspondientes del intervalo de confianza del 90% (*_p90_lower_bound y *_p90_upper_bound):
metrics.normalized_incremental_searches(conmetrics.normalized_incremental_searches_p90_lower_boundymetrics.normalized_incremental_searches_p90_upper_bound): Es la cantidad estimada de búsquedas incrementales generadas por la exposición a los anuncios, normalizada en los grupos de control y expuestos.metrics.normalized_incremental_searches_per_cost(conmetrics.normalized_incremental_searches_per_cost_p90_lower_boundymetrics.normalized_incremental_searches_per_cost_p90_upper_bound): Es la cantidad estimada de búsquedas incrementales generadas por unidad de inversión publicitaria.metrics.normalized_incremental_searches_per_impression(conmetrics.normalized_incremental_searches_per_impression_p90_lower_boundymetrics.normalized_incremental_searches_per_impression_p90_upper_bound): Es la cantidad estimada de búsquedas incrementales generadas por impresión de anuncio.
Ejemplos de búsquedas de efectividad de búsqueda
Las siguientes consultas de GAQL muestran cómo recuperar los paquetes de palabras clave y las métricas de rendimiento de la efectividad de búsqueda.
Consulta de paquete de palabras clave
Para recuperar los paquetes de palabras clave configurados para las mediciones de la efectividad de búsqueda, sigue estos pasos:
SELECT
search_lift_keyword_bundle.resource_name,
search_lift_keyword_bundle.search_lift_keyword_bundle_id,
search_lift_keyword_bundle.source,
search_lift_keyword_bundle.status
FROM search_lift_keyword_bundle
Consulta de métricas
Los valores de search_lift_keyword_bundle.resource_name recuperados en la consulta del paquete de palabras clave corresponden a los valores que se muestran en segments.search_lift_keyword_bundle en la siguiente consulta. Para descubrir el
CONFIG_ID de tu estudio, consulta lift_measurement_config (por ejemplo,
SELECT lift_measurement_config.lift_measurement_config_id,
lift_measurement_config.name FROM lift_measurement_config).
Para recuperar las métricas de efectividad de búsqueda segmentadas por paquete de palabras clave y propiedad de búsqueda, sigue estos pasos:
SELECT
lift_measurement_config.lift_measurement_config_id,
segments.search_lift_keyword_bundle,
segments.search_property,
metrics.relative_search_lift,
metrics.relative_search_lift_p90_lower_bound,
metrics.relative_search_lift_p90_upper_bound,
metrics.incremental_searches_p_value,
metrics.search_lift_cost_micros,
metrics.search_lift_impressions,
metrics.normalized_incremental_searches,
metrics.normalized_incremental_searches_p90_lower_bound,
metrics.normalized_incremental_searches_p90_upper_bound
FROM lift_measurement_config
WHERE lift_measurement_config.lift_measurement_config_id = CONFIG_ID
Prácticas recomendadas
Las siguientes prácticas recomendadas se aplican a los experimentos A/B estándar (como los experimentos de campaña y dentro de la campaña). Los estudios de medición de efectividad (Brand Lift, Efectividad de conversiones y Efectividad de búsqueda) usan configuraciones específicas del estudio y registran intervalos de confianza del 90% (*_p90_lower_bound y *_p90_upper_bound) en lugar de un umbral de confianza del 95%.
- Selecciona un nivel de confianza adecuado: Establecer un umbral de valor p más bajo puede proporcionar orientación direccional más rápido, especialmente con presupuestos o volúmenes de conversiones más bajos. Un nivel de confianza del 95% (valor p <= 0.05) se considera el estándar académico y puede ser mejor para obtener resultados más precisos en un período más largo.
- Ejecuta los experimentos durante un período suficientemente largo: Ejecuta los experimentos durante, al menos, 4 semanas para tener en cuenta los ciclos de rendimiento semanales, las demoras en las conversiones y los períodos de aprendizaje.
- Permite que transcurra el período inicial: En el caso de las campañas que utilizan ofertas automáticas o prueban funciones nuevas, ignora los datos de las primeras 1 o 2 semanas para que los modelos de ofertas y los niveles de tráfico se recalibren según la división.
- Usa divisiones de 50/50: Por lo general, una división del tráfico de 50/50 es la forma más rápida de obtener resultados estadísticamente significativos.
- Programa con anticipación: Configura la fecha de inicio de tu experimento para que sea entre 3 y 7 días en el futuro, de modo que haya tiempo para los procesos de revisión y aprobación de anuncios.