---
title: "Delete Google Ads campaign"
method: DELETE
path: "/api/apps/{app_id}/google-ads/campaigns/{campaign_id}"
---

# Delete Google Ads campaign

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

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

Deletes a campaign and stops it serving.

This is permanent. There is no undo, and the campaign cannot be restored through this API. To stop a campaign temporarily, use [Pause campaign](/api-reference/pause-google-ads-campaign) instead.

Google keeps a deleted campaign for reporting, so it stays in [List campaigns](/api-reference/list-google-ads-campaigns) with `status` of `REMOVED` and its past performance still counts toward account totals.

<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.
- `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.

---

[API](https://skmtc.dev/base44/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/base44/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/base44/base44-app-management-api/revisions/173e4e9c63c2/schema)
