---
title: "Get Google Ads account"
method: GET
path: "/api/apps/{app_id}/google-ads/accounts"
---

# Get Google Ads account

`GET /api/apps/{app_id}/google-ads/accounts`

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

Returns the app's Google Ads account: its status, currency, billing cadence, spend cap and the Google Business Profile linked to it.

An app has at most one Google Ads account, and **returns `null` with a `200` when it has none** — that is the normal state for an app that has never advertised, not an error. `status` is the field to read before anything else, because only an `ACTIVE` account can create or resume campaigns. `budget_active` is the second. A campaign cannot serve without a live Google Ads budget behind it.

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

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

## Response `200`

Successful Response

- GoogleAdsAccountResource — The account fields this API commits to.
  - `id` string, required — Base44's ID for the account. Pass it as `account_id` on the other account endpoints.
  - `account_name` string, required — Name of the Google Ads account.
  - `google_customer_id` string, required — The account's customer ID in Google Ads. Empty until Google has provisioned it.
  - `status` string, required — State of the account. Either `ACTIVE`, `BLOCKED`, `SUSPENDED`, `BILLING_HOLD`, `CANCELED`, `PENDING_VERIFICATION`, `PENDING_BILLING_SETUP`, or `PENDING_CLOSE`. Only an `ACTIVE` account can create or resume campaigns.
  - `currency_code` string, required — Currency the account bills in, as an ISO 4217 code.
  - `timezone` string, required — Time zone the account reports in, as an IANA name.
  - `budget_active` boolean, required — Whether the account has a live Google Ads budget, which campaigns need in order to serve.
  - `billing_cadence` string, required — How often the account is charged: `1w`, `2w`, or `1m`. Only drives charging when `charge_trigger_mode` is `cadence`.
  - `charge_trigger_mode` string, required — What triggers a charge on this account. A mode of `cadence` charges on the `billing_cadence` schedule, while `threshold` is a legacy mode that charges when spend crosses a ladder of thresholds and ignores `billing_cadence` entirely.
  - `monthly_spend_cap_micros` integer, required — Monthly spend cap in micros of the account currency, so `500000000` is 500.00. The value is `0` when no cap is set.
  - `auto_renew` boolean, required — Whether the account's budget renews automatically at the end of its window.
  - `budget_window_end` string, date-time, nullable — When the current budget window ends, or `null` before a budget exists.
  - `terms_accepted_at` string, date-time, nullable — When the Google Ads terms were accepted for this account, or `null` until they are.
  - `business_profile_location_id` string, required — Google Business Profile location linked to the account, as `locations/<id>`. Empty when none is linked.
  - `created_date` string, date-time, required — When the account was created in Base44.
  - `updated_date` string, date-time, required — When Base44 last changed its record of the account.

## Other responses

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

## Changes

- **2026-09-01** `d8572ad3094a` — 15 breaking, 2 warning, 2 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `account_name` from the response with the `200` status
  - removed the required property `auto_renew` from the response with the `200` status
  - removed the required property `billing_cadence` from the response with the `200` status
  - …15 more
- **2026-08-30** `394136a6cdd4` — 1 info
  - removed the non-success response with the status `422`
- **2026-08-26** `df72f6cff1ca` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/idealspot/apis/base44-app-management-api/changes/api/apps/:app_id/google-ads/accounts/get.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-service-production.skmtc.workers.dev/v1/apis/idealspot/base44-app-management-api/revisions/d8572ad3094a/schema)
