CampaignExperimentService

CampaignExperimentService manages the life cycle of campaign experiments. It is used to create new experiments from drafts, modify experiment properties, promote changes in an experiment back to its base campaign, graduate experiments into new stand-alone campaigns, and to remove an experiment.

An experiment consists of two variants or arms - the base campaign and the experiment campaign, directing a fixed share of traffic to each arm. A campaign experiment is created from a draft of changes to the base campaign and will be a snapshot of changes in the draft at the time of creation.

CreateCampaignExperiment

rpc CreateCampaignExperiment(CreateCampaignExperimentRequest) returns (Operation)

Creates a campaign experiment based on a campaign draft. The draft campaign will be forked into a real campaign (called the experiment campaign) that will begin serving ads if successfully created.

The campaign experiment is created immediately with status INITIALIZING. This method return a long running operation that tracks the forking of the draft campaign. If the forking fails, a list of errors can be retrieved using the ListCampaignExperimentAsyncErrors method. The operation's metadata will be a StringValue containing the resource name of the created campaign experiment.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/adwords

For more information, see the OAuth 2.0 Overview.

EndCampaignExperiment

rpc EndCampaignExperiment(EndCampaignExperimentRequest) returns (Empty)

Immediately ends a campaign experiment, changing the experiment's scheduled end date and without waiting for end of day. End date is updated to be the time of the request.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/adwords

For more information, see the OAuth 2.0 Overview.

GetCampaignExperiment

rpc GetCampaignExperiment(GetCampaignExperimentRequest) returns (CampaignExperiment)

Returns the requested campaign experiment in full detail.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/adwords

For more information, see the OAuth 2.0 Overview.

GraduateCampaignExperiment

rpc GraduateCampaignExperiment(GraduateCampaignExperimentRequest) returns (GraduateCampaignExperimentResponse)

Graduates a campaign experiment to a full campaign. The base and experiment campaigns will start running independently with their own budgets.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/adwords

For more information, see the OAuth 2.0 Overview.

ListCampaignExperimentAsyncErrors

rpc ListCampaignExperimentAsyncErrors(ListCampaignExperimentAsyncErrorsRequest) returns (ListCampaignExperimentAsyncErrorsResponse)

Returns all errors that occurred during CampaignExperiment create or promote (whichever occurred last). Supports standard list paging.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/adwords

For more information, see the OAuth 2.0 Overview.

MutateCampaignExperiments

rpc MutateCampaignExperiments(MutateCampaignExperimentsRequest) returns (MutateCampaignExperimentsResponse)

Updates campaign experiments. Operation statuses are returned.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/adwords

For more information, see the OAuth 2.0 Overview.

PromoteCampaignExperiment

rpc PromoteCampaignExperiment(PromoteCampaignExperimentRequest) returns (Operation)

Promotes the changes in a experiment campaign back to the base campaign.

The campaign experiment is updated immediately with status PROMOTING. This method return a long running operation that tracks the promoting of the experiment campaign. If the promoting fails, a list of errors can be retrieved using the ListCampaignExperimentAsyncErrors method.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/adwords

For more information, see the OAuth 2.0 Overview.