Create custom audience
Create a custom audience. customer_list is supported on Meta, Google, X, LinkedIn, TikTok, and Pinterest;
website and lookalike are Meta-only. saved_targeting stores a reusable TargetingSpec (no member upload,
no adAccountId) that you reference later via savedTargetingId on POST /v1/ads/create. Upload-backed audiences
are created empty, add members via POST /v1/ads/audiences/{audienceId}/users. On TikTok and Pinterest the
audience is provisioned lazily on the first member upload (until then its status is pending). Create is not
idempotent, never auto-retry.
API key authentication - use your Zernio API key as a Bearer token
In: header
Platform ad account ID. Must start with act_ for Meta; bare platform id for others (Google customer id, X/TikTok/LinkedIn/Pinterest account id).
length <= 255"customer_list" | "company_list" | "engagement" | "meta_engagement" | "website" | "website_retargeting" | "lookalike"Required for website_retargeting audiences (LinkedIn only). Each rule is a URL pattern; a member who visits any matching page enters the segment. Needs the LinkedIn Insight Tag installed on the customer's site — the segment only starts filling once the tag reports visits.
The response's platformAudienceId is the LinkedIn
adSegment id, valid for downstream use.
These segments appear in GET /v1/ads/audiences with
type: website_retargeting once LinkedIn has finished building them.
1 <= items <= 50Required for engagement audiences (LinkedIn only): what members engaged with — a video/leadgen/single-image ad campaign, a Company Page or an Event page.
"VIDEO_ADS" | "LEAD_GEN_FORMS" | "ORGANIZATION_PAGES" | "EVENT_PAGES" | "SINGLE_IMAGE_ADS"Required for engagement audiences. The action, validated
by LinkedIn against sourceType. Common values:
VIDEO_ADS FIRST_QUARTILE / MIDPOINT / THIRD_QUARTILE /
FULL_COMPLETE; LEAD_GEN_FORMS VIEW_FORM /
LEAD_FORM_SUBMIT; ORGANIZATION_PAGES VIEW / CTA_CLICK;
EVENT_PAGES RSVPED / VIDEO_VIEWED / ENGAGEMENT / CLICK.
Required for engagement audiences. Rolling window.
30 | 60 | 90 | 180 | 365Required for engagement audiences. Campaign URNs for the ad source types, organization URNs for pages and events. LinkedIn creates one rule per source, all sharing the same trigger and lookbackDays.
1 <= items <= 50Required for company_list audiences (LinkedIn only): plain-text company rows for account targeting. Each row needs at least one identifier. LinkedIn recommends 1,000+ companies for a usable match rate and takes up to 48h to process the list.
1 <= items <= 300000Required for website audiences
Required for website (max 180) and meta_engagement (max 365) audiences.
1 <= value <= 365Required for meta_engagement audiences (Meta only): what people
engaged with. page = a Facebook Page, instagram = an IG
professional account, video = a video. The source object must be
eligible for engagement audiences or Meta rejects with subcode
1713151 ("Invalid Event Name"), surfaced verbatim.
"page" | "instagram" | "video"Required for meta_engagement: the Page / IG account / video id.
meta_engagement only. The engagement event; defaults per source
(page → page_engaged, instagram → ig_business_profile_all,
video → video_watched). Ignored when rule is provided.
Required for lookalike audiences
2-letter code, required for lookalike audiences
Required for lookalike audiences
0.01 <= value <= 0.2Optional raw Meta rule, forwarded verbatim: pixel event rule for website audiences, or the engagement rule for meta_engagement (overrides the built rule, e.g. for event/canvas/lead-form sources).
Data source declaration for GDPR compliance (customer_list only)
Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adaudiences.createAdAudience({ body: { accountId: 'account_abc123', adAccountId: 'adaccount_abc123', name: 'Example', type: 'customer_list', },});console.log(data);{
"audience": {},
"message": "string"
}{
"error": "Unauthorized"
}