Báo cáo về thử nghiệm

Có hai cách chính để báo cáo về thử nghiệm A/B chuẩn:

  • Báo cáo thử nghiệm trực tiếp: Truy vấn tài nguyên experiment để lấy các chỉ số. Lựa chọn này cung cấp các chỉ số cho nhóm đối chứng và nhóm can thiệp trong một phản hồi, cùng với dữ liệu so sánh thống kê như mức tăng và giá trị p. Đây là cách duy nhất để báo cáo về các thử nghiệm trong chiến dịch.
  • Báo cáo chiến dịch: Truy vấn tài nguyên campaign để lấy các chỉ số, sử dụng campaign.experiment_type để phân biệt giữa chiến dịch gốc và chiến dịch thử nghiệm. Bạn chỉ có thể sử dụng lựa chọn này cho những thử nghiệm sử dụng chiến dịch đối chứng và chiến dịch thử nghiệm riêng biệt, chẳng hạn như thử nghiệm do hệ thống quản lý.

Đối với thử nghiệm chuẩn, hướng dẫn này chủ yếu tập trung vào báo cáo thử nghiệm trực tiếp, tương thích với tất cả các loại thử nghiệm hỗ trợ báo cáo. Đối với các nghiên cứu đo lường mức tăng, bạn cũng có thể báo cáo về Mức tăng thương hiệu, Mức tăng lượt chuyển đổi và Mức tăng lưu lượng tìm kiếm bằng cách sử dụng các tài nguyên đo lường mức tăng chuyên biệt.

Báo cáo thử nghiệm trực tiếp

Bạn có thể truy vấn trực tiếp tài nguyên experiment để truy xuất các chỉ số hiệu suất và thông tin so sánh thống kê giữa nhóm đối chứng và nhóm can thiệp.

Chỉ số và ý nghĩa thống kê

Đối với các chỉ số cốt lõi như số lượt nhấp, số lượt hiển thị, chi phí, số lượt chuyển đổi và giá trị lượt chuyển đổi, tài nguyên experiment cung cấp cả chỉ số thử nghiệm (ví dụ: metrics.clicks) và chỉ số đối chứng (ví dụ: metrics.control_clicks) trong cùng một hàng.

Báo cáo này cũng cung cấp các trường giúp bạn đánh giá ý nghĩa thống kê của mọi điểm khác biệt giữa các nhóm thử nghiệm:

  • metrics.*_p_value: Xác suất mà kết quả quan sát được sẽ xảy ra nếu thử nghiệm không có tác động thực tế đến chỉ số. Giá trị p càng thấp thì ý nghĩa thống kê càng cao.
  • metrics.*_point_estimate: Mức tăng ước tính theo tỷ lệ phần trăm (dương hoặc âm) trong chỉ số đã cho của nhóm can thiệp so với nhóm đối chứng. Cùng với margin_of_error, các giá trị này mô tả một khoảng tin cậy với mức độ tin cậy được quy định cho mức chênh lệch đang được ước tính. Số lượng được ước tính là (thử nghiệm / đối chứng – 1). Ước tính điểm là trung tâm của khoảng tin cậy.
  • metrics.*_margin_of_error: Bán kính của khoảng tin cậy, có tâm tại point_estimate. Giá trị này được tính cho một mức độ tin cậy đã định, tuỳ thuộc vào loại thử nghiệm.

Các trường chỉ số cốt lõi sau đây được hỗ trợ trên tài nguyên experiment, bao gồm cả giá trị nhóm thử nghiệm, giá trị nhóm đối chứng và các trường thống kê được liệt kê trước đó:

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

Cụ thể, đối với lượt chuyển đổi, các trường thống kê có sẵn thông qua các trường absolute_change sau đây, thay vì dưới dạng giá trị tương đối:

Để được hỗ trợ tạo truy vấn hợp lệ cho tài nguyên experiment, hãy sử dụng công cụ Trình tạo truy vấn của Google Ads.

Cụm từ tìm kiếm ví dụ

Truy vấn GAQL sau đây truy xuất các chỉ số chính cho một thử nghiệm:

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

Diễn giải kết quả

Bạn có thể sử dụng các trường giá trị p, ước tính điểm và biên sai số để xác định xem thử nghiệm của bạn có mang lại kết quả có ý nghĩa thống kê hay không. Ví dụ: nếu conversions_absolute_change_p_value thấp hơn ngưỡng bạn chọn (chẳng hạn như 0.05 cho độ tin cậy 95%) và conversions_absolute_change_point_estimate – conversions_absolute_change_margin_of_error lớn hơn 0, thì nhóm can thiệp đang hoạt động hiệu quả hơn đáng kể so với nhóm đối chứng về số lượt chuyển đổi.

