Denemeler hakkında rapor oluşturma

Standart A/B denemeleri hakkında rapor oluşturmanın iki ana yolu vardır:

  • Doğrudan deneme raporlaması: Metrikler için experiment kaynağını sorgulayın. Bu seçenek, kontrol ve deney kolları için metrikleri tek bir yanıtta sunar ve artış ile p değerleri gibi istatistiksel karşılaştırma verilerini de içerir. Kampanya içi denemeler hakkında rapor oluşturmanın tek yolu budur.
  • Kampanya raporlama: Temel ve deneme kampanyalarını ayırt etmek için campaign.experiment_type kullanarak metrikler için campaign kaynağını sorgulayın. Bu seçenek yalnızca sistem tarafından yönetilen denemeler gibi ayrı kontrol ve deney kampanyaları kullanan denemelerde kullanılabilir.

Standart denemeler için bu kılavuzda, raporlamayı destekleyen tüm deneme türleriyle uyumlu olan doğrudan deneme raporlaması ele alınmaktadır. Artış ölçümü çalışmaları için özel artış ölçümü kaynaklarını kullanarak Brand Lift, Dönüşüm Artışı ve Arama Artışı hakkında da rapor oluşturabilirsiniz.

Doğrudan deneme raporlaması

Kontrol ve deney kollarınız arasındaki performans metriklerini ve istatistiksel karşılaştırmaları almak için doğrudan experiment kaynağını sorgulayabilirsiniz.

Metrikler ve istatistiksel olarak anlamlılık

Tıklama sayısı, gösterim sayısı, maliyet, dönüşüm sayısı ve dönüşüm değeri gibi temel metrikler için experiment kaynağı, hem değerlendirme metriklerini (ör. metrics.clicks) hem de kontrol metriklerini (ör. metrics.control_clicks) aynı satırda sağlar.

Ayrıca, kollar arasındaki farkların istatistiksel olarak anlamlı olup olmadığını değerlendirmenize yardımcı olacak alanlar da sağlar:

  • metrics.*_p_value: Denemenin metrik üzerinde gerçek bir etkisi olmaması durumunda gözlemlenen sonuçların ortaya çıkma olasılığı. Daha düşük bir p değeri, daha yüksek istatistiksel önemi gösterir.
  • metrics.*_point_estimate: Deney kolu için verilen metrikte kontrol koluna kıyasla tahmini artış yüzdesi (pozitif veya negatif). margin_of_error ile birlikte, tahmin edilen fark için öngörülen güven düzeyine sahip bir güven aralığını tanımlarlar. Tahmin edilen miktar (deneme / kontrol - 1) şeklindedir. Nokta tahmini, güven aralığının merkezidir.
  • metrics.*_margin_of_error: point_estimate merkezli güven aralığının yarıçapı. Deneme türüne bağlı olarak, önceden belirlenmiş bir güven düzeyi için hesaplanır.

experiment kaynağında, deney grubu değeri, kontrol grubu değeri ve daha önce listelenen istatistik alanları dahil olmak üzere aşağıdaki temel metrik alanları desteklenir:

  • clicks
  • impressions
  • cost_micros
  • conversions
  • cost_per_conversion
  • conversion_value
  • conversion_value_per_cost

Dönüşümler için istatistiksel alanlar, göreceli değerler yerine aşağıdaki absolute_change alanları aracılığıyla kullanılabilir:

experiment kaynağı için geçerli sorgular oluşturma konusunda yardım almak üzere Google Ads Sorgu Oluşturucu aracını kullanın.

Örnek sorgu

Aşağıdaki GAQL sorgusu, bir denemenin temel metriklerini alır:

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

Sonuçları yorumlama

