Read a campaign's current bidding
Live read of the campaign's bidding strategy on Google, 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.
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 - use your Zernio API key as a Bearer token
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"
Numeric Google Ads customer id (no dashes). Required when the connection has multiple Google Ads accounts; optional (and inferred) when it has only one.
Response Body
application/json
application/json
{ "campaignId": "string", "channel": "SEARCH", "biddingStrategyType": "string", "bidSpec": { "bidStrategy": "LOWEST_COST_WITHOUT_CAP", "bidAmount": 0, "roasAverageFloor": 0, "portfolioBidStrategyId": "string" }, "portfolio": { "id": "string", "name": "string" }}Create a Google Ads portfolio bid strategy
Creates a standalone bid strategy shared across campaigns. Attach it to a campaign with `portfolioBidStrategyId` on POST /v1/ads/create, PUT /v1/ads/campaigns/{campaignId}, or PUT /v1/ads/ad-sets/{adSetId}. Attaching a strategy aligned to a shared budget fails there with a 400 (Google's `BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED`); this is not retryable.
Read a Google campaign's device, location, and language targeting
Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the live campaign state so an integrator can build an editor around it. Google only; every other platform returns 501. `devices` always lists all four device types with `included` reflecting Google's negative device criteria (a device absent from any negative criterion is included by default). This read has no bid-modifier source, so `bidModifier` is always `null` even for a device with one configured.