Dưới đây là một đoạn mã Python minh hoạ cách đánh giá kết quả dựa trên giá trị p và mức tăng ước tính:

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

Lợi ích so với báo cáo chiến dịch

Báo cáo thử nghiệm trực tiếp mang lại một số lợi thế so với việc truy vấn báo cáo chiến dịch riêng biệt:

  1. Chỉ số tập trung: Truy xuất các chỉ số cho nhóm đối chứng và nhóm thử nghiệm trong một hàng duy nhất.
  2. Dữ liệu về độ tin cậy thống kê: Cung cấp giá trị p, giá trị ước tính điểm và biên sai số đã tính toán.
  3. Hiệu quả: Không cần phải kết hợp hoặc so sánh kết quả từ nhiều báo cáo theo cách thủ công.
  4. Hỗ trợ trong chiến dịch: Đây là cách duy nhất để so sánh nhóm đối chứng với nhóm thử nghiệm cho các thử nghiệm trong chiến dịch, trong đó lưu lượng truy cập được phân chia trong một chiến dịch.

Báo cáo chiến dịch

Đối với những thử nghiệm tạo ra các chiến dịch thử nghiệm riêng biệt (ví dụ: SEARCH_CUSTOM), bạn có thể truy vấn tài nguyên campaign và sử dụng campaign.experiment_type để xác định chiến dịch BASE (đối chứng) và EXPERIMENT (thử nghiệm). Phương pháp này rất hữu ích nếu bạn cần phân đoạn các chỉ số ở cấp độ chi tiết hơn (chẳng hạn như theo nhóm quảng cáo hoặc từ khoá) hoặc xem siêu dữ liệu chiến dịch không có trong tài nguyên experiment. Tuy nhiên, bạn phải tự so sánh hiệu suất và tính toán số liệu thống kê.

Bạn không thể sử dụng báo cáo cấp chiến dịch để so sánh các nhóm cho thử nghiệm trong chiến dịch, vì việc phân tách lưu lượng truy cập diễn ra trong một chiến dịch duy nhất. Việc truy vấn campaign cho một thử nghiệm trong chiến dịch chỉ trả về tổng số liệu tổng hợp.

Báo cáo Mức tăng thương hiệu

Bạn có thể báo cáo về nghiên cứu Mức tăng thương hiệu trong Google Ads API bằng cách sử dụng các tài nguyên đo lường Mức tăng thương hiệu chuyên biệt.

Tài nguyên và chế độ xem chi tiết về Mức tăng thương hiệu

Truy vấn tài nguyên LiftMeasurementFlight để truy xuất kết quả nghiên cứu Mức tăng thương hiệu ở cấp đợt, bao gồm cả phạm vi ngày của đợt (start_date và end_date) theo múi giờ của khách hàng.

Để phân tích các chỉ số Mức tăng thương hiệu theo nhiều phương diện phân đoạn, hãy truy vấn các tài nguyên phân tích tương ứng:

Enum BrandLiftMeasurementType chỉ định loại đo lường cho nghiên cứu, chẳng hạn như mức độ nhận biết thương hiệu hoặc mức độ ghi nhớ quảng cáo.

Ví dụ về truy vấn Mức tăng thương hiệu

Vì siêu dữ liệu chuyến bay và số liệu thống kê về mức tăng nằm trên các tài nguyên riêng biệt, nên việc truy vấn thông tin chi tiết về chuyến bay và số liệu thống kê về hiệu suất đòi hỏi phải có các truy vấn GAQL riêng biệt.

Truy vấn thông tin chuyến bay

Để truy xuất siêu dữ liệu cho một đợt đo lường Mức tăng thương hiệu (chẳng hạn như trạng thái, loại đo lường và ngày theo lịch), hãy truy vấn tài nguyên 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

Truy vấn thống kê

Để truy xuất các chỉ số Mức tăng thương hiệu, hãy truy vấn tài nguyên phân tích phù hợp (hoặc cấu hình nghiên cứu tổng thể trên LiftMeasurementConfig). Ví dụ: truy vấn sau đây truy xuất các chỉ số Mức tăng thương hiệu được phân tích theo chiến dịch từ 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

Báo cáo Mức tăng lượt chuyển đổi

Bạn có thể đo lường mức tác động gia tăng của quảng cáo đối với lượt chuyển đổi bằng cách sử dụng báo cáo Mức tăng lượt chuyển đổi trong API Google Ads.

Cấu hình và chỉ số của giải pháp đo lường Mức tăng lượt chuyển đổi

Truy vấn tài nguyên LiftMeasurementConfig để truy xuất cấu hình và dữ liệu hiệu suất của nghiên cứu về Mức tăng lượt chuyển đổi.

