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

# Resume Google Ads campaign

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

## Request

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

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

Starts a paused campaign serving again.

This re-opens spend, so it carries the same requirements as creating a campaign: a payment method on file and an account in good standing, or the call returns a 402 and the campaign stays paused.

A campaign Base44 paused itself does not stay resumed while the reason still holds. An unpaid balance or unverified conversion tracking pauses it again. Resolve the underlying block first. [Get campaign](/api-reference/get-google-ads-campaign) reports the campaign's state.

A campaign launched before its conversion events were verified starts paused. It stays paused until Base44 finds a `gtag('event', 'conversion', ...)` call for one of the account's conversions in the app's published code, and then it resumes on its own. Base44 checks after every publish, and again when you read or resume the campaign. Until the check passes, this call returns a 409 with a `Retry-After` header. Wait that many seconds, then retry or read the campaign back.

<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 to advertise.
- `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.
- `402`: No payment method on file, or the workspace has an unpaid balance.
- `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 app's published code has no verified conversion event yet, and the response carries a `Retry-After` header. Otherwise, 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

> 58 revisions in range; 1 not diffed.

- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API

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

---

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