Zernio
Zernio
PlatformsMeta Ads

Build

CampaignsAd SetsCreativesCreative LibraryPreviews

Target

TargetingCustom Audiences

Ad types

Boost a PostCreative TestingConversion CampaignsCatalog AdsMessaging & Call AdsClick-to-WhatsApp AdsLead Gen FormsReach & Frequency

Measure

InsightsMeta PixelsConversions APIAd URL Tracking Tags

Operate

Duplicate & LifecycleAccount & Ops ReadsAd LibraryAd CommentsMedia & Limits
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Meta Ads

Ad URL Tracking Tags

Attach click-URL tracking parameters to ads


Ad URL tracking tags

Separate from Meta Pixels (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.trackingtags.getAdTrackingTags({ path: { adId: 'AD_ID' } });
// { platform: 'facebook', level: 'creative', urlTags: 'utm_source=meta&utm_medium=cpc', templateUrlSpec: null }

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.trackingtags.updateAdTrackingTags({
  path: { adId: 'AD_ID' },
  body: {
    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.

Was this page helpful?

Conversions API

Send server-side conversion events to Meta

Duplicate & Lifecycle

Duplicate, pause, resume, delete, and dry-run a campaign before you spend

On this page

Ad URL tracking tags