Denemeler, ana kampanyadaki deneme amaçlı kampanyaları yönetmek için kullanılan bir arayüzdür. Deneme kampanyaları, reklam yayınlayıp tıklama, maliyet ve diğer metrikleri elde edebilen tam kapsamlı kampanyalardır.
Google Ads API'yi kullanarak bir deneme çalıştırmanın ilk adımı bir Experiment
oluşturmaktır. Bu kaynakta, çalıştırmak istediğiniz denemeyle ilgili ad ve deneme türü gibi bazı temel bilgiler tanımlanmaktadır. Bu adımda denemeye dahil olan kampanyaların hiçbirini belirtmeyeceksiniz.
Experiment
için bazı önemli alanlara genel bakış:
name
: Her denemenin benzersiz bir adı olmalıdır.description
: Daha sonra başvuruda bulunmak için kullanabileceğiniz isteğe bağlı bir alandır. Denemenin çalışma şeklini etkilemez.suffix
: Sonek, kontrol kampanyasından ayırt edebilmeniz için değerlendirme kampanyalarının adlarının sonuna eklenir. Bu kavramlar, deneme kolları sayfasında daha ayrıntılı olarak açıklanmıştır.type
: Çalıştırılacak deneme türü. Burada pek çok tür vardır, ancak bunların çoğu sistem denemeleridir. Özel denemeleriniz içinSEARCH_CUSTOM
veyaDISPLAY_CUSTOM
değerlerini belirtmeniz gerekir.status
: Deneme oluştururken bu alanıSETUP
olarak ayarlayın. Daha sonra, denemeye başladığınızda bu alan, denemenizin şu anda ne yaptığını kontrol etmenizestart_date
veend_date
: Denemenin ne zaman başlaması ve bitmesi gerektiğini belirtin.sync_enabled
: Varsayılan olarak devre dışıdır.true
olarak ayarlanırsa denemeniz çalışırken orijinal kampanyada yapılan değişiklikler otomatik olarak deneme kampanyasına kopyalanır. Daha fazla bilgi edinin.
Aşağıda, deneme oluşturmayla ilgili bir örnek verilmiştir:
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.V16.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::V16::Resources::Experiment->new({ # Name must be unique. name => "Example Experiment #" . uniqid(), type => SEARCH_CUSTOM, suffix => "[experiment]", status => SETUP }); my $operation = Google::Ads::GoogleAds::V16::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; }