Ad Campaigns

Read a Google campaign's device, location, excluded location, and language targeting

Changed on

Shows a Google campaign's device, location, excluded location and language targeting so you can build an editor for it.

Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards. This reads the campaign state so an integrator can build an editor around it.

  • Cached for the quota window (10 minutes fresh, up to 7 days last-good), not always a live read.
  • Google only; every other platform returns 501.

Devices

devices lists the device criteria the campaign carries, which depends on its channel:

  • Search campaigns have MOBILE, DESKTOP and TABLET.
  • Display campaigns also have CONNECTED_TV.

bidModifier is Google's bid adjustment for that device: null when it has none, and 0 when the device is switched off. included is false for exactly that case.

Locations

excludedLocations lists the campaign's negative location criteria (the places it never serves in).

locations still lists every location criterion, each flagged with negative, so a client reading the targeted set filters negative: false.

get/v1/ads/campaigns/{campaignId}/targeting

Request

Path parameters

campaignIdstring required

Google platform campaign ID

Query parameters

platform'google'

Disambiguates when the same campaignId string exists on more than one connected platform.

Response

Current campaign targeting

excludedLocationsEditableboolean

Whether PUT accepts excludedLocations for this campaign. False on Demand Gen, which returns 400 for any exclusion.

locationTargetingType'presence' | 'presence_or_interest' | 'null' nullable

Who the location targeting reaches, see GoogleLocationTargetingType. Null when Google reports a legacy value (SEARCH_INTEREST) this API does not set.

cachedAtstring date-time nullable

When this targeting was fetched from Google. Null when it was never served from cache.

staleboolean

True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status