สร้างการทดสอบ

การทดสอบคืออินเทอร์เฟซสำหรับจัดการแคมเปญทดสอบที่เกี่ยวข้องกับฐาน แคมเปญ แคมเปญการทดสอบคือแคมเปญที่สมบูรณ์ซึ่งสามารถแสดงโฆษณาได้ และเพิ่มจำนวนคลิก ค่าใช้จ่าย และเมตริกอื่นๆ

ขั้นตอนแรกในการเรียกใช้การทดสอบโดยใช้ Google Ads API คือการสร้าง Experiment ทรัพยากรนี้กำหนดคีย์บางรายการ ข้อมูลเกี่ยวกับการทดสอบที่คุณต้องการเรียกใช้ เช่น ชื่อและการทดสอบ ประเภท คุณไม่ได้ระบุแคมเปญใดๆ ที่เกี่ยวข้องกับการทดสอบที่ ขั้นตอนนี้

ภาพรวมของช่องหลักบางช่องสำหรับ Experiment มีดังนี้

  • name: การทดสอบแต่ละรายการต้องมีชื่อที่ไม่ซ้ำกัน
  • description: ช่องที่ไม่บังคับซึ่งใช้อ้างอิงในภายหลังได้ ไหม ไม่มีผลต่อวิธีการทดสอบ
  • suffix: คำต่อท้ายจะต่อท้ายชื่อของ แคมเปญกลุ่มทดสอบเพื่อให้คุณแยกความแตกต่างจากแคมเปญควบคุมได้ แนวคิดเหล่านี้จะได้รับการอธิบายเพิ่มเติมในการทดสอบ กลุ่ม
  • type: ประเภทการทดสอบที่จะเรียกใช้ ซึ่งมีหลายประเภทที่นี่ แต่ส่วนใหญ่ ในจำนวนนี้เป็นการทดสอบระบบ สำหรับการทดสอบที่กำหนดเอง คุณควรทำดังนี้ ระบุ SEARCH_CUSTOM หรือ DISPLAY_CUSTOM
  • status: เมื่อสร้างการทดสอบ ให้ตั้งค่าช่องนี้เป็น SETUP หลังจากนั้น เมื่อคุณเริ่มการทดสอบ ฟิลด์นี้จะ ให้คุณตรวจสอบว่า กำลังทำอยู่
  • start_date และ end_date: ระบุเวลาที่การทดสอบควรเริ่มต้นและ สิ้นสุด
  • sync_enabled: ปิดใช้งานโดยค่าเริ่มต้น หากตั้งค่าเป็น true ระบบจะทำการเปลี่ยนแปลง ระบบจะคัดลอกแคมเปญเดิมขณะที่การทดสอบทำงานอยู่โดยอัตโนมัติ ลงในแคมเปญทดสอบ เรียนรู้ เพิ่มเติม

ต่อไปนี้คือตัวอย่างของการสร้างการทดสอบ

Java

private String createExperimentResource(GoogleAdsClient googleAdsClient, long customerId) {
  ExperimentOperation operation =
      ExperimentOperation.newBuilder()
          .setCreate(
              Experiment.newBuilder()
                  // Name must be unique.
                  .setName("Example Experiment #" + getPrintableDateTime())
                  .setType(ExperimentType.SEARCH_CUSTOM)
                  .setSuffix("[experiment]")
                  .setStatus(ExperimentStatus.SETUP)
                  .build())
          .build();

  try (ExperimentServiceClient experimentServiceClient =
      googleAdsClient.getLatestVersion().createExperimentServiceClient()) {
    MutateExperimentsResponse response =
        experimentServiceClient.mutateExperiments(
            Long.toString(customerId), ImmutableList.of(operation));
    String experiment = response.getResults(0).getResourceName();
    System.out.printf("Created experiment with resource name '%s'%n", experiment);
    return experiment;
  }
}
      

C#

