Skip to main content
Level 2
September 16, 2026
Question

LinkedIn Conversions API setup in AEP — two open questions (Destination SDK headers + Event Forwarding profile data)

  • September 16, 2026
  • 1 reply
  • 21 views

Hi all,

We're setting up server-side conversion tracking for LinkedIn Conversions API (CAPI) in Adobe Experience Platform, and have run into two separate issues while exploring both integration paths. Would appreciate guidance on either.
 

Question 1: Destination SDK — headers field not accepted in destination server config

We're building a custom streaming destination server via /authoring/destination-servers to call LinkedIn's Conversions API directly. LinkedIn's API requires several static headers beyond Authorization (X-Restli-Protocol-Version, X-RestLi-Method, Linkedin-Version), but adding a headers array inside httpTemplate causes a 400 Bad Request:

"type": "http://ns.adobe.com/aep/errors/DEST-0007-400",
"title": "Unreadable request: Invalid JSON input at line: 18, column: 26.
Incorrect type found for fields: [headers, httpTemplate, value]."

payload attempted
{
  "name": "Dest_LinkedIn_ConversionsAPI",
  "destinationServerType": "URL_BASED",
  "urlBasedDestination": {
    "url": {
      "templatingStrategy": "PEBBLE_V1",
      "value": "https://api.linkedin.com/rest/conversionEvents"
    },
    "splitUserById": false
  },
  "httpTemplate": {
    "httpMethod": "POST",
    "contentType": "application/json",
    "headers": [
      { "key": "X-Restli-Protocol-Version", "value": "2.0.0" },
      { "key": "X-RestLi-Method", "value": "BATCH_CREATE" },
      { "key": "Linkedin-Version", "value": "202601" }
    ],
    "requestBody": {
      "templatingStrategy": "PEBBLE_V1",
      "value": "{ \"elements\": [...] }"
    }
  }
} 

Per the public templating-specs documentation, httpTemplate only lists httpMethod, requestBody, and contentType — no headers field is documented at this level. We also confirmed headers does exist elsewhere (inside customerAuthenticationConfigurations.accessTokenRequest.httpTemplate, for OAuth2 token-refresh calls), but that's not the same as the outbound data call to LinkedIn.

Question: Is there a supported way to attach custom static headers (X-Restli-Protocol-Version, X-RestLi-Method, Linkedin-Version) to the main httpTemplate used for the actual conversion event call? If so, what's the correct field name/structure? If not, is this a known gap for REST.li-based APIs like LinkedIn's?

 

Question 2: Event Forwarding + OOTB LinkedIn Conversions API extension — profile-only field (email) not present in the event

Separately, we're also testing the pre-built LinkedIn Conversions API extension via Event Forwarding, which avoids the header problem above since it's handled internally by the extension.

However, we've hit a data availability issue: LinkedIn's required user identifier (SHA-256 hashed email) is stored in our system as a Real-Time Customer Profile attribute, not as part of the actual XDM event payload sent to Edge for the "Quote Submitted" event. Since Event Forwarding data elements can only read from arc.event.xdm... (the specific event's payload), the email field resolves empty.

Question: Is there a supported way to enrich an outgoing event with existing Profile attributes at the point Event Forwarding processes it (e.g., a profile lookup/merge step), or is the only option to ensure fields like email are explicitly included in the XDM payload at collection time (client-side form field / server-side event call)? If enrichment from Profile isn't possible in Event Forwarding, can someone confirm whether this is by design, so we can document it as a known limitation?

Any pointers, working examples, or confirmation either way would be hugely helpful. Thanks!

1 reply

Prasanth
Level 2
October 7, 2026

Hi ​@Rrffgg 

1. Regarding Destination SDK Headers:

The DEST-0007-400 error is expected because the httpTemplate inside urlBasedDestination does not accept a headers array (that parameter is only valid inside authentication/dynamic dropdown configurations). For static headers needed on outbound data calls, check if your SDK configuration allows top-level header mappings (such as headerParameters). However, because LinkedIn’s API heavily relies on REST.li headers (X-RestLi-Method), utilizing Event Forwarding is generally the preferred approach for LinkedIn CAPI.

2. Regarding Profile Enrichment in Event Forwarding:

This is by design. Event Forwarding executes lightweight rules directly on the Adobe Edge Network on incoming ExperienceEvent payloads (arc.event.xdm...). It does not perform synchronous lookups against the central Real-Time Customer Profile store to avoid latency overhead.

Recommended Options:

  • Option A (Data Collection): Ensure the email/hashed identifier is attached directly to the XDM event payload at collection time (e.g., Web SDK identityMap or form submit data).

  • Option B (Segment/Profile Activation): If the data can only be resolved via Profile, rely on standard AEP Real-Time CDP Streaming Destinations triggered by an event-based segment, which evaluates both event and profile attributes before firing outbound.