Zernio
APIFor you
Zernio
APIFor you
API Reference

Campaigns and Ads

Overview

Get campaign treeGETGet daily account metricsGET

Campaigns

List campaignsGETCreate a standalone campaignPOSTGet live campaign detailsGETUpdate a campaignPUTDuplicate a campaignPOSTDelete a campaignDELETEPause or resume a campaignPUTPause or resume many campaignsPOSTList campaign assetsGETAttach campaign assetsPOSTUpdate campaign assetsPUTRemove campaign assetsDELETERead a Google campaign's device, location, excluded location, and language targetingGETEdit a Google campaign's device, location, excluded location, or language targetingPUTRead a campaign's ad schedule (dayparting)GETReplace a campaign's ad schedule (dayparting)PUTGet campaign conversion goalsGETUpdate campaign conversion goalsPATCH

Asset Groups

List Performance Max asset groupsGETCreate a Performance Max asset groupPOSTGet a Performance Max asset groupGETUpdate a Performance Max asset groupPATCHRemove a Performance Max asset groupDELETELink or unlink asset group assetsPOSTReplace an asset group's listing-group treePUT

Ad Sets

List ad setsGETCreate a standalone ad groupPOSTGet live ad-set detailsGETUpdate an ad setPUTDuplicate an ad setPOSTDelete an ad setDELETEPause or resume a single ad setPUTList ad-group assetsGETAttach ad-group assetsPOSTUpdate ad-group assetsPUTRemove ad-group assetsDELETE

Ads

List adsGETGet ad detailsGETCreate standalone adPOSTBoost post as adPOSTUpdate adPUTDuplicate an adPOSTCancel an adDELETEPause or resume a single adPUT

Keywords

List Search keywordsGETAdd Search ad-group keywordsPOSTPause or enable a Search keywordPATCHRemove a Search keywordDELETEList campaign-level negative keywordsGETReplace campaign-level negative keywordsPUTList campaign negative listsGETReplace campaign negative listsPUT

Bidding

Read a campaign's current biddingGETList portfolio bid strategiesGETCreate portfolio bid strategyPOSTUpdate portfolio bid strategyPATCH

Recommendations

List Google Ads recommendationsGETApply Google Ads recommendationsPOSTDismiss Google Ads recommendationsPOST

Other

Create a shared budgetPOSTRead the platform's review verdict for an adGETReview status of each creative in a TikTok Smart+ adGETList shared budgetsGETReview status of every TikTok Smart+ ad of an advertiserGET
Dashboard
OverviewPlatformsAPI ReferenceResources
Campaigns and Ads

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 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.

PlatformsGoogle
GET
/v1/ads/campaigns/{campaignId}/bidding

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

campaignId*string

Numeric Google platform campaign id.

Query Parameters

accountId*string

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

platform*"google"

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

Value in

  • "google"
adAccountId?string

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.

customerId?string
Deprecated

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}
Was this page helpful?

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.