> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Google Ads account

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



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/google-ads/accounts
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - ApiKeyAuth: []
paths:
  /api/apps/{app_id}/google-ads/accounts:
    get:
      summary: Get Google Ads account
      description: >-
        <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. `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>
      operationId: get_account_api_apps__app_id__google_ads_accounts_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose Google Ads campaigns to manage.
            title: App Id
          description: ID of the app whose Google Ads campaigns to manage.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The app's Google Ads account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsAccountResource'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            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':
          description: >-
            The app has no connected Google Ads account, or no account with this
            ID belongs to this app.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    GoogleAdsAccountResource:
      properties:
        id:
          type: string
          title: Id
          description: >-
            Base44's ID for the account. Pass it as `account_id` on the other
            account endpoints.
          example: 68b1c0d4e7b91d003c45a1f8
        account_name:
          type: string
          title: Account Name
          description: Name of the Google Ads account.
          example: Nordwind Furniture
        google_customer_id:
          type: string
          title: Google Customer Id
          description: >-
            The account's customer ID in Google Ads. Empty until Google has
            provisioned it.
          example: '1234567890'
        status:
          type: string
          title: Status
          description: >-
            `ACTIVE`, `BLOCKED`, `SUSPENDED`, `BILLING_HOLD`, `CANCELED`,
            `PENDING_VERIFICATION`, `PENDING_BILLING_SETUP`, or `PENDING_CLOSE`.
            Only an `ACTIVE` account can create or resume campaigns.
          example: ACTIVE
        currency_code:
          type: string
          title: Currency Code
          description: Currency the account bills in, as an ISO 4217 code.
          example: EUR
        timezone:
          type: string
          title: Timezone
          description: Time zone the account reports in, as an IANA name.
          example: Europe/Berlin
        budget_active:
          type: boolean
          title: Budget Active
          description: >-
            `true` when the account has a live Google Ads budget, which
            campaigns need in order to serve.
          example: true
        billing_cadence:
          type: string
          title: Billing Cadence
          description: >-
            How often the account is charged: `1w`, `2w`, or `1m`. Only drives
            charging when `charge_trigger_mode` is `cadence`.
          example: 1w
        charge_trigger_mode:
          type: string
          title: Charge Trigger Mode
          description: >-
            What triggers a charge on this account. `cadence` charges on the
            `billing_cadence` schedule. `threshold` is a legacy mode that
            charges when spend crosses a ladder of thresholds and ignores
            `billing_cadence` entirely.
          example: cadence
        monthly_spend_cap_micros:
          type: integer
          title: Monthly Spend Cap Micros
          description: >-
            Monthly spend cap in micros of the account currency, so `500000000`
            is 500.00. `0` when no cap is set.
          example: 500000000
        auto_renew:
          type: boolean
          title: Auto Renew
          description: >-
            `true` when the account's budget renews automatically at the end of
            its window.
          example: true
        budget_window_end:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Budget Window End
          description: When the current budget window ends. `null` before a budget exists.
          example: '2026-09-30T23:59:59Z'
        terms_accepted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Terms Accepted At
          description: >-
            When the Google Ads terms were accepted for this account. `null`
            until they are.
          example: '2026-08-25T11:20:00Z'
        business_profile_location_id:
          type: string
          title: Business Profile Location Id
          description: >-
            Google Business Profile location linked to the account, as
            `locations/<id>`. Empty when none is linked.
          example: locations/12345
        created_date:
          type: string
          format: date-time
          title: Created Date
          description: When the account was created in Base44.
          example: '2026-08-25T11:20:00Z'
        updated_date:
          type: string
          format: date-time
          title: Updated Date
          description: When Base44 last changed its record of the account.
          example: '2026-08-25T14:05:00Z'
      type: object
      required:
        - id
        - account_name
        - google_customer_id
        - status
        - currency_code
        - timezone
        - budget_active
        - billing_cadence
        - charge_trigger_mode
        - monthly_spend_cap_micros
        - auto_renew
        - business_profile_location_id
        - created_date
        - updated_date
      title: GoogleAdsAccountResource
      description: >-
        The account fields this API commits to.


        A subset. `GoogleAdsAccount` also carries Base44's billing-retry
        counters,

        risk-screening and block-source IDs, notification fingerprints, Google

        billing-setup IDs and setup error strings, none of which are a caller's

        contract.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````