آزمایش ها رابطی برای مدیریت کمپین های آزمایشی مرتبط با کمپین پایه هستند. کمپینهای آزمایشی کمپینهای تمام عیار هستند که میتوانند تبلیغات را ارائه کنند و کلیکها، هزینه و سایر معیارها را جمعآوری کنند.
اولین قدم در اجرای آزمایش با استفاده از Google Ads API ایجاد یک Experiment
است. این منبع برخی از اطلاعات کلیدی آزمایشی را که میخواهید اجرا کنید، مانند نام و نوع آزمایش تعریف میکند. در این مرحله هیچ یک از کمپین های درگیر در آزمایش را مشخص نمی کنید.
در اینجا مروری بر برخی از فیلدهای کلیدی برای یک Experiment
آمده است:
-
name
: هر آزمایش باید یک نام منحصر به فرد داشته باشد. -
description
: یک فیلد اختیاری که می توانید بعداً از آن برای ارجاع استفاده کنید. بر نحوه اجرای آزمایش تأثیری ندارد. -
suffix
: این پسوند به انتهای نام کمپین های درمانی اضافه می شود تا بتوانید آنها را از کمپین کنترل متمایز کنید. این مفاهیم در صفحه بازوهای آزمایش بیشتر توضیح داده خواهد شد. -
type
: چه نوع آزمایشی باید اجرا شود. در اینجا انواع زیادی وجود دارد، اما بیشتر آنها آزمایشات سیستمی هستند. برای آزمایشهای سفارشیتان، میخواهیدSEARCH_CUSTOM
یاDISPLAY_CUSTOM
را مشخص کنید. -
status
: هنگام ایجاد آزمایش، این فیلد را رویSETUP
تنظیم کنید. بعداً، هنگامی که آزمایش را شروع کردید، این فیلد به شما امکان می دهد بررسی کنید که در حال حاضر چه کاری انجام می دهد -
start_date
وend_date
: تعیین کنید آزمایش چه زمانی شروع و چه زمانی پایان یابد. -
sync_enabled
: به طور پیش فرض غیرفعال است. اگر رویtrue
تنظیم شود، تغییرات ایجاد شده در کمپین اصلی در حین اجرای آزمایش شما بهطور خودکار در کمپین آزمایش کپی میشود. بیشتر بدانید .
در اینجا نمونه ای از ایجاد یک آزمایش آورده شده است:
جاوا
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; } }
سی شارپ
/// <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; }
پایتون
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
روبی
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
پرل
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; }