Set/update an ad's click-URL tracking tags
Unified update. Send only the fields for the ad's platform:
- Meta:
urlTags(array of {key,value}) +creative(headline, body, callToAction, linkUrl, imageUrl). Meta creatives are immutable, so this REBUILDS the creative and repoints the ad — the full creative is required. Placement-customized / asset-feed / dark creatives may not be rebuildable this way and return 422. - Google:
trackingUrlTemplateand/orfinalUrlSuffix(full template strings; account quota applies). - LinkedIn:
dynamicValueParametersand/orcustomValueParameters(campaign-level Dynamic UTM).
API key authentication - use your Zernio API key as a Bearer token
In: header
Path Parameters
Meta only. Click-URL params appended to a freshly-rebuilt creative.
Meta only. Required to rebuild the immutable creative when setting urlTags.
Google only. Full tracking template (must contain {lpurl}).
Google only. Parse-only key=value params.
LinkedIn only. key -> dynamic value enum (CAMPAIGN_ID, CAMPAIGN_NAME, CREATIVE_ID, ...).
LinkedIn only. key -> static value.
Response Body
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.ads.updateAdTrackingTags({ path: { adId: 'ad_abc123', }, body: { urlTags: [ { key: 'tok_abc123', value: 'string', }, ], creative: { headline: 'string', body: 'Hello, world!', callToAction: 'string', linkUrl: 'https://example.com', imageUrl: 'https://example.com', }, trackingUrlTemplate: 'string', },});console.log(data);{
"error": "Unauthorized"
}Get a single Lead Gen form GET
Previous Page
Update ad PUT
Patch one or more fields on an ad. Status, budget, targeting, and creative changes are propagated to the platform. Per-platform support: - **Meta** (Facebook + Instagram): all fields supported. - **TikTok**: status, budget, targeting (via `/v2/adgroup/update/`), and creative (via `/v2/ad/update/` patch-style — `headline` is ignored, `body` becomes `ad_text`). - **Pinterest / X / LinkedIn / Google**: status + budget only. Sending `targeting` or `creative` returns 501 with code `unsupported_platform_operation`.