Denemenizin istatistiksel olarak anlamlı sonuçlar verip vermediğini belirlemek için p değeri, nokta tahmini ve hata payı alanlarını kullanabilirsiniz. Örneğin, conversions_absolute_change_p_value seçtiğiniz eşiğin altındaysa (ör. %95 güven için 0.05) ve conversions_absolute_change_point_estimate - conversions_absolute_change_margin_of_error sıfırdan büyükse deney kolu, dönüşümler açısından kontrol kolundan önemli ölçüde daha iyi performans gösteriyor demektir.

Aşağıda, sonuçların p değerine ve artış tahminlerine göre nasıl değerlendirileceğini gösteren bir Python snippet'i verilmiştir:

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

Kampanya raporlamasına kıyasla avantajları

Doğrudan deneme raporlaması, kampanya raporlarını ayrı ayrı sorgulamaya kıyasla çeşitli avantajlar sunar:

  1. Merkezi metrikler: Kontrol ve deney için metrikleri tek bir satırda alın.
  2. İstatistiksel güven verileri: Hesaplanan p değerlerini, nokta tahminlerini ve hata paylarını sağlar.
  3. Verimlilik: Birden fazla rapordan elde edilen sonuçları manuel olarak birleştirme veya karşılaştırma ihtiyacını ortadan kaldırır.
  4. Kampanya içi destek: Trafiğin tek bir kampanya içinde bölündüğü kampanya içi denemelerde kontrol ile değerlendirmeyi karşılaştırmanın tek yoludur.

Kampanya raporları

Ayrı deney kampanyaları oluşturan denemeler için (ör. SEARCH_CUSTOM) campaign kaynağını sorgulayabilir ve campaign.experiment_type kullanarak BASE (kontrol) ve EXPERIMENT (deney) kampanyalarını tanımlayabilirsiniz. Bu yaklaşım, metrikleri daha ayrıntılı bir düzeyde (ör. reklam grubu veya anahtar kelimeye göre) segmentlere ayırmanız ya da experiment kaynağında bulunmayan kampanya meta verilerini görüntülemeniz gerektiğinde kullanışlıdır. Ancak bu yöntem, performans karşılaştırmalarını ve istatistiksel hesaplamaları manuel olarak yapmanızı gerektirir.

Trafik bölme işlemi tek bir kampanya içinde gerçekleştiğinden, kampanya içi denemelerde kolları karşılaştırmak için kampanya düzeyinde raporlamayı kullanamazsınız. Kampanya içi deneme için campaign sorgulaması yalnızca toplu toplamları döndürür.

Brand Lift raporlaması

Özel Brand Lift ölçüm kaynaklarını kullanarak Google Ads API'deki Brand Lift çalışmaları hakkında rapor oluşturabilirsiniz.

Brand Lift kaynakları ve döküm görünümleri

Müşterinin saat diliminde yayın tarih aralıkları (start_date ve end_date) dahil olmak üzere yayın düzeyinde Brand Lift çalışması sonuçlarını almak için LiftMeasurementFlight kaynağını sorgulayın.

Brand Lift metriklerini farklı segment boyutlarında analiz etmek için ilgili döküm kaynaklarını sorgulayın:

BrandLiftMeasurementType enum, çalışma için ölçüm türünü (ör. marka bilinirliği veya reklam hatırlanabilirliği) belirtir.

Örnek Brand Lift sorguları

Uçuş meta verileri ve artış istatistikleri ayrı kaynaklarda bulunduğundan uçuş ayrıntılarını ve performans istatistiklerini sorgulamak için ayrı GAQL sorguları gerekir.

Uçuş ayrıntıları sorgusu

Bir Brand Lift yayınının durumu, ölçüm türü ve planlanan tarihleri gibi meta verilerini almak için LiftMeasurementFlight kaynağını sorgulayın:

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

İstatistik sorgusu

Brand Lift metriklerini almak için uygun döküm kaynağını (veya LiftMeasurementConfig üzerindeki genel çalışma yapılandırmasını) sorgulayın. Örneğin, aşağıdaki sorgu LiftMeasurementCampaign'ten kampanyaya göre dökümü alınmış Brand Lift metriklerini alır:

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

