Zernio
APIFor you
Zernio
APIFor you
API Reference

Conversions API

List account conversion goalsGETList conversion actionsGETList associated campaignsGETList conversion destinationsGETList custom conversion goalsGETCreate website conversion actionPOSTCreate a conversion destinationPOSTCreate a custom conversion goalPOSTGet a conversion destinationGETGet attribution metricsGETGet Event Match QualityGETUpdate account conversion goalsPATCHUpdate a conversion action's settingsPATCHUpdate a conversion destinationPATCHUpdate a custom conversion goalPATCHDelete a conversion destinationDELETEAssociate campaignsPOSTAdjust uploaded conversionsPOSTRemove associated campaignsDELETERemove a custom conversion goalDELETESend conversion eventsPOST
Dashboard
OverviewPlatformsAPI ReferenceResources
Conversions API

Associate campaigns

Links campaigns to a LinkedIn conversion rule so they track it, reporting which links succeeded or failed.

Returns a per-campaign success/failure result so callers can retry only the rows that failed (e.g. wrong campaign type for the rule's objective).


PlatformsLinkedIn
POST
/v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

accountId*string
destinationId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.conversions.addConversionAssociations({  path: {    accountId: 'account_abc123',    destinationId: 'destination_abc123',  },  body: {    adAccountId: 'adaccount_abc123',    campaignIds: [      'campaign_abc123',    ],  },});console.log(data);
{  "platform": "linkedinads",  "succeeded": [    "string"  ],  "failed": [    {      "campaignId": "string",      "reason": "string"    }  ]}
Was this page helpful?

Delete a conversion destination

Disables a LinkedIn conversion rule, which is how LinkedIn deletes it; the rule can still be read afterwards. LinkedIn-only today. LinkedIn does not expose hard-delete on conversion rules; what their UI calls "delete" is the same `enabled: false` flip we apply here. The rule remains fetchable via GET with `status: 'inactive'`; the unified discovery endpoint hides it by default. `adAccountId` may be passed as a query parameter (recommended) or as a JSON body field for clients that can send DELETE bodies.

Adjust uploaded conversions

Retracts, restates the value of, or enhances conversions you already sent to Google Ads, for refunds or late customer data. Adjust conversions that were previously uploaded via `POST /v1/ads/conversions`: retract them, restate their value, or enhance them with first-party data. Requires the Ads add-on. **Google Ads only.** Google handles adjustments through the classic Google Ads API (`ConversionAdjustmentUploadService`); the Data Manager `ingestEvents` path used for sending conversions is ingest-only. Meta and LinkedIn have no equivalent, so this endpoint returns `405` for those platforms. Adjustment types: - `RETRACTION`: remove the conversion entirely (refund, chargeback, cancelled order, churn). - `RESTATEMENT`: change the conversion's value (upgrade / downgrade / partial refund). Send the corrected **total** value in `restatementValue` (not a delta). - `ENHANCEMENT`: attach first-party identifiers (hashed email / phone) to an existing conversion (enhanced conversions applied after the fact). Identifying the original conversion (per adjustment): - `orderId`: the transaction ID you sent as `eventId` on the original conversion. Recommended, and **required** for `ENHANCEMENT`. - or `gclid` + `conversionTime`: the click ID and the original conversion's time (unix seconds). Not available for `ENHANCEMENT`. `destinationId` is the conversion action resource name, e.g. `customers/1234567890/conversionActions/987654321` (same value you send to `POST /v1/ads/conversions`). PII in `user` is hashed with SHA-256 server-side (Gmail-specific normalization included). Send plaintext. Times are unix seconds; we convert to Google's required `yyyy-MM-dd HH:mm:ss+00:00` format. Up to 2000 adjustments per request; partial failure is supported (inspect `adjustmentsFailed` / `failures[]`).

adAccountId*string
campaignIds*array<>
Items1 <= items <= 100