Campaign experiments are an interface to manage experimental campaigns related to a base campaign. Experiment campaigns are full-fledged campaigns that can serve ads and accrue clicks, cost, and other metrics.
Creating a campaign experiment
Creating a campaign experiment is an asynchronous operation, and does not
use the standard mutate mechanism for normal operations on resources. You
should create a new
campaign_draft for the campaign draft you wish to turn into
an experiment. Additionally you must specify a
Traffic split percent indicates what percentage of traffic should be directed to the experiment campaign. The remaining percentage will still be directed towards the base campaign. For a given impression, only the base campaign or the experiment campaign will be considered for auctions, not both.
The traffic split type indicates how the traffic will be segregated between
the experiment campaign and the base campaign. If you choose
then the campaign will be chosen randomly at the time of the impression. If you
COOKIE, then the choice made for a given user will be persisted in a
cookie so that specific user is always in the same arm of the experiment.
CampaignExperiment is set up, you should make a
request to create the experiment. This is asynchronous, and will return a
longrunning operation you can use to check on the status of the creation.
Modifying an existing experiment
You can change fields on the experiment campaign like you would any normal campaign, with a few exceptions that are dictated by the campaign experiment:
Promote, Graduate, or Terminate
When your experiment has collected sufficient data, you can choose its fate:
- Promote the experiment, copying any changes from the experiment campaign
to the base campaign and removing the experiment campaign. This is an
asynchronous operation. You can perform this operation by calling
- Graduate the experiment, allowing it to continue completely independent
of the base campaign as its own full-fledged campaign. This is a synchronous
operation and executes immediately. You can perform this operation by
CampaignExperimentService.GraduateCampaignExperiment. You must pass in a new
campaign_budgetto this request, since the newly graduated campaign will not be able to share the budget of the existing base campaign.
- End the experiment by calling
CampaignExperimentService.EndCampaignExperiment. This is a synchronous operation.