Dönüşüm Artışı raporları

Google Ads API'deki Dönüşüm Artışı raporlarını kullanarak reklamlarınızın dönüşümler üzerindeki artımlı etkisini ölçebilirsiniz.

Dönüşüm Artışı yapılandırması ve metrikleri

Dönüşüm Artışı araştırması yapılandırmalarını ve performans verilerini almak için LiftMeasurementConfig kaynağını sorgulayın.

Bu kaynak, artımlı performansı değerlendirmek için Dönüşüm Artışı metrikleri sağlar:

Dönüşüm Artışı raporları, dönüşüm işlemlerine göre segmentasyon yapmanıza ve bağlı kampanya ayrıntılarını, deneme ayrıntılarını ve dönüşüm hedeflerini almanıza da olanak tanır.

v26 tarihinden itibaren, Campaign.lift_measurement_config kullanarak doğrudan campaign kaynağında bir kampanyaya bağlı artış ölçümü yapılandırmasını keşfedebilirsiniz. Bu sayede LiftMeasurementConfig kaynağına ayrı olarak çapraz referans vermeniz gerekmez:

SELECT
  campaign.id,
  campaign.lift_measurement_config
FROM campaign
WHERE campaign.id = CAMPAIGN_ID

Döndürülen lift_measurement_config alanı, customers/{customer_id}/liftMeasurementConfigs/{lift_measurement_config_id} biçiminde kaynak adını içerir.

Not: Kampanya birden fazla artış denemesi yayınladıysa lift_measurement_config, en son bağlanan yapılandırmanın (etkin veya etkin olmayan) kaynak adını içerir.

Örnek Dönüşüm Artışı sorgusu

Aşağıdaki GAQL sorgusu, Dönüşüm Artışı yapılandırmalarını ve temel performans metriklerini alır. segments.conversion_lift_start_date ve segments.conversion_lift_end_date, YYYYMMDD biçiminde (ör. 20260501) tırnak içine alınmamış 8 basamaklı tam sayılar olarak biçimlendirilmiş INT64 alanlarıdır:

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

Arama Artışı raporlaması

Google Ads API'deki Arama Artışı raporlarını kullanarak reklam kampanyalarınızın sağladığı organik arama sorgusu hacmindeki artışı ölçebilirsiniz. Arama Artışı, reklamlarınızın gösterildiği kullanıcılar ile gösterilmediği kontrol grubu arasında markanız veya ürünlerinizle ilgili arama davranışı farkını ölçer.

Arama Artışı kaynakları ve segmentasyonu

Arama Artışı araştırmaları için yapılandırılan anahtar kelime gruplarıyla ilgili ayrıntıları almak üzere SearchLiftKeywordBundle kaynağını sorgulayın. SearchLiftKeywordBundle, API'de salt okunurdur (tüm alanlar OUTPUT_ONLY) ve anahtar kelime grupları Google Ads kullanıcı arayüzünde veya Google temsilcileri / Global Product Solutions (GPS) tarafından yapılandırılır. GAQL'de sorgulanabilir alanları resource_name, search_lift_keyword_bundle_id, source (SearchLiftMatchingInfoSource) ve status (SearchLiftKeywordBundleStatus) şeklindedir (yinelenen keywords alanı GAQL sorgularında seçilemez).

Arama Artışı metriklerini ve genel çalışma yapılandırmalarını almak için LiftMeasurementConfig kaynağını sorgulayın.

