PUBLISH a draft to Google Ads (creates the campaign in the user's account, paused)
publish_campaign_to_google_ads⚠️ THIS PUBLISHES TO GOOGLE ADS RIGHT NOW. The campaign and all its ad groups, keywords, and ads will be created in the user's Google Ads account immediately after this call. It will be created with status=PAUSED so no money is spent until a human clicks Enable in the Google Ads UI — that's the safety boundary — but the campaign IS in their account.
DO NOT call this tool because the user said 'approve', 'looks good', 'yes', or 'go ahead' while reviewing the draft. Those words mean 'I like the draft' — they do NOT mean 'put it in my Google Ads account'. The user must explicitly say something like 'publish to Google Ads', 'push it to Google Ads', or 'create it in my Google Ads account' before you call this. If there is ANY ambiguity, summarize what will happen and ask 'should I create this in your Google Ads account right now? It'll be paused so it won't spend until you click Enable in Google Ads UI.'
REQUIRES confirm=true to actually publish. If confirm is missing/false, returns a summary and waits for the user to explicitly say yes to publishing.
Idempotent: if the draft is already published (publication record exists), the call is a no-op and returns the existing Google Ads campaign id.
(This tool was previously named approve_campaign_as_draft — that name was misleading.)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to actually publish to Google Ads. If false/omitted, returns a summary asking the user to confirm. Do NOT set this to true unless the user has explicitly asked to publish/push to Google Ads. | |
| draftId | Yes | The draftId returned by save_campaign_draft or generate_campaign_draft. |