Drafts and Experiments
Stay organized with collections
Save and categorize content based on your preferences.
Create a draft Search or Display campaign
function createDraft(campaignName, newDraftName) {
const campaign = AdsApp.campaigns()
.withCondition(`campaign.name = '${campaignName}'`)
.get()
.next();
var draftBuilder = campaign.newDraftBuilder()
.withName(newDraftName)
.build();
var draft = draftBuilder.getResult();
}
Get draft campaigns
function getDrafts() {
// Get all drafts.
const drafts = AdsApp.drafts().get();
console.log(drafts.totalNumEntities());
for (const draft of drafts) {
console.log("Draft: " + draft.getName());
}
// Get a specific draft.
const campaignIterator = AdsApp.drafts()
.withCondition("campaign_draft.name = 'INSERT_DRAFT_NAME'")
.get();
for (const campaign of campaignIterator) {
console.log(campaign.getName());
}
}
Create an experiment
function createExperiment(draftName, newExperimentName) {
const draft = AdsApp.drafts()
.withCondition(`campaign_draft.name = '${draftName}'`)
.get()
.next();
var experimentBuilder = draft.newExperimentBuilder();
experimentBuilder.withName(newExperimentName)
.withTrafficSplitPercent(50)
.startBuilding();
}
Get experiments
function getExperiments() {
// Get all experiments.
var exps = AdsApp.experiments().get();
console.log(exps.totalNumEntities());
while (exps.hasNext()) {
var exp = exps.next();
console.log("Experiment: " + exp.getName());
}
// Get specific experiment.
var campaignIterator = AdsApp.experiments()
.withCondition("Name = 'INSERT_EXPERIMENT_NAME'")
.get();
while (campaignIterator.hasNext()) {
console.log(campaignIterator.next().getName());
}
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[null,null,["Last updated 2025-08-20 UTC."],[],[],null,[]]