Arama Artışı performansını aşağıdaki boyutları kullanarak segmentlere ayırabilirsiniz:

  • segments.search_lift_keyword_bundle: Anahtar kelime grubu kaynak adına göre segmentlere ayırın. segments.search_property, segments.date ve demografik segmentlerle (segments.device, segments.age_range ve segments.gender) uyumludur.
  • segments.search_property: Aramanın gerçekleştiği arama mülküne göre segmentlere ayırın. Bu mülk, SearchLiftSearchProperty (ör. Google Arama veya YouTube) ile tanımlanır. segments.search_property özelliğinin yalnızca segments.search_lift_keyword_bundle ve segments.date ile uyumlu olduğunu unutmayın. segments.search_property özelliğinin demografik segmentlerle (segments.device, segments.age_range veya segments.gender) birleştirilmesi desteklenmez ve API sorgu doğrulamasının başarısız olmasına neden olur.
  • Demografik ve tarih segmentleri: segments.device, segments.age_range, segments.gender ve segments.date.

Arama artışı metrikleri

LiftMeasurementConfig kaynağı, arama davranışı değişikliklerini değerlendirmek için Arama Artışı metrikleri sağlar:

Artış istatistiksel olarak pozitif olduğunda, aşağıdaki normalleştirilmiş artımlı metrikler ve bunlara karşılık gelen %90 güven aralığı alt ve üst sınırları (*_p90_lower_bound ve *_p90_upper_bound) raporlanır:

Örnek Arama Artışı sorguları

Aşağıdaki GAQL sorguları, Arama Artışı anahtar kelime gruplarının ve performans metriklerinin nasıl alınacağını gösterir.

Anahtar kelime grubu sorgusu

Arama Artışı ölçümleri için yapılandırılmış anahtar kelime gruplarını almak için:

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

Metrik sorgusu

Anahtar kelime paketi sorgusunda alınan search_lift_keyword_bundle.resource_name değerleri, aşağıdaki sorguda segments.search_lift_keyword_bundle içinde döndürülen değerlere karşılık gelir. Çalışmanızın CONFIG_ID değerini öğrenmek için lift_measurement_config sorgusunu çalıştırın (ör. SELECT lift_measurement_config.lift_measurement_config_id, lift_measurement_config.name FROM lift_measurement_config).

Anahtar kelime grubu ve arama mülküne göre segmentlere ayrılmış Arama Artışı metriklerini almak için:

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

En iyi uygulamalar

Aşağıdaki en iyi uygulamalar, standart A/B denemeleri (ör. kampanya ve kampanya içi denemeler) için geçerlidir. Artış ölçümü çalışmaları (Brand Lift, Dönüşüm Artışı ve Arama Artışı), çalışmaya özel yapılandırmalar kullanır ve% 95 güven eşiği yerine% 90 güven aralıkları (*_p90_lower_bound ve *_p90_upper_bound) bildirir.

  • Uygun bir güven düzeyi seçin: Daha düşük bir p değeri eşiği belirlemek, özellikle daha düşük bütçeler veya dönüşüm hacimleri söz konusu olduğunda daha hızlı yönlendirme sağlayabilir. %95 güven (p değeri <= 0,05) akademik standart olarak kabul edilir ve daha uzun bir zaman diliminde daha doğru sonuçlar elde etmek için daha iyi olabilir.
  • Denemeleri yeterince uzun süre çalıştırın: Haftalık performans döngülerini, dönüşüm sürelerini ve öğrenme dönemlerini hesaba katmak için denemeleri en az 4 hafta boyunca çalıştırın.
  • Gelişim için zaman tanıyın: Otomatik teklif kullanan veya yeni özellikleri test eden kampanyalarda, teklif modellerinin ve trafik düzeylerinin bölmeye göre yeniden kalibre edilmesi için ilk 1-2 haftalık verileri dikkate almayın.
  • 50/50 oranında bölme kullanın: Trafiği 50/50 oranında bölmek, genellikle istatistiksel olarak anlamlı sonuçlar elde etmenin en hızlı yoludur.
  • Önceden planlayın: Reklam inceleme ve onay süreçlerine zaman tanımak için denemenizin başlangıç tarihini 3-7 gün sonrasına ayarlayın.