Get a tracking tag
Returns the full tag record including the base-code code snippet,
lastFiredTime, ownerBusinessId, isUnavailable, etc. Meta only
(platform metaads); other platforms return 405. OpenAI Ads has no
get-by-id endpoint, so it 405s here too. Use
GET /v1/accounts/{accountId}/tracking-tags (list) instead.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Pixel id.
Response Body
application/json
application/json
{ "platform": "metaads", "tag": { "id": "string", "name": "string", "platform": "metaads", "kind": "pixel", "status": "active", "code": "string", "lastFiredTime": 0, "isUnavailable": true, "installed": true, "creationTime": 0, "ownerBusinessId": "string", "ownerAdAccountId": "string" }}Get aggregated event stats
Returns aggregated event counts for the pixel (`GET /{pixel_id}/stats`). Rows are passed through from Meta as-is; their shape depends on the `aggregation` requested. Meta only (platform `metaads`); other platforms return 405.
Set ad tracking tags
Unified update. 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). - LinkedIn: `dynamicValueParameters` and/or `customValueParameters` (campaign-level Dynamic UTM).