Skip to navigation

Personalization and identity

Overview

Use Messaging metadata to personalize conversations. Use identity tokens when the conversation must belong to a verified signed-in user.

Limitations

Messaging metadata is not proof of identity. Do not authorize access to an account from a browser-supplied email address or identifier alone.

The SDK has no metadata count limit. Keys have a 256-character limit; string values have a 100,000-character limit.

Nested objects and arrays are discarded. See the metadata differences before migrating complex payloads.

Capabilities & configuration

Choose the correct Messaging mechanism for the data you need.

GoalMechanism
Personalize greetings or supply variable valuesSDK metadata and setMetaFields.
Supply sensitive values for configured toolssetSensitiveMetaFields and the tool’s documented configuration.
Identify a signed-in userA backend-minted identity token for an existing end-user record.
Restore a user’s conversation on another deviceA fresh token for the same end_user_id.

Identity tokens are short-lived and single-use. Mint a new token for each device, sign-in, or exchange attempt.

Iframe-only embed uses the same metadata and identity methods through its client. Await each method call.

Sensitive meta fields expire after 24 hours. Ada does not store them long-term. End-user deletion by email does not find a user whose email was sent only through sensitiveMetaFields.

Send a stable identifier, such as your own user ID, as a plain metaFields value. Use an identifier that contains no contact information. Keep email, name, and similar data in sensitiveMetaFields.

Delete end users with the Bulk End-User Deletion API and its variable_match selector. Set variable to the identifier’s field name and value to its stored string value. The selector matches the latest value exactly. It does not match global or session variables.

Implementation & usage

Coordinate Messaging identity with the team that owns your application’s authentication.

To plan an identified integration:

  1. Have your backend create or find the end-user record with the End Users API.
  2. Mint an identity token on the backend for that end_user_id.
  3. Pass the token through the SDK’s documented identity configuration.
  4. Handle identity errors explicitly in your application.
  5. Test reset, sign-out, account switching, and a second device.

The SDK can continue anonymously after an identity-token error. Treat authenticated access as a separate application requirement.

Follow Identity getting started for the complete flow. Keep API keys on your backend.

The Conversations API’s custom-channel creation flow is separate from a native SDK session. Use the SDK to open the Messaging conversation.

Review Data controls and the identity lifecycle rules with your implementation.