Tài nguyên này cung cấp các chỉ số về Mức tăng lượt chuyển đổi để đánh giá hiệu suất gia tăng:

Báo cáo Mức tăng lượt chuyển đổi cũng cho phép phân đoạn theo hành động chuyển đổi và truy xuất thông tin chi tiết về chiến dịch, thông tin chi tiết về thử nghiệm và mục tiêu lượt chuyển đổi được liên kết.

Kể từ phiên bản v26, bạn có thể khám phá cấu hình đo lường mức tăng được liên kết với một chiến dịch ngay trong tài nguyên campaign bằng cách sử dụng Campaign.lift_measurement_config. Điều này giúp bạn không phải tham chiếu chéo tài nguyên LiftMeasurementConfig một cách riêng biệt:

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

Trường lift_measurement_config được trả về chứa tên tài nguyên ở định dạng customers/{customer_id}/liftMeasurementConfigs/{lift_measurement_config_id}.

Lưu ý: lift_measurement_config chứa tên tài nguyên của cấu hình được liên kết gần đây nhất (đang hoạt động hoặc không hoạt động) nếu chiến dịch đã chạy nhiều thử nghiệm mức tăng.

Cụm từ tìm kiếm ví dụ về Mức tăng lượt chuyển đổi

Truy vấn GAQL sau đây truy xuất cấu hình Mức tăng lượt chuyển đổi và các chỉ số hiệu suất chính. Xin lưu ý rằng segments.conversion_lift_start_date và segments.conversion_lift_end_date là các trường INT64 được định dạng dưới dạng số nguyên 8 chữ số không có dấu ngoặc kép theo định dạng YYYYMMDD (ví dụ: 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

Báo cáo Mức tăng lưu lượng tìm kiếm

Bạn có thể đo lường mức tăng về số lượng cụm từ tìm kiếm tự nhiên do các chiến dịch quảng cáo của bạn mang lại bằng cách sử dụng báo cáo Mức tăng lưu lượng tìm kiếm trong Google Ads API. Mức tăng lưu lượng tìm kiếm định lượng sự khác biệt về hành vi tìm kiếm thương hiệu hoặc sản phẩm của bạn giữa những người dùng đã xem quảng cáo của bạn và nhóm đối chứng không xem quảng cáo.

Tài nguyên và phân khúc về Mức tăng lưu lượng tìm kiếm

Truy vấn tài nguyên SearchLiftKeywordBundle để truy xuất thông tin chi tiết về các gói từ khoá được định cấu hình cho nghiên cứu về Mức tăng lưu lượng tìm kiếm. SearchLiftKeywordBundle ở chế độ chỉ đọc trong API (tất cả các trường đều là OUTPUT_ONLY) và các gói từ khoá được định cấu hình trong giao diện người dùng Google Ads hoặc do đại diện của Google / Giải pháp sản phẩm toàn cầu (GPS) định cấu hình. Các trường có thể truy vấn trong GAQL là resource_name, search_lift_keyword_bundle_id, source (SearchLiftMatchingInfoSource) và status (SearchLiftKeywordBundleStatus) (không thể chọn trường keywords lặp lại trong truy vấn GAQL).

Truy vấn tài nguyên LiftMeasurementConfig để truy xuất các chỉ số về Mức tăng lưu lượng tìm kiếm và cấu hình tổng thể của nghiên cứu.

Bạn có thể phân đoạn hiệu suất Mức tăng lưu lượng tìm kiếm bằng các phương diện sau:

  • segments.search_lift_keyword_bundle: Phân đoạn theo tên tài nguyên của nhóm từ khoá. Tương thích với segments.search_property, segments.date và các phân khúc nhân khẩu học (segments.device, segments.age_range và segments.gender).
  • segments.search_property: Phân đoạn theo sản phẩm tìm kiếm nơi diễn ra lượt tìm kiếm, được xác định bằng SearchLiftSearchProperty (chẳng hạn như Google Tìm kiếm hoặc YouTube). Xin lưu ý rằng segments.search_property chỉ tương thích với segments.search_lift_keyword_bundle và segments.date; việc kết hợp segments.search_property với các phân khúc nhân khẩu học (segments.device, segments.age_range hoặc segments.gender) không được hỗ trợ và không vượt qua được quy trình xác thực truy vấn API.
  • Phân khúc nhân khẩu học và ngày: segments.device, segments.age_range, segments.gender và segments.date.

Chỉ số về Mức tăng lưu lượng tìm kiếm

Tài nguyên LiftMeasurementConfig cung cấp các chỉ số về Mức tăng lưu lượng tìm kiếm để đánh giá những thay đổi về hành vi tìm kiếm:

  • metrics.relative_search_lift: Sự chênh lệch về số lượng cụm từ tìm kiếm giữa nhóm tiếp xúc và nhóm đối chứng, được biểu thị dưới dạng một phần của số cụm từ tìm kiếm trong nhóm đối chứng.
  • metrics.relative_search_lift_p90_lower_bound và metrics.relative_search_lift_p90_upper_bound: Giới hạn dưới và giới hạn trên của khoảng tin cậy 90% cho mức tăng lưu lượng tìm kiếm tương đối.
  • metrics.incremental_searches_p_value: Giá trị p cho số lượt tìm kiếm gia tăng, thể hiện xác suất thống kê rằng mức tăng quan sát được về số cụm từ tìm kiếm xảy ra một cách ngẫu nhiên.
  • metrics.search_lift_cost_micros: Tổng chi phí (tính bằng micro) của các lượt hiển thị quảng cáo được phân phát cho phân khúc đo lường Mức tăng lưu lượng tìm kiếm này.
  • metrics.search_lift_impressions: Tổng số lượt hiển thị quảng cáo được phân phát cho lát cắt đo lường Mức tăng lưu lượng tìm kiếm này.

Các chỉ số gia tăng chuẩn hoá sau đây (cùng với giới hạn dưới và giới hạn trên của khoảng tin cậy 90% tương ứng (*_p90_lower_bound và *_p90_upper_bound)) được báo cáo khi mức tăng có ý nghĩa thống kê:

Ví dụ về cụm từ tìm kiếm cho Mức tăng lưu lượng tìm kiếm

Các truy vấn GAQL sau đây minh hoạ cách truy xuất các gói từ khoá và chỉ số hiệu suất của Mức tăng lưu lượng tìm kiếm.

Cụm từ tìm kiếm về nhóm từ khoá

Cách truy xuất các nhóm từ khoá được định cấu hình cho phép đo lường Mức tăng lưu lượng tìm kiếm:

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

Truy vấn chỉ số

Các giá trị search_lift_keyword_bundle.resource_name được truy xuất trong truy vấn gói từ khoá tương ứng với các giá trị được trả về trong segments.search_lift_keyword_bundle trong truy vấn sau. Để khám phá CONFIG_ID cho nghiên cứu của bạn, hãy truy vấn lift_measurement_config (ví dụ: SELECT lift_measurement_config.lift_measurement_config_id, lift_measurement_config.name FROM lift_measurement_config).

Cách truy xuất các chỉ số về Mức tăng lưu lượng tìm kiếm được phân đoạn theo gói từ khoá và cơ sở lưu trú tìm kiếm:

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

Các phương pháp hay nhất

Các phương pháp hay nhất sau đây áp dụng cho thử nghiệm A/B chuẩn (chẳng hạn như thử nghiệm chiến dịch và thử nghiệm trong chiến dịch). Các nghiên cứu đo lường mức tăng (Mức tăng thương hiệu, Mức tăng lượt chuyển đổi và Mức tăng lưu lượng tìm kiếm) sử dụng cấu hình dành riêng cho nghiên cứu và báo cáo khoảng tin cậy 90% (*_p90_lower_bound và *_p90_upper_bound) thay vì ngưỡng tin cậy 95%.

  • Chọn mức độ tin cậy phù hợp: Việc đặt ngưỡng giá trị p thấp hơn có thể giúp bạn nhanh chóng nhận được hướng dẫn định hướng, đặc biệt là khi ngân sách hoặc số lượt chuyển đổi thấp hơn. Độ tin cậy 95% (giá trị p <= 0,05) được coi là tiêu chuẩn học thuật và có thể phù hợp hơn để có kết quả chính xác hơn trong khung thời gian dài hơn.
  • Chạy thử nghiệm trong thời gian đủ dài: Chạy thử nghiệm trong ít nhất 4 tuần để tính đến chu kỳ hiệu suất hằng tuần, độ trễ chuyển đổi và giai đoạn tự học.
  • Dành thời gian cho giai đoạn chạy đà: Đối với những chiến dịch sử dụng chiến lược đặt giá thầu tự động hoặc thử nghiệm các tính năng mới, hãy bỏ qua dữ liệu của 1 đến 2 tuần đầu tiên để các mô hình đặt giá thầu và mức lưu lượng truy cập có thời gian điều chỉnh lại theo mức phân chia.
  • Sử dụng tỷ lệ phân tách 50/50: Tỷ lệ phân tách lưu lượng truy cập 50/50 thường là cách nhanh nhất để đạt được kết quả có ý nghĩa thống kê.
  • Lên lịch trước: Đặt ngày bắt đầu thử nghiệm sau 3-7 ngày để có thời gian cho quy trình xem xét và phê duyệt quảng cáo.