Để thảo luận và đưa ra ý kiến phản hồi về các sản phẩm của chúng tôi, hãy tham gia kênh Discord chính thức của Google Ads trong máy chủ Cộng đồng quảng cáo và đo lường của Google.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Bản nháp chiến dịch là một cách để dàn dựng một số thay đổi dự kiến đối với một chiến dịch cơ sở. Mỗi bản nháp chiến dịch đều có một chiến dịch cơ sở và một chiến dịch nháp được liên kết.
Chiến dịch cơ sở là một chiến dịch thông thường trong tài khoản của bạn, có quảng cáo, nhóm quảng cáo và các tài nguyên khác.
Chiến dịch nháp là một lớp ảo, nơi các thay đổi được tổng hợp khi bạn thực hiện các thao tác, nhưng không ảnh hưởng đến bất kỳ chiến dịch thực nào trong tài khoản của bạn. Khi đã hài lòng với trạng thái của chiến dịch nháp, bạn có thể áp dụng chiến dịch đó cho một chiến dịch thực theo một số cách.
Yêu cầu create hoạt động như một lệnh gọi API thông thường, tức là phản hồi sẽ được trả về ngay lập tức.
Sửa đổi chiến dịch dự thảo
Sau khi tạo bản nháp chiến dịch, bạn sẽ cần tra cứu tên tài nguyên của chiến dịch nháp được liên kết để có thể bắt đầu thực hiện các thay đổi. Bạn có thể thực hiện việc này bằng cách sử dụng truy vấn sau trong GoogleAdsService.SearchStream:
Sau khi có tên tài nguyên chiến dịch nháp, bạn có thể sửa đổi chiến dịch đó theo cách tương tự như cách bạn sửa đổi bất kỳ chiến dịch thực nào trong tài khoản của mình. Chiến dịch nháp không thể phân phát quảng cáo nhưng đóng vai trò là khu vực dàn dựng cho những thay đổi mà bạn có thể áp dụng cho một chiến dịch thực sau này.
Quảng bá hoặc xoá chiến dịch dự thảo
Sau khi định cấu hình xong chiến dịch nháp, bạn có một số lựa chọn.
Quảng bá chiến dịch nháp thành chiến dịch cơ sở, áp dụng tất cả các thay đổi mà bạn đã thực hiện trong chiến dịch nháp cho chiến dịch cơ sở. Đây là một thao tác không đồng bộ. Bạn có thể thực hiện việc này bằng cách gọi CampaignDraftService.PromoteCampaignDraft.
Xoá bản nháp chiến dịch bằng cách đặt status thành REMOVED. Thao tác này sẽ loại bỏ các thay đổi nếu bạn quyết định không tiếp tục. Đây là một thao tác đồng bộ và hoạt động như mọi lệnh gọi API khác.
[null,null,["Cập nhật lần gần đây nhất: 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."]]