Stay organized with collections
Save and categorize content based on your preferences.
Represents a Google Ads draft. Drafts can be used to prepare changes to
campaigns, either by applying them directly or running an experiment. For
more information, refer to our guide to Drafts and Experiments.
Removes the draft, thereby removing its associated draft campaign, but not
removing the associated base campaign.
Returns nothing.
setName(name)
Sets the name of the draft.
Returns nothing.
Arguments:
Name
Type
Description
name
String
The new name for the draft.
startApplying()
Starts applying the draft's changes back to the base campaign. Does not
wait for completion. View this draft in the "All drafts" tab of the UI to
see if its changes are finished being applied.
[null,null,["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eGoogle Ads drafts facilitate preparing campaign changes, which can be directly applied or used in experiments.\u003c/p\u003e\n"],["\u003cp\u003eDrafts allow you to test changes in a draft campaign before impacting the original base campaign.\u003c/p\u003e\n"],["\u003cp\u003eYou can apply draft changes directly to the base campaign or run an experiment to compare performance.\u003c/p\u003e\n"],["\u003cp\u003eAccess further details on drafts and experiments via the provided guide link (refer to "Content").\u003c/p\u003e\n"],["\u003cp\u003eDedicated methods enable managing drafts, including applying changes, retrieving status, and removing drafts (refer to "Methods").\u003c/p\u003e\n"]]],[],null,["# AdsApp.Draft\n\nRepresents a Google Ads draft. Drafts can be used to prepare changes to campaigns, either by applying them directly or running an experiment. For more information, refer to our guide to Drafts and Experiments.\n\n### Methods:\n\n| Member | Type | Description |\n|-------------------------------------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|\n| [getBaseCampaign()](#getBaseCampaign) | [AdsApp.Campaign](/google-ads/scripts/docs/reference/adsapp/adsapp_campaign) | Returns the base campaign to which this draft belongs. |\n| [getDraftCampaign()](#getDraftCampaign) | [AdsApp.Campaign](/google-ads/scripts/docs/reference/adsapp/adsapp_campaign) | Returns the draft campaign associated with this draft. |\n| [getEntityType()](#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `\"Draft\"`. |\n| [getId()](#getId) | `String` | Returns the ID of the draft. |\n| [getName()](#getName) | `String` | Returns the name of the draft. |\n| [getResourceName()](#getResourceName) | `String` | Returns the resource name of the draft. |\n| [getStatus()](#getStatus) | `String` | Returns the status of the draft. |\n| [hasRunningExperiment()](#hasRunningExperiment) | `boolean` | Returns `true` if the draft has a currently-running experiment. |\n| [newExperimentBuilder()](#newExperimentBuilder) | [AdsApp.ExperimentBuilder](/google-ads/scripts/docs/reference/adsapp/adsapp_experimentbuilder) | | **Deprecated:** This method is deprecated and will be removed soon. |\n| [remove()](#remove) | `void` | Removes the draft, thereby removing its associated draft campaign, but not removing the associated base campaign. |\n| [setName(name)](#setName_name) | `void` | Sets the name of the draft. |\n| [startApplying()](#startApplying) | `void` | Starts applying the draft's changes back to the base campaign. |\n\n`getBaseCampaign()`\n-------------------\n\nReturns the base campaign to which this draft belongs.\n\n### Return values:\n\n| Type | Description |\n|------------------------------------------------------------------------------|------------------------------------------------|\n| [AdsApp.Campaign](/google-ads/scripts/docs/reference/adsapp/adsapp_campaign) | The base campaign to which this draft belongs. |\n\n`getDraftCampaign()`\n--------------------\n\nReturns the draft campaign associated with this draft.\n\n### Return values:\n\n| Type | Description |\n|------------------------------------------------------------------------------|------------------------------------------------|\n| [AdsApp.Campaign](/google-ads/scripts/docs/reference/adsapp/adsapp_campaign) | The draft campaign associated with this draft. |\n\n`getEntityType()`\n-----------------\n\nReturns the type of this entity as a `String`, in this case, `\"Draft\"`.\n\n### Return values:\n\n| Type | Description |\n|----------|---------------------------------|\n| `String` | Type of this entity: `\"Draft\"`. |\n\n`getId()`\n---------\n\nReturns the ID of the draft.\n\n### Return values:\n\n| Type | Description |\n|----------|----------------------|\n| `String` | The ID of the draft. |\n\n`getName()`\n-----------\n\nReturns the name of the draft.\n\n### Return values:\n\n| Type | Description |\n|----------|--------------------|\n| `String` | Name of the draft. |\n\n`getResourceName()`\n-------------------\n\nReturns the resource name of the draft.\n\n### Return values:\n\n| Type | Description |\n|----------|---------------------------------|\n| `String` | The resource name of the draft. |\n\n`getStatus()`\n-------------\n\nReturns the status of the draft. Possible values: `DRAFTED`, `APPLIED`, `APPLYING`, `REMOVED`, `UNABLE_TO_APPLY`.\n\n### Return values:\n\n| Type | Description |\n|----------|--------------------------|\n| `String` | The status of the draft. |\n\n`hasRunningExperiment()`\n------------------------\n\nReturns `true` if the draft has a currently-running experiment.\n\n### Return values:\n\n| Type | Description |\n|-----------|---------------------------------------------------------|\n| `boolean` | `true` if the draft has a currently-running experiment. |\n\n`newExperimentBuilder()`\n------------------------\n\n| **Deprecated:** This method is deprecated and will be removed soon.\nReturns a new experiment builder for this draft. Once built, the experiment will run with the changes made in this draft.\n\n### Return values:\n\n| Type | Description |\n|------------------------------------------------------------------------------------------------|------------------------------------------|\n| [AdsApp.ExperimentBuilder](/google-ads/scripts/docs/reference/adsapp/adsapp_experimentbuilder) | A new experiment builder for this draft. |\n\n`remove()`\n----------\n\nRemoves the draft, thereby removing its associated draft campaign, but not removing the associated base campaign.\n\nReturns nothing.\n\n`setName(name)`\n---------------\n\nSets the name of the draft.\n\nReturns nothing.\n\n### Arguments:\n\n| Name | Type | Description |\n|------|----------|-----------------------------|\n| name | `String` | The new name for the draft. |\n\n`startApplying()`\n-----------------\n\nStarts applying the draft's changes back to the base campaign. Does not wait for completion. View this draft in the \"All drafts\" tab of the UI to see if its changes are finished being applied.\n\nReturns nothing."]]