> ## 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 campaign targeting

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

Reads a campaign's current targeting from Google Ads: the themes it matches, the terms it excludes, and the locations on each side.

This reads Google directly rather than Base44's copy, so it is the authoritative set to seed an editor from. Send changes back with [Update campaign](/api-reference/update-google-ads-campaign).

Location entries carry a camel-cased `resourceName`, unlike the rest of this API. A location saved before Base44 recorded display names comes back with its numeric ID as `name`; nothing repairs that later, so resolve the label through [Search locations](/api-reference/search-google-ads-locations) if you need to show it.

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



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/google-ads/campaigns/{campaign_id}/targeting
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/campaigns/{campaign_id}/targeting:
    get:
      summary: Get Google Ads campaign targeting
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Reads a campaign's current targeting from Google Ads: the themes it
        matches, the terms it excludes, and the locations on each side.


        This reads Google directly rather than Base44's copy, so it is the
        authoritative set to seed an editor from. Send changes back with [Update
        campaign](/api-reference/update-google-ads-campaign).


        Location entries carry a camel-cased `resourceName`, unlike the rest of
        this API. A location saved before Base44 recorded display names comes
        back with its numeric ID as `name`; nothing repairs that later, so
        resolve the label through [Search
        locations](/api-reference/search-google-ads-locations) if you need to
        show it.


        <Note>This endpoint accepts a personal API key. Workspace API keys are
        not authorized for it and are rejected with a 403.</Note>
      operationId: >-
        get_campaign_targeting_api_apps__app_id__google_ads_campaigns__campaign_id__targeting_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
        - name: campaign_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              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`.
            title: Campaign Id
          description: >-
            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`.
          example: 68b1c0d4e7b91d003c45a1f2
      responses:
        '200':
          description: The campaign's live targeting.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsCampaignTargeting'
        '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 there is no campaign
            with this ID.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    GoogleAdsCampaignTargeting:
      properties:
        keyword_themes:
          items:
            type: string
          type: array
          title: Keyword Themes
          description: The themes the campaign matches on.
          example:
            - handmade oak furniture
            - custom dining tables
        excluded_terms:
          items:
            type: string
          type: array
          title: Excluded Terms
          description: Search terms the campaign is told not to match.
          example:
            - free
            - repair
        targeted_locations:
          items:
            $ref: '#/components/schemas/GoogleAdsTargetedLocation'
          type: array
          title: Targeted Locations
          description: Locations the campaign targets.
          example:
            - name: San Francisco
              resourceName: geoTargetConstants/1014221
        excluded_locations:
          items:
            $ref: '#/components/schemas/GoogleAdsTargetedLocation'
          type: array
          title: Excluded Locations
          description: Locations the campaign excludes.
          example:
            - name: Oakland
              resourceName: geoTargetConstants/1014044
        language_code:
          type: string
          title: Language Code
          description: >-
            Two-letter code for the language the campaign advertises in.
            Defaults to `en` when the campaign has none set.
          example: en
      type: object
      required:
        - keyword_themes
        - excluded_terms
        - targeted_locations
        - excluded_locations
        - language_code
      title: GoogleAdsCampaignTargeting
      description: What a campaign currently targets, read live from Google.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    GoogleAdsTargetedLocation:
      properties:
        resourceName:
          type: string
          title: Resourcename
          description: >-
            Google's identifier for the location, as returned by [Search
            locations](/api-reference/search-google-ads-locations). Note this
            field is camel-cased, unlike the rest of this API.
          example: geoTargetConstants/1014221
        name:
          type: string
          title: Name
          description: >-
            The location's display name. Falls back to the numeric ID from
            `resourceName` when Base44 has no stored label for it, which happens
            for locations set before the label was recorded.
          example: San Francisco
      type: object
      required:
        - resourceName
        - name
      title: GoogleAdsTargetedLocation
      description: One location a campaign targets or excludes.
    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.

````