Zernio
APIFor you
Zernio
APIFor you
API Reference

Pixels & Tracking Tags

Tags

List tracking tagsGETCreate a tracking tagPOSTGet a tracking tagGETUpdate a tracking tagPATCHGet aggregated event statsGETGet tag diagnosticsGET

Conversion Events

List conversion eventsGETCreate a conversion eventPOSTUpdate a conversion eventPATCHDelete a conversion eventDELETE

Sharing

List accounts it is shared withGETShare with an ad accountPOSTStop sharing with an accountDELETE

Users and Partners

List tag usersGETAssign a user to a tagPOSTRemove a user from a tagDELETEList partner businesses of a tagGET

Store Install

Install on a Shopify, WordPress, Wix or Webflow sitePOSTGet store install statusGETRemove from a Shopify, WordPress, Wix or Webflow siteDELETE

Ad URL Tracking Tags

Get ad tracking tagsGETSet ad tracking tagsPATCH
Dashboard
OverviewPlatformsAPI ReferenceResources
Pixels & Tracking Tags

Set ad tracking tags

Sets the tracking parameters added to an ad's click URLs, such as UTM tags, without rebuilding the rest of the ad.

Send only the fields for the ad's platform:

  • Meta: urlTags (array of {key,value}). Meta creatives are immutable, so this rebuilds the creative and repoints the ad. By DEFAULT we PRESERVE the existing creative verbatim (re-post its object_story_spec + the new url_tags, reusing the image), so you send urlTags ALONE, with no need to read back headline/body/CTA. creative (headline, body, callToAction, linkUrl, imageUrl) is OPTIONAL and only needed to rebuild explicitly, or for SHARE / page-post / dark / asset_feed creatives whose object_story_spec Meta strips (those return 422 asking for creative).
  • Google: trackingUrlTemplate and/or finalUrlSuffix (full template strings; account quota applies). Written at the CAMPAIGN level (the campaign's tracking_url_template / final_url_suffix), so the change applies to every ad in the ad's campaign.
  • LinkedIn: dynamicValueParameters and/or customValueParameters (campaign-level Dynamic UTM).

PlatformsMetaGoogleLinkedIn
PATCH
/v1/ads/{adId}/tracking-tags

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

adId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

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.trackingtags.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);
{  "platform": "string"}
Was this page helpful?

Get ad tracking tags

Shows the tracking parameters added to an ad's click URLs, such as UTM tags (not pixels). Unified read of the platform's native click-URL tracking params. - Meta (facebook/instagram): the creative's `url_tags` (and template_url_spec). - Google (googleads): the campaign's `trackingUrlTemplate` + `finalUrlSuffix`. - LinkedIn (linkedinads): the campaign's Dynamic UTM `dynamicValueParameters` + `customValueParameters`. Returns 405 for platforms without a click-URL tracking surface (TikTok, X, Pinterest). **Not pixels.** Despite the shared path segment, this endpoint has nothing to do with measurement tags. For an ad account's pixels use `GET /v1/accounts/{accountId}/tracking-tags?adAccountId=act_...` (Meta Pixels, with `kind` and `ownerAdAccountId`) or `GET /v1/accounts/{accountId}/conversion-destinations`.

List a feed's uploads

Lists a product feed's past file imports so you can check how each one went.

urlTags?array<>

Meta only. Click-URL params appended to a freshly-rebuilt creative. Meta dynamic macros ({{ad.id}}, {{campaign.id}}, {{placement}}, ...) are sent through unescaped so Meta expands them; every other character is percent-encoded.

creative?

Meta only. OPTIONAL: omit to preserve the existing creative verbatim (default). Provide it only to rebuild the creative explicitly, or for creatives whose object_story_spec Meta strips.

trackingUrlTemplate?string

Google only. Full tracking template (must contain {lpurl}).

finalUrlSuffix?string

Google only. Parse-only key=value params.

dynamicValueParameters?

LinkedIn only. key -> dynamic value enum (CAMPAIGN_ID, CAMPAIGN_NAME, CREATIVE_ID, ...).

customValueParameters?

LinkedIn only. key -> static value.