Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Le bozze di campagna sono un modo per preparare una serie di modifiche da apportare a una campagna
di base. A ogni bozza di campagna sono associate una campagna di base e una bozza di campagna.
La campagna di base è una normale campagna nel tuo account, con annunci, gruppi di annunci
e altre risorse.
La bozza di campagna è un livello virtuale in cui le modifiche vengono aggregate man mano che
esegui le operazioni, ma non influiscono sulle campagne reali nel tuo account. Una volta
che la bozza della campagna ti soddisfa, puoi applicarla a una
campagna reale in diversi modi.
La richiesta create si comporta
come una tipica chiamata API, in quanto viene restituita immediatamente una risposta.
Modificare una bozza di campagna
Una volta creata la bozza della campagna, devi cercare il nome della risorsa
della bozza di campagna associata per poter iniziare ad apportare modifiche. Puoi farlo utilizzando la seguente query in GoogleAdsService.SearchStream:
Una volta ottenuto il nome della risorsa della bozza di campagna, puoi modificarla
allo stesso modo di qualsiasi campagna reale nel tuo account. La bozza di campagna
non può pubblicare annunci, ma funge da area di gestione temporanea per le modifiche che puoi applicare
a una campagna reale in un secondo momento.
Promuovere o rimuovere una bozza di campagna
Dopo aver completato la configurazione della bozza della campagna, hai a disposizione alcune opzioni.
Promuovi la bozza di campagna alla campagna di base, applicando tutte le
modifiche apportate alla bozza di campagna alla campagna di base. Si tratta di un'operazione asincrona. Questa operazione può essere eseguita chiamando
CampaignDraftService.PromoteCampaignDraft.
Rimuovi la bozza di campagna impostando il relativo
status su REMOVED. In questo modo, le modifiche verranno eliminate se hai deciso di non procedere. Si tratta di un'operazione
sincrona e funziona come qualsiasi altra chiamata API.
[null,null,["Ultimo aggiornamento 2025-08-27 UTC."],[[["\u003cp\u003eCampaign drafts provide a virtual environment (draft campaign) to stage changes to an existing campaign (base campaign) without affecting live ads.\u003c/p\u003e\n"],["\u003cp\u003eCreating a campaign draft is a simple process involving specifying the base campaign and draft name, while draft campaign modifications follow standard campaign editing procedures.\u003c/p\u003e\n"],["\u003cp\u003eYou can promote the draft campaign, applying the changes to the base campaign asynchronously, or remove the draft campaign discarding changes entirely.\u003c/p\u003e\n"],["\u003cp\u003ePromoting a draft campaign is an asynchronous operation, providing a mechanism to track its progress without repeated API calls.\u003c/p\u003e\n"]]],[],null,["# Campaign Drafts\n\nCampaign drafts are a way of staging some set of intended changes to a base\ncampaign. Each campaign draft has a base campaign and a draft campaign\nassociated with it.\n\n- The base campaign is a normal campaign in your account, with ads, ad groups, and other resources.\n- The draft campaign is a virtual layer where changes are aggregated as you perform operations, but don't affect any real campaigns in your account. Once you are satisfied with the state of the draft campaign, you can apply it to a real campaign in a few different ways.\n\n| **Key Term:** The **campaign draft** is a resource you use to create new drafts from a base campaign and to determine associations between base campaigns and draft campaigns. The **draft campaign** is a virtual campaign that acts as a campaign but cannot serve ads.\n\nCreating a draft\n----------------\n\nCreating a [`CampaignDraft`](/google-ads/api/reference/rpc/v21/CampaignDraft) is as simple as any\nother entity creation in the Google Ads API. Create a `CampaignDraft` and specify its\n[`base_campaign`](/google-ads/api/reference/rpc/v21/CampaignDraft#base_campaign) and\n[`name`](/google-ads/api/reference/rpc/v21/CampaignDraft#name), then call\n[`CampaignDraftService.MutateCampaignDrafts`](/google-ads/api/reference/rpc/v21/CampaignDraftService),\npassing in the newly created `CampaignDraft` as a\n[`create`](/google-ads/api/reference/rpc/v21/CampaignDraftOperation/Create) operation.\n\nThe [`create`](/google-ads/api/reference/rpc/v21/CampaignDraftOperation/Create) request behaves\nlike a typical API call in that a response is returned immediately.\n\nModifying a draft campaign\n--------------------------\n\nOnce you create your campaign draft, you will need to look up the resource name\nof its associated draft campaign so that you can begin making changes. You can\ndo this using the following query in\n[`GoogleAdsService.SearchStream`](/google-ads/api/reference/rpc/v21/GoogleAdsService/SearchStream): \n\n SELECT campaign_draft.draft_campaign\n FROM campaign_draft\n WHERE campaign_draft.resource_name = \"CAMPAIGN_DRAFT_RESOURCE_NAME_HERE\"\n\nOnce you have your draft campaign resource name, you can modify that campaign\nthe same way you would any real campaign in your account. The draft campaign\ncannot serve ads but serves as a staging area for changes that you can apply to\na real campaign later.\n\nPromote or remove a draft campaign\n----------------------------------\n\n| **Key Term:** Asynchronous operations in the Google Ads API return what's called a **longrunning operation**. Longrunning operations serve as a convenient way to poll for operation completion without needing to make a full API call.\n\nAfter you are done configuring your draft campaign, you have a few options.\n\n1. **Promote** the draft campaign to the base campaign, applying all the changes you made in the draft campaign to the base campaign. This is an **asynchronous operation** . This can be performed by calling [`CampaignDraftService.PromoteCampaignDraft`](/google-ads/api/reference/rpc/v21/CampaignDraftService/PromoteCampaignDraft).\n2. **Remove the campaign draft** by setting its [`status`](/google-ads/api/reference/rpc/v21/CampaignDraft#status) to `REMOVED`. This will throw away the changes if you decided not to proceed. This is a synchronous operation and works like any other API call."]]