آزمایشها رابطی برای مدیریت کمپینهای آزمایشی مرتبط با یک کمپین پایه هستند. کمپینهای آزمایشی، کمپینهای کاملی هستند که میتوانند تبلیغات ارائه دهند و کلیکها، هزینهها و سایر معیارها را جمعآوری کنند.
اولین قدم برای اجرای یک آزمایش با استفاده از 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.V23.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; }
پی اچ پی
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: GoogleAdsClient, customer_id: str ) -> str: """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: ExperimentOperation = client.get_type( "ExperimentOperation" ) experiment: 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: ExperimentServiceClient = client.get_service( "ExperimentService" ) response: MutateExperimentsResponse = experiment_service.mutate_experiments( customer_id=customer_id, operations=[experiment_operation] ) experiment_resource_name: str = 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::V23::Resources::Experiment->new({ # Name must be unique. name => "Example Experiment #" . uniqid(), type => SEARCH_CUSTOM, suffix => "[experiment]", status => SETUP }); my $operation = Google::Ads::GoogleAds::V23::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; }