user_id that is present on every web, app, server, and device request, they can send that ID directly to the recommendation API.
NSL Connect is for the messier cases where recommendation signals are split across anonymous sessions, logged-in accounts, devices, subscriptions, households, consent states, or partner workflows. It turns those identifiers into a consent-aware recommendation identity so ranking behaviour stays consistent without forcing every channel to share the same raw user ID.
Use it when you need to:
- connect pre-login behaviour to the signed-in user once the user authenticates
- link anonymous, session, customer, household, device, CRM, and subscription identifiers into one recommendation identity
- reduce cold starts across web, mobile, CTV, email, and subscription surfaces
- carry consent decisions into recommendation, measurement, activation, and collaboration workflows
- mint partner-scoped NSL IDs that are different for every partner
- run approved data collaborations that return aggregate overlap, not raw partner identity data
How NSL Connect fits into recommendations
A recommendation engine is only as useful as the signals it can safely connect. NSL Connect gives the platform a stable, consent-aware subject for retrieval, ranking, measurement, and downstream activation. Without identity resolution, the same person can look like several unrelated users: an anonymous browser session on Monday, a signed-in account on Tuesday, a phone app on Wednesday, and a TV device later in the week. Each surface then starts from partial behaviour. NSL Connect resolves those identifiers into a canonicalidentityId. Recommendation requests, events, analytics, and collaboration flows can then refer to the same recommendation subject even when the request arrives with a different identifier.
Resolve an identity
Send one or more supported identifiers, such as
customer_user_id, anonymous_id, session_id, email_sha256, phone_sha256, device_id, crm_id, or subscription_id.Attach identifiers to the same subject
NSL normalizes and hashes the identifiers, finds existing matches, attaches new identifiers to the canonical
identityId, and records resolution edges such as login links or same-device links.Attach consent
Record which purposes are allowed for that identity, such as
recommendations, personalisation, measurement, third_party_activation, or data_collaboration.Serve consistent recommendations
Use the resolved
identityId to retrieve behaviour, profile signals, and recommendation state across surfaces and sessions while respecting restricted purposes.Example: one viewer across web, app, and TV
Imagine a media product with a user who starts anonymous, signs in, and later watches on a connected TV.Anonymous web visit
The user browses articles on the web. The site sends
anonymous_id=anon_123 and session_id=sess_456. NSL creates a derived identity and stores early behaviour against it.Account sign-in
The same user signs in later. The backend resolves
customer_user_id=user_789, email_sha256=..., and the existing anonymous_id=anon_123. Because the account and email identifiers are strong, NSL attaches the anonymous history to the canonical identity.Mobile app request
The mobile app sends
customer_user_id=user_789 and app_instance_id=app_abc. NSL resolves the request to the same identityId, so recommendations can use the earlier web reading history instead of treating the app install as a cold start.Identity resolution
The identity resolver accepts multiple identifier types and returns a canonicalidentityId, optional householdId, match confidence, resolution status, and the purposes that can or cannot be used.
Supported identifier families include:
- customer and account identifiers:
customer_user_id,account_id,crm_id,subscription_id - session and anonymous identifiers:
anonymous_id,session_id,cookie_id,app_instance_id - privacy-normalized contact identifiers:
email_sha256,phone_sha256 - device and household identifiers:
device_id,mobile_ad_id,ctv_device_id,household_id - partner identifiers:
external_partner_id
POST /api/identity/resolve when your backend wants NSL to resolve an incoming user, visitor, device, or account before personalization.
Consent purposes
Consent is purpose-based. NSL Connect tracks allowed and restricted purposes so identity data can be used differently across recommendation, analytics, activation, and collaboration workflows. Common purposes include:recommendationspersonalisationanalyticsidentity_resolutioncross_device_linkingmeasurementthird_party_activationdata_collaboration
Partner-scoped NSL IDs
Partner IDs let you register an activation or collaboration partner and mint an NSL ID for a resolved identity. The internalidentityId never leaves NeuronSearchLab.
Each partner receives its own private key and public encoding. The same internal identity becomes a different NSL ID for every partner, so IDs are not portable across partners unless an approved translation path exists.
Use partner-scoped NSL IDs for:
- privacy-safe activation
- partner-specific measurement
- consent-aware audience handoff
- collaboration workflows where the partner should not receive the internal NSL identity
data_collaboration or third_party_activation.
Data collaborations
Data collaborations let two NSL teams create an approved, purpose-limited match space. A collaboration has:- two-party approval before matching is active
- a per-collaboration secret and isolated keyspace
- optional expiry
- revocation that disables matching and purges scoped keys
- supported match identifiers:
email_sha256andphone_sha256 - aggregate overlap calculation only
Recommended workflow
Resolve identities on ingest or request
Send identifiers and consent when users interact, sign in, subscribe, or move across devices.
Review identity state in the console
Confirm confidence, resolution status, consent purposes, and partner mappings before using the identity for activation or collaboration.
Register partners only when needed
Create partner records for approved activation, measurement, or collaboration workflows.

