Ad Campaigns

Read a campaign's current bidding

Changed on

Shows a Google campaign's current bidding strategy and targets, ready to prefill an edit.

Reads the campaign's bidding strategy on Google, cached for the quota window, for pre-filling the bid strategy block before a PUT to /v1/ads/campaigns/{campaignId}.

Google Ads only. platform is required and rejected when it is anything else, since a campaignId is not globally unique.

The response carries cachedAt and stale, set when a quota-exhausted call falls back to the last-good copy instead of a live read.

Strategy mapping

Maps Google's bidding strategy onto the same triplet PUT accepts:

  • LOWEST_COST_WITHOUT_CAP: Maximize Conversions, no target
  • COST_CAP + bidAmount: Target CPA
  • LOWEST_COST_WITH_MIN_ROAS + roasAverageFloor: Target ROAS
  • LOWEST_COST_WITH_BID_CAP + bidAmount: Maximize Clicks with a CPC ceiling

A campaign on a portfolio strategy returns portfolio (id + name) and bidSpec.portfolioBidStrategyId instead of the triplet.

Anything else (Manual CPC, Target Impression Share, ...) returns bidSpec: null; show biddingStrategyType as-is.

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

Request

Path parameters

campaignIdstring required

Numeric Google platform campaign id.

Query parameters

accountIdstring required

Zernio Google Ads SocialAccount id: resolves the customer id + refresh token.

platform'google' required

Required: campaign IDs are not globally unique. Only "google" is supported today.

adAccountIdstring

Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple Google Ads accounts; optional (and inferred) when it has only one.

customerIdstring

Alias of adAccountId, kept for existing callers

Response

Campaign bidding

campaignIdstring
channel'SEARCH' | 'DISPLAY'

campaign.advertising_channel_type. COST_CAP's underlying Google field differs by channel; see bidStrategy on PUT.

biddingStrategyTypestring

Google's raw enum: MAXIMIZE_CONVERSIONS, TARGET_CPA, MAXIMIZE_CONVERSION_VALUE, TARGET_ROAS, TARGET_SPEND, MANUAL_CPC, TARGET_IMPRESSION_SHARE, or another Google adds later.

cachedAtstring date-time nullable

When this data 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

    • 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

    • warning

      added the new account enum value to the / response property for the response status

    • warning

      added the new account enum value to the / response property for the response status

    • warning

      added the new account enum value to the / response property for the response status