---
title: "Pause Google Ads campaign"
method: POST
path: "/api/apps/{app_id}/google-ads/campaigns/{campaign_id}/pause"
---

# Pause Google Ads campaign

`POST /api/apps/{app_id}/google-ads/campaigns/{campaign_id}/pause`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/apps/{app_id}/google-ads/campaigns/{campaign_id}/pause`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Stops a campaign serving. It keeps its settings and its history, and [Resume campaign](/api-reference/resume-google-ads-campaign) starts it again.

Pausing takes effect within a few minutes on Google's side. Spend already incurred today is still billed. Pausing an already-paused campaign succeeds and changes nothing.

Unlike resuming, this needs no payment method on file, because it only reduces spend.

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

<Warning>A 409 means the change may or may not have been applied. The request to Google Ads timed out after it was sent. Read the campaign back with [Get campaign](/api-reference/get-google-ads-campaign) before retrying, or you can end up applying it twice.</Warning>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

## Path parameters

- `app_id` string, required: ID of the app whose Google Ads campaigns to manage.
- `campaign_id` string, required: Base44's ID for the campaign, as returned in `id` by [List campaigns](/api-reference/list-google-ads-campaigns). This is not the Google Ads campaign ID, which is reported separately as `google_campaign_id`.

## Response `200`

Successful Response

- CampaignStatusResponse: Acknowledgement returned by the single-campaign state changes.
  - `status` string, required: The action that was applied: `paused`, `resumed`, or `deleted`.

## Other responses

- `400`: Google Ads rejected the request, for example ad text that breaks its policies or a budget below the currency's minimum. The response message carries Google's reason.
- `401`: Missing or invalid credentials.
- `403`: You don't have access to this app, the app does not exist, or you used a workspace API key. A missing app and an app you cannot reach are deliberately the same answer. Marketing setup, campaign edits, generation and resuming also return `app_marketing_not_allowed` when the app's owning workspace has the FERPA designation. Historical reads, pausing, deletion and financial settlement remain available.
- `404`: The app has no connected Google Ads account, or there is no campaign with this ID.
- `409`: The request to Google Ads timed out after being sent, so the change may or may not have been applied. Read the campaign back before retrying.
- `429`: Google Ads is rate limiting the account. Retry later.

## Changes

- **2026-10-11** `80287813ab84`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-08-30** `394136a6cdd4`: 1 info
  - removed the non-success response with the status `422`
- **2026-08-26** `df72f6cff1ca`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/idealspot/apis/base44-app-management-api/changes/api/apps/:app_id/google-ads/campaigns/:campaign_id/pause/post.md)

---

[API](https://skmtc.dev/idealspot/apis/base44-app-management-api.md) - [All operations](https://skmtc.dev/idealspot/apis/base44-app-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/idealspot/apis/base44-app-management-api/revisions/b5b4ebd82a1e?raw)