/// <summary>
/// Creates the experiment.
/// </summary>
/// <param name="client">The Google Ads client.</param>
/// <param name="customerId">The customer ID for which the call is made.</param>
/// <returns>The resource name of the newly created experiment.</returns>
private static string CreateAnExperiment(GoogleAdsClient client, long customerId)
{
    // Get the ExperimentService.
    ExperimentServiceClient experimentService = client.GetService(
        Services.V17.ExperimentService);

    // Creates the experiment.
    Experiment experiment = new Experiment()
    {
        // Name must be unique.
        Name = $"Example Experiment #{ExampleUtilities.GetRandomString()}",
        Type = ExperimentType.SearchCustom,
        Suffix = "[experiment]",
        Status = ExperimentStatus.Setup
    };

    // Creates the operation.
    ExperimentOperation operation = new ExperimentOperation()
    {
        Create = experiment
    };

    // Makes the API call.
    MutateExperimentsResponse response = experimentService.MutateExperiments(
        customerId.ToString(), new[] { operation });

    // Displays the result.
    string experimentResourceName = response.Results.First().ResourceName;

    Console.WriteLine($"Created experiment with resource name " +
        $"'{experimentResourceName}'.");
    return experimentResourceName;
}

      

PHP

private static function createExperimentResource(
    ExperimentServiceClient $experimentServiceClient,
    int $customerId
): string {
    // Creates an experiment and its operation.
    $experiment = new Experiment([
        // Name must be unique.
        'name' => 'Example Experiment #' . Helper::getPrintableDatetime(),
        'type' => ExperimentType::SEARCH_CUSTOM,
        'suffix' => '[experiment]',
        'status' => ExperimentStatus::SETUP
    ]);
    $experimentOperation = new ExperimentOperation(['create' => $experiment]);

    // Issues a request to create the experiment.
    $response = $experimentServiceClient->mutateExperiments(
        MutateExperimentsRequest::build($customerId, [$experimentOperation])
    );
    $experimentResourceName = $response->getResults()[0]->getResourceName();
    print "Created experiment with resource name '$experimentResourceName'" . PHP_EOL;

    return $experimentResourceName;
}
      

Python

def create_experiment_resource(client, customer_id):
    """Creates a new experiment resource.

    Args:
        client: an initialized GoogleAdsClient instance.
        customer_id: a client customer ID.

    Returns:
        the resource name for the new experiment.
    """
    experiment_operation = client.get_type("ExperimentOperation")
    experiment = experiment_operation.create

    experiment.name = f"Example Experiment #{uuid.uuid4()}"
    experiment.type_ = client.enums.ExperimentTypeEnum.SEARCH_CUSTOM
    experiment.suffix = "[experiment]"
    experiment.status = client.enums.ExperimentStatusEnum.SETUP

    experiment_service = client.get_service("ExperimentService")
    response = experiment_service.mutate_experiments(
        customer_id=customer_id, operations=[experiment_operation]
    )

    experiment_resource_name = response.results[0].resource_name
    print(f"Created experiment with resource name {experiment_resource_name}")

    return experiment_resource_name
      

Ruby

def create_experiment_resource(client, customer_id)
  operation = client.operation.create_resource.experiment do |e|
    # Name must be unique.
    e.name = "Example Experiment #{(Time.new.to_f * 1000).to_i}"
    e.type = :SEARCH_CUSTOM
    e.suffix = '[experiment]'
    e.status = :SETUP
  end

  response = client.service.experiment.mutate_experiments(
    customer_id: customer_id,
    operations: [operation],
  )

  experiment = response.results.first.resource_name
  puts "Created experiment with resource name #{experiment}."

  experiment
end
      

Perl

sub create_experiment_resource {
  my ($api_client, $customer_id) = @_;

  my $experiment = Google::Ads::GoogleAds::V17::Resources::Experiment->new({
    # Name must be unique.
    name   => "Example Experiment #" . uniqid(),
    type   => SEARCH_CUSTOM,
    suffix => "[experiment]",
    status => SETUP
  });

  my $operation =
    Google::Ads::GoogleAds::V17::Services::ExperimentService::ExperimentOperation
    ->new({
      create => $experiment
    });

  my $response = $api_client->ExperimentService()->mutate({
      customerId => $customer_id,
      operations => [$operation]});

  my $resource_name = $response->{results}[0]{resourceName};
  printf "Created experiment with resource name '%s'.\n", $resource_name;
  return $resource_name;
}