Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards

Enable Identity Stitching in CJA Using ECID and Email — Migration from Adobe Analytics To CJA

Avatar

Level 2

We are currently migrating from Adobe Analytics to Customer Journey Analytics (CJA) and would like to request support in enabling identity stitching for our setup.

 

Our Setup:

 

We operate a B2B lead-generation website.

 

AEP Web SDK is implemented, and ECID is generated for all page views.

 

Email is captured only at the time of lead form submission.

 

We will soon be integrating Marketo and Salesforce data into Adobe Experience Platform using the RTCDP B2B schema, which will also feed into CJA.

 

 

Our Objective:

 

Stitch anonymous ECID-based behavior with the email identity once it becomes available via lead form submission.

 

Enable reporting in CJA that shows a complete view of the customer journey — from anonymous engagement to form submission.

 

Avoid increasing profile counts in RTCDP based solely on ECID-based anonymous traffic (we do not want ECID-only visitors to create full profiles).

 

Ensure that profile qualification only happens when a user submits their email.

 

Can someone help me out how can I achieve this without burning the b2b profile count.

 

Note : We are going to bring the marketo and Salesforce data later to rtcdp and enable it to profiling using rtcdp b2b schema.

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

5 Replies

Avatar

Community Advisor

Hi @MohitVashist 

I think you are on the right track, yes, identity stitching between ECID (anonymous web behavior) and email (authenticated identity) is absolutely achievable in AEP/CJA, without unnecessarily inflating your profile count in RTCDP.

1. Use Identity Graph in CJA & Not RTCDP

CJA supports identity stitching at reporting level, based on the identityMap in the Web SDK. You don't need to create full RTCDP profiles just to get stitched reporting in CJA.

  • As long as both ECID and email are passed into the identityMap, CJA can stitch the journey once the same email appears in another dataset (like Marketo or CRM).

  • So when a user submits a form, push email alongside ECID in the identityMap.


    identityMap: {
    ECID: [{ id: 'ecid-value-here', authenticatedState: 'ambiguous' }],
    email: [{ id: 'user@email.com', authenticatedState: 'authenticated' }]
    }

2. Disable Auto-Profiling in RTCDP for Anonymous ECIDs

To avoid burning B2B profile count on anonymous visitors -

  • Configure Profile Merge Policies in RTCDP to only qualify profiles when an authenticated ID (like email) is present.

  • Do not set ECID as a primary identity in your schema unless absolutely needed.

  • Only ingest lead records into RTCDP once email (or another primary ID like CRM ID) is available from form fills or your Marketo/CRM feeds.

3. Once Marketo + Salesforce Are Connected

  • Those systems will send known user data (like email, lead IDs, account details).

  • AEP will use the identityMap to stitch the previously anonymous ECID behavior to the known user, enabling end-to-end journey reports in CJA.

 

Also, Please note that this stitching works in CJA even before RTCDP starts profiling the user, you don’t need to wait for full RTCDP integration.

 

Hope that helps!

 

Avatar

Community Advisor

@pradnya_balvir , @KumarRishii , @Vinay_Chauhan how does this non-profile enabled dataset work with consent data? Don't I need to track the anonymous user's consent choices in a profile-enabled dataset? Would this profile fragment not have to be created anyway?

Cheers from Switzerland!


Avatar

Level 5
Yes, you're on the right track with your goals for identity stitching and profile management in AEP and CJA

Track anonymous visits using ECID via AEP Web SDK
➤Send these to a non-profile-enabled dataset to avoid profile creation.

On lead form submission, capture and send email + ECID together using Web SDK.
➤ Use a profile-enabled dataset to trigger profile creation.
➤ This stitches ECID and email in the Identity Graph.

Integrate Marketo and Salesforce later using the RTCDP B2B schema.
➤ Ensure they match on email or another shared ID.
➤ These enrich the known profile (not the anonymous ones).

In CJA, use stitched identities to report the full customer journey — from anonymous engagement to conversion.

I hope the above steps helps clarify your queries.

Avatar

Level 2

Hi @KumarRishii @Vinay_Chauhan What is drawback of this approach. As far i know below are some

1. No Audience Activation for anonymous users.
2. Delayed Personalization for AJO Journey anonymous web activity cannot trigger real time journeys untill the user become unknown.
3. Delayed identity resolution until authentication occurs.

Please let me know how to avoid this are is there any other drawback  ?

Thanks,



Avatar

Community Advisor

Hi @MohitVashist ,

 

Below approach will ensure you get end-to-end journey visibility in CJA without burning your RTCDP profile budget.

 

 

1: Use Identity Stitching via Identity Graph in AEP

Ingest all your data (web, Marketo, SFDC) with proper identity mapping:

A. Web SDK (ECID)

  • Use identityMap.ecid for all events

 

"identityMap": {
"ECID": [
{
"id": "your-ecid-value",
"authenticatedState": "ambiguous"
}
]
}

 

B. Form Submit with Email

On lead form submission, pass the email using identityMap.email

"identityMap": {
"email": [
{
"id": "john@example.com",
"authenticatedState": "authenticated",
"primary": true
}
]
}

 

This stitches ECID to email and qualifies it as a known identity in AEP, enabling identity resolution only when email is present.

 

2: Avoid Profile Count for Anonymous ECID

This happens only if:
  • You don’t ingest ECID-only data into Profile Store.
  • OR you exclude ECID from identity namespaces that qualify profiles in RTCDP.
 
Recommended:
  • Mark ECID events as profile-disabled during ingestion OR
  • Do NOT enable Web SDK dataset for Profile, only enable the lead submission dataset (with email) for Profile.

3: Enable Identity Graph in CJA

When setting up your CJA Connection, make sure:

  • You include both ECID and Email ID as identity namespaces.

  • You enable Identity Graph Lookup:

    • This allows CJA to stitch behavior from ECID to email-based actions post-submission.

4: Bring in Marketo and SFDC (Later Phase)

When you ingest these:

  • Use the same Email ID namespace used in Web SDK identityMap.

  • Ensure both sources (Marketo, Salesforce) use the same identity.

  • Once stitched, you'll see:

    • Pre-lead behavior (ECID)

    • Form submit (email)

    • CRM/marketing engagement (via joined email)

Thanks.

Pradnya