草稿和實驗
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
建立搜尋或多媒體廣告活動草稿
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();
}
擷取廣告活動草稿
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());
}
}
建立實驗
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();
}
取得實驗
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());
}
}
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-21 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-08-21 (世界標準時間)。"],[[["\u003cp\u003eThis script provides functions for managing Google Ads drafts and experiments, including creating, retrieving, and interacting with them.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ecreateDraft\u003c/code\u003e function enables the creation of a new draft campaign from an existing campaign using their respective names.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egetDrafts\u003c/code\u003e function retrieves and displays either all existing drafts or a specific draft based on its name.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ecreateExperiment\u003c/code\u003e function initiates a new experiment based on a selected draft, assigning it a name and traffic split percentage.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egetExperiments\u003c/code\u003e function lists all available experiments or a specific one using its name, aiding in experiment monitoring and management.\u003c/p\u003e\n"]]],[],null,["# Drafts and Experiments\n\nCreate a draft Search or Display campaign\n-----------------------------------------\n\n```gdscript\nfunction createDraft(campaignName, newDraftName) {\n const campaign = AdsApp.campaigns()\n .withCondition(`campaign.name = '${campaignName}'`)\n .get()\n .next();\n\n var draftBuilder = campaign.newDraftBuilder()\n .withName(newDraftName)\n .build();\n\n var draft = draftBuilder.getResult();\n}\n```\n\nGet draft campaigns\n-------------------\n\n```gdscript\nfunction getDrafts() {\n // Get all drafts.\n const drafts = AdsApp.drafts().get();\n\n console.log(drafts.totalNumEntities());\n\n for (const draft of drafts) {\n console.log(\"Draft: \" + draft.getName());\n }\n\n // Get a specific draft.\n const campaignIterator = AdsApp.drafts()\n .withCondition(\"campaign_draft.name = 'INSERT_DRAFT_NAME'\")\n .get();\n\n for (const campaign of campaignIterator) {\n console.log(campaign.getName());\n }\n}\n```\n\nCreate an experiment\n--------------------\n\n```gdscript\nfunction createExperiment(draftName, newExperimentName) {\n const draft = AdsApp.drafts()\n .withCondition(`campaign_draft.name = '${draftName}'`)\n .get()\n .next();\n\n var experimentBuilder = draft.newExperimentBuilder();\n\n experimentBuilder.withName(newExperimentName)\n .withTrafficSplitPercent(50)\n .startBuilding();\n}\n```\n\nGet experiments\n---------------\n\n```gdscript\nfunction getExperiments() {\n // Get all experiments.\n var exps = AdsApp.experiments().get();\n\n console.log(exps.totalNumEntities());\n\n while (exps.hasNext()) {\n var exp = exps.next();\n console.log(\"Experiment: \" + exp.getName());\n }\n\n // Get specific experiment.\n var campaignIterator = AdsApp.experiments()\n .withCondition(\"Name = 'INSERT_EXPERIMENT_NAME'\")\n .get();\n\n while (campaignIterator.hasNext()) {\n console.log(campaignIterator.next().getName());\n }\n}\n```"]]