Để 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.
true (mặc định): có thể được chia sẻ giữa nhiều chiến dịch
false: chỉ một chiến dịch có thể sử dụng
Ngân sách được chia sẻ rõ ràng sẽ xuất hiện trong Thư viện chia sẻ của tài khoản trong giao diện người dùng Google Ads, trong khi ngân sách không được chia sẻ chỉ xuất hiện trong phần Cài đặt của chiến dịch được liên kết.
Trong ví dụ sau đây, khi một ngân sách mới được tạo, ngân sách đó sẽ được chia sẻ vì explicitly_shared được đặt thành true.
Xác định xem ngân sách chiến dịch có phải là ngân sách chung hay không
Bạn có thể truy xuất giá trị chế độ cài đặt ngân sách bằng cách tìm trường campaign_budget.explicitly_shared. Sau đây là truy vấn GAQL cho trường này, lọc theo mã ngân sách:
[null,null,["Cập nhật lần gần đây nhất: 2025-08-31 UTC."],[[["\u003cp\u003eGoogle Ads budgets can be applied to a single campaign or shared across multiple campaigns.\u003c/p\u003e\n"],["\u003cp\u003eShared budgets are designated by setting the \u003ccode\u003eexplicitly_shared\u003c/code\u003e field to \u003ccode\u003etrue\u003c/code\u003e during creation and appear in the Shared Library within the Google Ads UI.\u003c/p\u003e\n"],["\u003cp\u003eWhile a budget's shared status can be changed from \u003ccode\u003efalse\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e under certain conditions, it cannot be changed from \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e once created.\u003c/p\u003e\n"],["\u003cp\u003eYou can determine if a budget is shared by querying the \u003ccode\u003ecampaign_budget.explicitly_shared\u003c/code\u003e field using GAQL.\u003c/p\u003e\n"]]],[],null,["# Sharing Campaign Budgets\n\nA budget can be applied to a single campaign, or be\n[shared](//support.google.com/google-ads/answer/2517512) across many campaigns.\n\nSetup\n-----\n\nWhen you [create](/google-ads/api/docs/campaigns/budgets/create-budgets) a new\n[`CampaignBudget`](/google-ads/api/reference/rpc/v21/CampaignBudget) using the Google Ads API, you can\nspecify if it is shareable with the\n[`BoolValue`](/protocol-buffers/docs/reference/google.protobuf#bool-value)\nof the\n[`explicitly_shared`](/google-ads/api/reference/rpc/v21/CampaignBudget#explicitly_shared)\nfield:\n\n- `true` (default): can be shared among multiple campaigns\n- `false`: can be used by only one campaign\n\n| **Key Point:** Once the budget is created, you cannot change `explicitly_shared` from `true` to `false`. However, you can change `explicitly_shared` from `false` to `true`, but only if there are no [experiments](//support.google.com/google-ads/answer/2385204) running on the campaign that's using the budget.\n\nExplicitly shared budgets appear in an account's **Shared Library** in the\nGoogle Ads UI, whereas a non-shared budget appears only within its associated\ncampaign's **Settings**.\n\nIn the following example where a new budget is created, the budget is shared\nbecause `explicitly_shared` is set to `true`.\n\n\n### Java\n\n```java\nprivate String createSharedCampaignBudget(GoogleAdsClient googleAdsClient, long customerId) {\n try (CampaignBudgetServiceClient campaignBudgetServiceClient =\n googleAdsClient.getLatestVersion().createCampaignBudgetServiceClient()) {\n // Creates a shared budget.\n CampaignBudget budget =\n CampaignBudget.newBuilder()\n .setName(\"Shared Interplanetary Budget #\" + getPrintableDateTime())\n .setAmountMicros(50_000_000L)\n .setDeliveryMethod(BudgetDeliveryMethod.STANDARD)\n .setExplicitlyShared(true)\n .build();\n // Constructs an operation that will create a shared budget.\n CampaignBudgetOperation operation =\n CampaignBudgetOperation.newBuilder().setCreate(budget).build();\n // Sends the operation in a mutate request.\n MutateCampaignBudgetsResponse response =\n campaignBudgetServiceClient.mutateCampaignBudgets(\n Long.toString(customerId), Lists.newArrayList(operation));\n\n MutateCampaignBudgetResult mutateCampaignBudgetResult = response.getResults(0);\n // Prints the resource name of the created object.\n System.out.printf(\n \"Created shared budget with resource name: '%s'.%n\",\n mutateCampaignBudgetResult.getResourceName());\n\n return mutateCampaignBudgetResult.getResourceName();\n }\n}https://github.com/googleads/google-ads-java/blob/3c3c1041c2a0ab81553e3b2a79876256649397ed/google-ads-examples/src/main/java/com/google/ads/googleads/examples/advancedoperations/UsePortfolioBiddingStrategy.java#L175-L202\n \n```\n\n### C#\n\n```c#\nprivate string CreateSharedBudget(GoogleAdsClient client, long customerId, string name,\n long amount)\n{\n // Get the CampaignBudgetService.\n CampaignBudgetServiceClient campaignBudgetService =\n client.GetService(Services.V21.CampaignBudgetService);\n\n // Create a shared budget.\n CampaignBudget budget = new CampaignBudget()\n {\n Name = name,\n AmountMicros = amount,\n DeliveryMethod = BudgetDeliveryMethodEnum.Types.BudgetDeliveryMethod.Standard,\n ExplicitlyShared = true\n };\n\n // Create the operation.\n CampaignBudgetOperation campaignBudgetOperation = new CampaignBudgetOperation()\n {\n Create = budget\n };\n\n // Make the mutate request.\n MutateCampaignBudgetsResponse retVal = campaignBudgetService.MutateCampaignBudgets(\n customerId.ToString(), new CampaignBudgetOperation[] { campaignBudgetOperation });\n return retVal.Results[0].ResourceName;\n}https://github.com/googleads/google-ads-dotnet/blob/ada966e1983b655e82172b6c3e7d9b091b522377/Google.Ads.GoogleAds/examples/AdvancedOperations/UsePortfolioBiddingStrategy.cs#L171-L197\n \n```\n\n### PHP\n\n```php\nprivate static function createSharedCampaignBudget(\n GoogleAdsClient $googleAdsClient,\n int $customerId\n) {\n // Creates a shared budget.\n $budget = new CampaignBudget([\n 'name' =\u003e 'Shared Interplanetary Budget #' . Helper::getPrintableDatetime(),\n 'delivery_method' =\u003e BudgetDeliveryMethod::STANDARD,\n // Sets the amount of budget.\n 'amount_micros' =\u003e 50000000,\n // Makes the budget explicitly shared.\n 'explicitly_shared' =\u003e true\n ]);\n\n // Constructs a campaign budget operation.\n $campaignBudgetOperation = new CampaignBudgetOperation();\n $campaignBudgetOperation-\u003esetCreate($budget);\n\n // Issues a mutate request to create the budget.\n $campaignBudgetServiceClient = $googleAdsClient-\u003egetCampaignBudgetServiceClient();\n $response = $campaignBudgetServiceClient-\u003emutateCampaignBudgets(\n MutateCampaignBudgetsRequest::build($customerId, [$campaignBudgetOperation])\n );\n\n /** @var CampaignBudget $addedBudget */\n $addedBudget = $response-\u003egetResults()[0];\n printf(\n \"Created a shared budget with resource name '%s'.%s\",\n $addedBudget-\u003egetResourceName(),\n PHP_EOL\n );\n\n return $addedBudget-\u003egetResourceName();\n} \nhttps://github.com/googleads/google-ads-php/blob/be0249c30c27b4760387bec6682b82c9f4167761/examples/AdvancedOperations/UsePortfolioBiddingStrategy.php#L190-L223\n\n \n```\n\n### Python\n\n```python\n# Create a budget, which can be shared by multiple campaigns.\ncampaign_budget_operation: CampaignBudgetOperation = client.get_type(\n \"CampaignBudgetOperation\"\n)\ncampaign_budget: CampaignBudget = campaign_budget_operation.create\ncampaign_budget.name = f\"Interplanetary Budget {uuid.uuid4()}\"\ncampaign_budget.delivery_method = (\n client.enums.BudgetDeliveryMethodEnum.STANDARD\n)\ncampaign_budget.amount_micros = 500000\ncampaign_budget.explicitly_shared = True\n\n# Add budget.\ntry:\n campaign_budget_response: MutateCampaignBudgetsResponse = (\n campaign_budget_service.mutate_campaign_budgets(\n customer_id=customer_id, operations=[campaign_budget_operation]\n )\n )\n campaign_budget_id: str = campaign_budget_response.results[\n 0\n ].resource_name\n print(f'Budget \"{campaign_budget_id}\" was created.')\nexcept GoogleAdsException as ex:\n handle_googleads_exception(ex)https://github.com/googleads/google-ads-python/blob/d0595698b8a7de6cc00684b467462601037c9db9/examples/advanced_operations/use_portfolio_bidding_strategy.py#L67-L91\n \n```\n\n### Ruby\n\n```ruby\n# Create a budget, which can be shared by multiple campaigns.\nbudget = client.resource.campaign_budget do |cb|\n cb.name = \"Interplanetary budget ##{(Time.new.to_f * 1000).to_i}\"\n cb.amount_micros = 50_000_000\n cb.delivery_method = :STANDARD\n cb.explicitly_shared = true\nend\n\noperation = client.operation.create_resource.campaign_budget(budget)\n\nresponse = client.service.campaign_budget.mutate_campaign_budgets(\n customer_id: customer_id,\n operations: [operation],\n)\nbudget_id = response.results.first.resource_name \nhttps://github.com/googleads/google-ads-ruby/blob/2752563c7ffd15a4d2238116869f64aea3011cc3/examples/advanced_operations/use_portfolio_bidding_strategy.rb#L31-L45\n\n \n```\n\n### Perl\n\n```perl\nsub create_shared_campaign_buget {\n my ($api_client, $customer_id) = @_;\n\n # Create a shared budget.\n my $campaign_budget =\n Google::Ads::GoogleAds::V21::Resources::CampaignBudget-\u003enew({\n name =\u003e \"Shared Interplanetary Budget #\" . uniqid(),\n deliveryMethod =\u003e STANDARD,\n # Set the amount of budget.\n amountMicros =\u003e 50000000,\n # Makes the budget explicitly shared.\n explicitlyShared =\u003e 'true'\n });\n\n # Create a campaign budget operation.\n my $campaign_budget_operation =\n Google::Ads::GoogleAds::V21::Services::CampaignBudgetService::CampaignBudgetOperation\n -\u003enew({create =\u003e $campaign_budget});\n\n # Add the campaign budget.\n my $campaign_budgets_response = $api_client-\u003eCampaignBudgetService()-\u003emutate({\n customerId =\u003e $customer_id,\n operations =\u003e [$campaign_budget_operation]});\n\n my $campaign_budget_resource_name =\n $campaign_budgets_response-\u003e{results}[0]{resourceName};\n\n printf \"Created a shared budget with resource name: '%s'.\\n\",\n $campaign_budget_resource_name;\n\n return $campaign_budget_resource_name;\n}https://github.com/googleads/google-ads-perl/blob/9abffd69cd856633dfdcee5c636fe9cd0eb4b5ed/examples/advanced_operations/use_portfolio_bidding_strategy.pl#L124-L155\n \n```\n\n\u003cbr /\u003e\n\nDetermine if a campaign budget is shared\n----------------------------------------\n\nYou can retrieve the budget setting value by searching for the\n[`campaign_budget.explicitly_shared`](/google-ads/api/fields/v21/campaign_budget#campaign_budget.explicitly_shared)\nfield. Here is the [GAQL](/google-ads/api/docs/query/overview) query for the field, filtering\non a budget ID: \n\n```sql\nSELECT campaign_budget.explicitly_shared\nFROM campaign_budget\nWHERE campaign_budget.id = campaign_budget_id\n```"]]