google_ads_ads_update_status
Set a single Google Ads ad to ENABLED, PAUSED, or REMOVED. Update only the status field to pause or resume delivery without resetting learning signals.
Instructions
Sets the delivery status of a single ad to ENABLED, PAUSED, or REMOVED. Lightweight — writes only the status field and does not reset learning signals. Returns the ad ID and new status. Reversible via rollback_apply. Use this for pause/resume; use google_ads_ads_update to change the creative copy itself.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_id | Yes | Ad ID. | |
| reason | No | Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session. | |
| status | Yes | Target status. REMOVED is a soft delete — the ad stops serving but remains queryable by ID. | |
| approval | No | External approval this change carries out (recorded and shown, never verified) | |
| expected | No | Expected effects [{metric, direction, target?, horizon_days?, primary?}], exactly one primary:true when several; metric cpa/cpc/cpl/cpm/conversions/cvr/ctr/roas/cost/spend/clicks/impressions; direction up/down/hold. | |
| ad_group_id | Yes | Parent ad group ID. | |
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. | |
| decision_id | No | A proposed decision this change carries out. |