Experiment operations

Once you've set up your Experiment and its ExperimentArms, and modified the treatment arm to suit your experiment, there are various operations you can perform to actually run the experiment and manage it once it is complete.

Long running operations

Some of these operations are asynchronous, which means that your Google Ads API call will begin the process, but it won't be complete right away. Instead, you will have to check for completion. For more details on this, see the guide on handling async errors.


There are four kinds of operations you can perform on an experiment. They are all housed in the ExperimentService.

  • Schedule the experiment. This is asynchronous. Materializes the in design campaigns to actual campaigns, ready to serve once the experiment's start date arrives.
  • End the experiment. This is a normal synchronous operation. If the experiment is already in progress, you can end it immediately, even if the end date hasn't been reached.
  • Promote the experiment. This is asynchronous. This will copy changes made in the treatment arm to the control arm, and stop the treatment arm from serving. Use this if you liked the changes and want to incorporate them into your original campaign.
  • Graduate the experiment. This is a normal synchronous operation. This will permanently set up the treatment campaign to continue to exist, outside of the context of the experiment. No changes will be made to the control campaign. Use this option if you liked the changes, but want them to exist separately from the original campaign.