Conversions

Create a conversion destination

Changed on

Creates a new place to send conversion events: a Google Ads conversion action or a LinkedIn conversion rule.

Supported for LinkedIn (conversion rule) and Google Ads (conversion action). It returns 405 for:

  • Meta and OpenAI Ads: their pixels are created via their own tracking-tags flow instead (POST /v1/accounts/{accountId}/tracking-tags)
  • Reddit: create Reddit pixels in Reddit Ads Manager

LinkedIn

Creation is NOT idempotent. A retry creates a second destination. Deduplicate before retrying.

The rule is created with conversionMethod=CONVERSIONS_API and (by default) auto-associated with all of the ad account's campaigns via autoAssociationType=ALL_CAMPAIGNS. Pass autoAssociationType: NONE to opt out and manage associations explicitly via the associations endpoints below.

365-day attribution windows are only valid for these rule types; the API rejects other combinations locally:

  • SUBMIT_APPLICATION
  • PURCHASE
  • ADD_TO_CART
  • QUALIFIED_LEAD
  • LEAD

Google Ads

Calling with a name that already exists reuses the existing conversion action transparently (the response is identical to a fresh create).

Calling with the same name but a different category, or a name already used by a website (WEBPAGE) action, returns a typed IDEMPOTENCY_CONFLICT (409) rather than silently returning the mismatched action.

The conversion action is created with type=UPLOAD_CLICKS (required for API-uploaded offline conversions, immutable after creation).

The type field carries the Google ConversionActionCategory enum value, e.g. PURCHASE, SUBSCRIBE_PAID, SIGNUP, IMPORTED_LEAD, BOOK_APPOINTMENT. Unified standard event names (e.g. Purchase, Subscribe, CompleteRegistration, Lead, Schedule) are resolved to their Google category equivalents automatically.

The action defaults to secondary (non-primary) to avoid immediately steering Smart Bidding; pass primaryForGoal: true to opt in.

post/v1/ads/conversions/destinations

Request

  • Base URL
    https://zernio.com/api
  • Auth
    HTTP bearer

Request body

accountIdstring required

The connected ads account (SocialAccount ID).

adAccountIdstring required

Ad account ID. For LinkedIn: numeric (e.g. "5123456") or full urn:li:sponsoredAccount:{id} URN. For Google: numeric customer ID (e.g. "1234567890") or customers/{id} form.

namestring required
typestring required

Conversion type. Unknown values pass through to the platform.

  • LinkedIn: a unified standard event name (e.g. "Purchase", "Lead", "AddToCart") or a LinkedIn rule type enum (e.g. "PURCHASE", "QUALIFIED_LEAD").
  • Google: a unified standard event name (Purchase, Subscribe, CompleteRegistration, Lead, Schedule) or a Google ConversionActionCategory enum value directly (e.g. "PURCHASE", "SUBSCRIBE_PAID", "SIGNUP", "IMPORTED_LEAD", "BOOK_APPOINTMENT").
attributionType'LAST_TOUCH_BY_CAMPAIGN' | 'LAST_TOUCH_BY_CONVERSION'

LinkedIn only.

postClickAttributionWindowSize1 | 7 | 30 | 90 | 365

LinkedIn only. Default 30. 365 only allowed for LEAD, PURCHASE, ADD_TO_CART, QUALIFIED_LEAD, SUBMIT_APPLICATION rule types; the API rejects other combinations locally.

viewThroughAttributionWindowSize1 | 7 | 30 | 90 | 365

LinkedIn only. Default 7. Same 365-day-window type restriction applies as postClickAttributionWindowSize.

valueType'DYNAMIC' | 'FIXED' | 'NO_VALUE'

LinkedIn only. DYNAMIC (default) uses the per-event value from sendConversions. FIXED uses the rule's value field. NO_VALUE drops monetary value entirely.

autoAssociationType'ALL_CAMPAIGNS' | 'OBJECTIVE_BASED' | 'NONE'

LinkedIn only. Controls campaign association at rule-creation time:

  • ALL_CAMPAIGNS: associate the rule with every active, paused, and draft campaign in the ad account.
  • OBJECTIVE_BASED: associate only campaigns whose objective matches the rule's type.
  • NONE: don't auto-associate. Manage associations via the /associations endpoints below.

Auto-association runs once at create time; campaigns added after the rule still need explicit association.

countingType'MANY_PER_CLICK' | 'ONE_PER_CLICK'

Google Ads only. Whether to count multiple conversions from the same click (MANY_PER_CLICK) or at most one (ONE_PER_CLICK). Defaults to MANY_PER_CLICK if omitted.

primaryForGoalboolean

Google Ads only. When true, the conversion action is marked as primary and immediately influences Smart Bidding. Defaults to false (secondary, record-only) to avoid unintentionally steering the customer's campaigns on creation.

Response

Destination created

platform'linkedinads' | 'googleads'

Changes