List Google Ads portfolio bid strategies
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 live. Draws on the shared Google Ads operations budget.
Authorization
bearerAuth API key authentication - use your Zernio API key as a Bearer token
In: header
Query Parameters
Google ads SocialAccount id.
Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
Defaults to 30 days ago.
dateDefaults to today.
dateResponse Body
application/json
application/json
application/json
application/json
{ "customerId": "string", "currency": "string", "strategies": [ { "id": "string", "name": "string", "type": "TARGET_CPA", "status": "string", "campaignCount": 0, "clicks": 0, "cost": 0, "costPerConversion": 0, "impressions": 0, "averageCpc": 0, "conversions": 0, "targetCpa": 0, "targetRoas": 0 } ]}List ad sets
Ad sets (Google ad groups) synced for the connection, optionally filtered by platform and campaignId. Reads the `ad_sets` table directly, independent of the `ads` rollup GET /v1/ads/tree uses, so a just-created standalone ad group with no ad yet (POST /v1/ads/ad-sets, Google only) is visible here even though it is invisible in the tree until an ad joins it via `existingAdGroupId`. Returns at most 500 rows, newest first.
List campaign-level negative keywords
Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`. Read live from Google on every call (not synced to Postgres), and gated by the shared Google Ads operations budget like every other on-demand Google surface. The platform is always discovered from the campaign itself; a non-Google campaign returns 501 rather than 404, whether or not `platform` was passed.