Para analizar nuestros productos y brindar comentarios sobre ellos, únete al canal oficial de Discord de Google Ads en el servidor de la Comunidad de Publicidad y Medición de Google.
true (predeterminado): Se puede compartir entre varias campañas.
false: Solo se puede usar en una campaña.
Los presupuestos compartidos explícitamente aparecen en la Biblioteca compartida de una cuenta en la IU de Google Ads, mientras que los presupuestos no compartidos solo aparecen en la Configuración de la campaña asociada.
En el siguiente ejemplo, en el que se crea un presupuesto nuevo, el presupuesto se comparte porque explicitly_shared se establece en true.
Cómo determinar si el presupuesto de una campaña es compartido
Puedes recuperar el valor del parámetro de configuración del presupuesto buscando el campo campaign_budget.explicitly_shared. A continuación, se muestra la consulta de GAQL para el campo, con un filtro en un ID de presupuesto:
[null,null,["Última actualización: 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```"]]