Ad URL Tracking Tags
Attach click-URL tracking parameters to ads
Ad URL tracking tags
Separate from the Meta Pixels above (those are the measurement pixel). These are the url_tags appended to an ad's click destination, the UTM-style attribution params on the landing-page URL. Read them to audit a campaign, or update them to fix missing or wrong tags.
Read the current tags off any ad (works on synced ads too):
const { data } = await zernio.ads.getAdTrackingTags({ path: { adId: 'AD_ID' } });
// { platform: 'facebook', level: 'creative', urlTags: 'utm_source=meta&utm_medium=cpc', templateUrlSpec: null }data = client.ads.get_ad_tracking_tags(ad_id="AD_ID")curl "https://zernio.com/api/v1/ads/AD_ID/tracking-tags" \
-H "Authorization: Bearer YOUR_API_KEY"Updating tags on Meta rebuilds the creative behind the scenes (Meta creatives are immutable, so changing url_tags means creating a fresh creative and repointing the ad). Zernio does this for you and preserves the existing creative verbatim, re-posting its current headline, body, CTA, and image (reused by hash, never re-uploaded) with only the new tags added. So you send urlTags alone, there's nothing to read back or supply:
const { data } = await zernio.ads.updateAdTrackingTags({
path: { adId: 'AD_ID' },
body: {
urlTags: [
{ key: 'utm_source', value: 'meta' },
{ key: 'utm_medium', value: 'cpc' },
],
},
});data = client.ads.update_ad_tracking_tags(
ad_id="AD_ID",
url_tags=[
{"key": "utm_source", "value": "meta"},
{"key": "utm_medium", "value": "cpc"},
],
)curl -X PATCH "https://zernio.com/api/v1/ads/AD_ID/tracking-tags" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"urlTags": [
{ "key": "utm_source", "value": "meta" },
{ "key": "utm_medium", "value": "cpc" }
]
}'creative is optional. Omit it to preserve the existing creative (above). Pass it (headline, body, callToAction, linkUrl, imageUrl) only to rebuild the creative explicitly, or for the few creatives Zernio can't auto-preserve. SHARE / page-post-boost / dark posts and Advantage+ asset-feed creatives have their underlying spec stripped by Meta, so they return a 422 asking for creative.