Create portfolio bid strategy
Creates a Google Ads bid strategy that several campaigns can share, such as one target CPA or ROAS.
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.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
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.createBidStrategy({ body: { accountId: 'account_abc123', name: 'Example', type: 'TARGET_CPA', },});console.log(data);{ "strategy": { "customerId": "string", "id": "string", "resourceName": "string" }}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.
Update portfolio bid strategy
Renames a shared Google Ads bid strategy or changes its target CPA or ROAS. The strategy's status is output only on Google's side, so it cannot be changed here; remove a strategy in Google Ads. `type` is only needed alongside `targetCpa`/`targetRoas` to disambiguate the field Google writes to (TARGET_CPA and MAXIMIZE_CONVERSIONS both take a target CPA; TARGET_ROAS and MAXIMIZE_CONVERSION_VALUE both take a target ROAS); the strategy's family is otherwise immutable once created.