Read a campaign's current bidding
Shows a Google campaign's current bidding strategy and targets, ready to prefill an edit.
Read of 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.
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 returnsportfolio(id + name) andbidSpec.portfolioBidStrategyIdinstead of the triplet. Anything else (Manual CPC, Target Impression Share, ...) returnsbidSpec: null; showbiddingStrategyTypeas-is.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Numeric Google platform campaign id.
Query Parameters
Zernio Google Ads SocialAccount id: resolves the customer id + refresh token.
Required: campaign IDs are not globally unique. Only "google" is supported today.
Value in
- "google"
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.
Alias of adAccountId, kept for existing callers
Response Body
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adcampaigns.getCampaignBidding({ path: { campaignId: 'campaign_abc123', }, query: { accountId: 'account_abc123', platform: 'google', },});console.log(data);{ "campaignId": "string", "channel": "SEARCH", "biddingStrategyType": "string", "bidSpec": { "bidStrategy": "LOWEST_COST_WITHOUT_CAP", "bidAmount": 0, "roasAverageFloor": 0, "portfolioBidStrategyId": "string" }, "portfolio": { "id": "string", "name": "string" }, "cachedAt": "2019-08-24T14:15:22Z", "stale": true}Replace campaign negative lists
Sets exactly which shared negative keyword lists apply to a Google campaign, or detaches them all, without changing the lists themselves. Send listIds=[] to detach all negative keyword lists. Only campaign_shared_set links are changed; the lists and their keywords are preserved. Every list must belong to the campaign customer and have type NEGATIVE_KEYWORDS.
List portfolio bid strategies
Lists a Google Ads account's shared bid strategies with how many campaigns use each and how they performed. Bidding strategy report: type, status, campaign count, clicks, cost, cost per conversion, impressions, average CPC and conversions over the date range (default last 30 days). Reads Google's `bidding_strategy` resource, cached for the quota window. Draws on the shared Google Ads operations budget. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.