- A shared budget sets one average daily budget across multiple eligible campaigns.
- A portfolio bidding strategy applies one automated bidding strategy across multiple eligible campaigns.
Before you begin
You need:- The HireOtto Google Ads MCP server connected at
https://googleads.hireotto.com/mcp. - A Google Ads login with access to the customer account.
- Sufficient Google Ads permissions for any create, update, assignment, alignment, or removal action.
- The customer ID, campaign IDs, budget IDs, and bidding strategy IDs involved in the change.
customer_id.
These workflows are live core Google Ads tools on Free, Starter, Pro, and Agency. Free, Starter, and Pro use plan credits; Agency includes unlimited credits. Multiple connected Google profiles are available on Agency. A listing action costs 1 credit and a write action costs 2 credits.
Start with an inventory instead of guessing from names:
For Google Ads customer [CUSTOMER_ID], list every campaign budget and show its ID, name, amount, period, whether it is explicitly shared, status, assigned campaign count, and assigned campaigns. Do not change anything.
For Google Ads customer [CUSTOMER_ID], list every portfolio bidding strategy and show its ID, name, type, status, targets, aligned shared budget if present, assigned campaign count, and assigned campaigns. Do not change anything.
Choose the right operation
Campaign budget parameters and defaults
HireOtto exposes budget workflows throughmanage_campaign_budgets.
Create and use a shared budget
A shared budget must use theDAILY period. Creating the budget does not attach campaigns automatically.
For Google Ads customer [CUSTOMER_ID], create an explicitly shared daily budget named [BUDGET_NAME] with an average daily amount of [AMOUNT] in the account currency. Return the new budget ID and saved settings. Do not attach any campaigns yet.
For Google Ads customer [CUSTOMER_ID], show campaign [CAMPAIGN_ID]'s current budget and the complete current usage of budget [BUDGET_ID]. Then move the campaign to that budget, verify the saved campaign setting, and report whether the previous budget became unused. Do not remove any budget.
Split a campaign into a dedicated budget
For a campaign that is not in an explicitly aligned budget–portfolio setup, create and attach a new non-shared daily budget in one operation.For Google Ads customer [CUSTOMER_ID], show campaign [CAMPAIGN_ID]'s current budget and bidding setup. Then create a new non-shared daily budget named [BUDGET_NAME] with an average daily amount of [AMOUNT] in the account currency, attach it to the campaign, and verify the saved budget ID and amount. Do not remove the previous budget.
Update a budget
An update can change the daily amount, make an eligible non-shared budget explicitly shared, or do both. Budget names are not editable through this workflow.For Google Ads customer [CUSTOMER_ID], inspect budget [BUDGET_ID] and every campaign that uses it. Show the current daily amount and the proposed amount of [AMOUNT] in the account currency, wait for my approval, then update only the amount and verify the saved value.
Portfolio bidding parameters and defaults
HireOtto exposes standard, portfolio, and aligned workflows throughmanage_bidding_strategies.
TARGET_SPENDwith an optional CPC ceiling.TARGET_CPAwith an optional CPA target.TARGET_ROASwith an optional ROAS target.MAXIMIZE_CONVERSIONSwith an optional CPA target.MAXIMIZE_CONVERSION_VALUEwith an optional ROAS target.TARGET_IMPRESSION_SHAREwith a location, share target, and CPC ceiling.
MANUAL_CPC, TARGET_SPEND, MAXIMIZE_CONVERSIONS, MAXIMIZE_CONVERSION_VALUE, and TARGET_IMPRESSION_SHARE. Not every strategy is eligible for every campaign type, and automated strategies may have data or configuration requirements.
Create and attach a portfolio strategy
Creating a portfolio strategy does not attach it to any campaign.For Google Ads customer [CUSTOMER_ID], create a portfolio Maximize Conversions bidding strategy named [STRATEGY_NAME] with a target CPA of [TARGET_CPA] in the account currency. Return the new strategy ID and saved settings. Do not attach any campaigns yet.
For Google Ads customer [CUSTOMER_ID], inspect campaign [CAMPAIGN_ID]'s current budget and bidding settings and portfolio strategy [BIDDING_STRATEGY_ID]'s current settings and assigned campaigns. Show the exact change, wait for my approval, then attach the campaign to the portfolio strategy and verify the saved bidding resource. Do not remove the previous strategy.
Align a shared budget and portfolio strategy
Alignment is an explicit relationship between two existing account-level resources. It is not created merely because the same campaigns use both resources. Before linking:- Confirm the budget is explicitly shared.
- Confirm both resources exist in the same customer account.
- Compare their assigned campaign sets.
- Make the campaign sets identical, or ensure both resources are unused.
- Check whether either resource is already aligned to a different partner.
For Google Ads customer [CUSTOMER_ID], inspect shared budget [BUDGET_ID] and portfolio bidding strategy [BIDDING_STRATEGY_ID]. Compare their complete assigned campaign sets and existing alignment fields. If the sets are identical and neither resource is aligned elsewhere, show the proposed relationship, wait for my approval, link them, and verify both saved alignment fields. Otherwise stop and explain the mismatch without changing anything.
For Google Ads customer [CUSTOMER_ID], inspect campaign [CAMPAIGN_ID], shared budget [BUDGET_ID], and portfolio bidding strategy [BIDDING_STRATEGY_ID]. Confirm the budget and strategy are aligned to each other and compatible with the campaign. Show the complete before-and-after settings, wait for my approval, then attach the campaign to both resources in one update and verify the saved budget and bidding IDs.
Move a campaign out of an aligned setup
To split one campaign out of an aligned shared budget and portfolio strategy, use the combined workflow. It creates a new non-shared daily budget, moves the campaign to it, clears the portfolio assignment, and applies standard campaign-level bidding in one operation.For Google Ads customer [CUSTOMER_ID], inspect campaign [CAMPAIGN_ID]'s current shared budget, portfolio strategy, and both resources' assigned campaigns. Show the proposed move to a new non-shared daily budget named [BUDGET_NAME] with an amount of [AMOUNT] in the account currency and standard Maximize Conversions bidding with a target CPA of [TARGET_CPA]. Wait for my approval, apply the budget and bidding changes together, verify the saved campaign settings, and report any now-unused resources without removing them.
Remove unused resources safely
HireOtto never removes the previous budget or portfolio strategy automatically after a campaign moves. That behavior prevents a cleanup step from deleting a resource still needed by another campaign. Use a two-step cleanup:- List the resource and its current campaign assignments.
- Remove it only when the assigned campaign count is zero and you have confirmed the ID.
For Google Ads customer [CUSTOMER_ID], inspect budget [BUDGET_ID] and portfolio bidding strategy [BIDDING_STRATEGY_ID]. Confirm that both assigned campaign counts are zero and show their names, types, statuses, and alignment fields. If either resource is still assigned or aligned, stop without changing anything. If both are unused and unaligned, wait for my approval, remove only these two resources, and return the removal results.
false. Keep it that way for normal cleanup. A budget associated with active or paused campaigns cannot be removed, and forcing an assigned-resource removal is not a substitute for moving campaigns first.
Read and write scope
Read-only actions can:- List all current budgets or portfolio strategies.
- Show the campaigns assigned to one resource.
- Return budget amounts, periods, shareability, statuses, bidding types, targets, and alignment metadata.
- Create daily or eligible campaign-total budgets.
- Change a daily budget amount or make an eligible standalone budget shared.
- Replace a campaign’s current budget.
- Create and attach portfolio bidding strategies.
- Move a campaign back to supported standard bidding.
- Link an eligible shared budget and portfolio strategy.
- Attach a campaign to an aligned pair in one update.
- Split a campaign out of an aligned setup in one update.
- Remove eligible unused resources.
Limits and failure cases
Budget restrictions
- A campaign must always have a budget. Replacing the budget is the supported way to detach the old one.
- A
CUSTOM_PERIODcampaign-total budget cannot be shared. - Eligible campaign-total budgets require supported campaign and bidding configurations, including start and end dates where Google requires them.
- A non-shared budget can become shared in eligible cases, but a shared budget cannot become non-shared.
- Campaign experiments require their own non-shared budgets.
- Google Ads limits the number of budget resources in an account.
- A budget still used by an active or paused campaign cannot be removed.
Bidding and alignment restrictions
- The requested strategy may be incompatible with the campaign type or its current configuration.
- An automated strategy may not be eligible when conversion history, goals, or required targets are missing.
- A shared budget and portfolio strategy cannot be linked when their assigned campaign sets differ.
- A budget or strategy already aligned to a different partner cannot be silently realigned.
- An aligned campaign move can fail when only the budget or only the strategy is updated.
- Creating a resource does not make it active; it remains unused until attached.
Access and request failures
- The connected Google login can see the account but lacks permission to edit it.
- A customer, campaign, budget, or strategy ID belongs to a different account or no longer exists.
- A required value is missing, has the wrong unit, or uses an unsupported strategy name.
- A write succeeds for a new resource but a later, separate assignment fails, leaving the new object unused. Prefer the combined workflows when they match the job.
- Google Ads rejects the request because of account limits, eligibility rules, policy state, or a temporary API error.
Verification checklist
After every approved write, confirm:- The customer and campaign IDs match the intended account.
- The campaign points to the intended budget ID.
- The saved budget amount is in the account currency.
- The budget’s shareability and period match the plan.
- The campaign points to the intended portfolio strategy, or to standard bidding when that was the goal.
- Target CPA, target ROAS, CPC ceiling, or impression-share fields match the approved values.
- Both sides of an explicit budget–strategy alignment reference each other.
- The assigned campaign sets are correct.
- Any previous budget or strategy reported as unused remains in the account until separately reviewed and removed.