Para avaliar como as mudanças na campanha e a exposição ao anúncio afetam a performance, consulte os recursos de relatórios de medição de Lift e experimentos na API Google Ads.
A API Google Ads oferece duas maneiras de gerar relatórios sobre experimentos A/B padrão:
- Relatórios do teste direto: consulte o recurso
experimentpara ver as métricas. Essa opção fornece métricas para grupos de controle e de tratamento em uma única resposta, além de dados de comparação estatística, como aumento e valores p. Os relatórios do teste direto são a única maneira de gerar relatórios sobre experimentos dentro da campanha. - Relatórios de campanha: consulte o recurso
campaignpara ver métricas usando o campocampaign.experiment_typepara distinguir entre campanhas de base e experimentais. Essa opção está disponível apenas para experimentos que usam campanhas de controle e tratamento separadas, como experimentos gerenciados pelo sistema.
Para experimentos padrão, este guia se concentra principalmente em relatórios de experimentos diretos, que são compatíveis com todos os tipos de experimentos que podem ser relatados. Para estudos de medição de Lift, consulte o guia de relatórios de Lift ou as seções de resumo nesta página para Brand Lift, Conversion Lift (incluindo A/B + Conversion Lift) e Search Lift.
Relatórios de experimentos diretos
Para recuperar métricas de performance e comparações estatísticas entre os grupos de controle e de tratamento em uma única resposta em todas as versões compatíveis da API Google Ads (v23 e posteriores), consulte o recurso experiment diretamente.
Métricas e significância estatística
Para métricas principais, como cliques, impressões, custo, conversões e valor da conversão, o recurso experiment fornece métricas de tratamento (por exemplo, metrics.clicks) e de controle (por exemplo, metrics.control_clicks) na mesma linha.
O recurso experiment também fornece campos para ajudar você a avaliar a significância estatística de qualquer diferença entre os grupos:
metrics.*_p_value: a probabilidade de observar resultados pelo menos tão extremos quanto a diferença medida se o experimento não tiver um efeito real na métrica. Um valor-p menor indica maior significância estatística.metrics.*_point_estimate: o aumento percentual estimado (positivo ou negativo) na métrica do grupo de tratamento em comparação com o grupo de controle. Junto com o campometrics.*_margin_of_error, esse valor define um intervalo de confiança com um nível de confiança prescrito para a diferença estimada. A quantidade estimada é(treatment / control) - 1, e a estimativa pontual é o centro do intervalo de confiança.metrics.*_margin_of_error: o raio do intervalo de confiança, que é centralizado no valormetrics.*_point_estimate. A API calcula essa margem para um nível de confiança prescrito que depende do tipo de experimento.
Os seguintes campos de métricas principais são compatíveis com o recurso experiment,
incluindo um valor de grupo experimental, um valor de grupo de controle e os campos de estatísticas
listados anteriormente:
clicksimpressionscost_microsconversionscost_per_conversionconversion_valueconversion_value_per_cost
Para conversões, especificamente, os campos estatísticos estão disponíveis nos seguintes campos absolute_change, em vez de valores relativos:
metrics.conversions_absolute_change_p_value: o valor-p para a hipótese nula de que o experimento não tem efeito na mudança absoluta de conversões. Varia de 0 a 1.metrics.conversions_absolute_change_point_estimate: a estimativa pontual ao calcular o efeito do experimento na mudança absoluta de conversões.metrics.conversions_absolute_change_margin_of_error: a margem de erro ao estimar o efeito do experimento na mudança absoluta de conversões.
Para criar consultas válidas para o recurso experiment, use a ferramenta Criador de consultas do Google Ads.
Exemplo de consulta
A consulta da linguagem de consulta do Google Ads (GAQL, na sigla em inglês) a seguir recupera as principais métricas de um 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
Substitua:
EXPERIMENT_ID: o ID inteiro do experimento (experiment.experiment_id).
Interpretar resultados
Use os campos de valor p, estimativa pontual e margem de erro para determinar se o experimento gerou resultados estatisticamente significativos. Por exemplo, se
a métrica metrics.conversions_absolute_change_p_value for menor que o
limite escolhido (como 0.05 para 95% de confiança) e a
métrica metrics.conversions_absolute_change_point_estimate menos a
métrica metrics.conversions_absolute_change_margin_of_error for maior que
zero, o grupo de tratamento terá uma performance significativamente melhor do que o grupo de controle
em termos de conversões.
O exemplo de código a seguir demonstra como avaliar os resultados com base no valor-p e nas estimativas de Lift:
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
Benefícios em relação aos relatórios de campanha
Os relatórios do teste diretos oferecem várias vantagens em relação à consulta de relatórios de campanha separadamente:
- Métricas centralizadas: recupera métricas para grupos de controle e de tratamento em uma única linha.
- Dados de confiança estatística: fornece valores-p calculados, estimativas pontuais e margens de erro.
- Eficiência: elimina a necessidade de mesclar ou comparar manualmente os resultados de vários relatórios.
- Suporte dentro da campanha: permite comparações entre controle e tratamento para experimentos dentro da campanha, em que a divisão de tráfego ocorre em uma única campanha.
Relatórios de campanhas
Em todas as versões compatíveis da API Google Ads (v23 e mais recentes), para experimentos que criam campanhas de tratamento separadas (por exemplo, SEARCH_CUSTOM), é possível consultar o recurso campaign e usar o campo campaign.experiment_type para identificar campanhas BASE (controle) e EXPERIMENT (tratamento). Essa abordagem é útil quando você precisa segmentar métricas em um nível mais granular (como por grupo de anúncios ou palavra-chave) ou visualizar metadados de campanha que não estão disponíveis no recurso experiment. No entanto, os relatórios de campanha exigem que você faça
comparações de performance e cálculos estatísticos manualmente.
Não é possível usar relatórios no nível da campanha para comparar grupos de experimentos
dentro da campanha, porque a divisão de tráfego acontece internamente em uma única
campanha. Consultar o recurso campaign para um experimento dentro da campanha
retorna apenas totais agregados.
Relatórios de Brand Lift
Na API Google Ads v25 e versões mais recentes, avalie como suas campanhas publicitárias influenciam a percepção da marca consultando os recursos somente leitura (OUTPUT_ONLY) LiftMeasurementFlight, LiftMeasurementConfig e de detalhamento do Brand Lift (LiftMeasurementAgeRange, LiftMeasurementCampaign, LiftMeasurementDevice, LiftMeasurementGender e LiftMeasurementVideo). Na API Google Ads v27 e versões mais recentes, você também pode selecionar o campo lift_guidance (lift_guidance.outcome e lift_guidance.guidance_message) para interpretação estatística no nível da linha.
Para limites de relatórios de respostas de pesquisa, diagnósticos de resposta vazia (results: []), interpretação de resultados e exemplos de consulta GAQL, consulte Relatórios de Brand Lift no guia de relatórios de Lift.
Relatórios de Conversion Lift
Na API Google Ads v25 e versões mais recentes, os relatórios do Conversion Lift medem o impacto incremental dos seus anúncios nas conversões, no valor da conversão, no custo por conversão incremental (iCPA) e no retorno incremental do investimento em publicidade (iROAS). Para isso, eles comparam um grupo exposto com um grupo de controle não exposto em snapshots de avaliação cumulativa diária (segments.conversion_lift_start_date e segments.conversion_lift_end_date) no recurso LiftMeasurementConfig. Na API Google Ads v26 e versões mais recentes, você também pode descobrir configurações e campanhas vinculadas usando os campos campaign.lift_measurement_config e lift_measurement_config.campaigns. Na API Google Ads v27 e versões mais recentes, selecione lift_measurement_config.lift_guidance para interpretação estatística no nível da linha.
Para descoberta de estudo e período de veiculação, períodos de snapshot cumulativos, escopos de ação de conversão (SELECTED versus ALL), detalhamentos dimensionais, limites de relatórios e exemplos de consulta GAQL, consulte Relatórios de Conversion Lift no guia de relatórios de Lift.
Relatórios de teste A/B + Conversion Lift
Na API Google Ads v25 e versões mais recentes, os estudos de Conversion Lift + A/B combinam um experiment de dois grupos (descoberto pelo recurso ExperimentArm e pelo campo experiment.lift_measurement_config) com a medição de retenção no recurso LiftMeasurementConfig.
Inclua o segmento segments.experiment_arm e as métricas de pontuação do vencedor bayesiano (metrics.*_winner_score) para avaliar o aumento causal por grupo e as probabilidades de vitória em comparações diretas.
Para descoberta de grupos experimentais, consultas por grupo e combinadas, interpretação de pontuação vencedora e consultas em lote de vários estudos, consulte Relatórios de A/B + Conversion Lift no guia de relatórios de Lift.
Relatórios de Search Lift
Na API Google Ads v26 e versões mais recentes, os relatórios de Search Lift medem o aumento
incremental no volume de consultas de pesquisa orgânica na Pesquisa Google e no YouTube impulsionado
pelas suas campanhas publicitárias. Consulte o recurso SearchLiftKeywordBundle para ver os pacotes de palavras-chave configurados e o recurso LiftMeasurementConfig (com lift_measurement_config.lift_guidance na API Google Ads v27 e versões mais recentes) para ver as métricas de pesquisa incremental relativas e normalizadas.
Para regras de segmentação do Search Lift, definições de métricas e exemplos de consulta GAQL, consulte Relatórios do Search Lift no guia de relatórios de Lift.
Práticas recomendadas
As práticas recomendadas a seguir se aplicam a experimentos A/B padrão (como experimentos de campanha e intracampanha). Os estudos de medição de Lift (Brand Lift, Conversion Lift e Search Lift) usam configurações específicas do estudo e informam limites de confiança unilaterais de 90% (*_p90_lower_bound e *_p90_upper_bound, que juntos formam um intervalo de confiança bilateral de 80% com p_value <= 0.10) em vez de um limite de confiança de 95%. Consulte o guia de relatórios de Lift para saber mais sobre os limites e a interpretação do estudo de Lift.
- Selecione um nível de confiança adequado: definir um limite de valor p mais baixo pode fornecer orientação direcional mais rapidamente, especialmente com orçamentos ou volumes de conversão mais baixos. Um nível de confiança de 95% (
p_value <= 0.05) é o padrão acadêmico e oferece maior precisão em um período mais longo. - Faça experimentos por tempo suficiente: faça experimentos por pelo menos 4 semanas para considerar ciclos de performance semanais, tempos até a conversão e períodos de aprendizado.
- Dê tempo para a evolução: em campanhas que usam lances automáticos ou testam novos recursos, desconsidere os dados das primeiras 1 a 2 semanas para que os modelos de lances e os níveis de tráfego possam se recalibrar para a divisão.
- Use divisões de 50/50: uma divisão de tráfego de 50/50 geralmente é a maneira mais rápida de alcançar resultados estatisticamente significativos.
- Programe com antecedência: defina a data de início do experimento de 3 a 7 dias no futuro para que haja tempo para os processos de revisão e aprovação de anúncios.