Best practices
Personalization makes your AI Agent smarter by adapting responses to each user’s context. Instead of relying on generic answers, the Agent can recognize who the customer is, where they’re located, or what membership tier they belong to—and adjust its response accordingly. This not only improves accuracy but also creates a more relevant, supportive experience that builds trust and loyalty.
This topic covers some examples that show practical ways to apply Personalization. By applying these practices, you can turn one-size-fits-all interactions into personalized experiences that resolve issues faster and make customers feel recognized and valued.
Example: Membership support
A premium user contacts the AI Agent about a product replacement. The Agent responds with a generic message like: We’ll review your request shortly. While functional, it misses the opportunity to acknowledge the customer’s membership status—an important moment to reinforce value.
You can improve this experience by using Personalization to tailor the response:
-
Identify premium users by referencing membership data available via user attributes available in the backend system.
a. Choose how to send membership data to Ada.
You can do that in any of the following ways from your backend:
-
Push profile metadata (e.g.,
plan
:premium
ormembership_tier
:gold
) to the End Users API.These values are saved immediately as variables on the user’s profile and can be gated on.
-
Pass the value in via the Chat SDK
metaFields
/setMetaFields
.These values are available during the session for personalization, but are not automatically persisted. To make them usable for gating, you should also send them to the End Users API or Email Conversations API, as applicable.
-
Attach it to inbound email via the Email Conversations API.
These values are saved immediately as variables on the user’s profile and can be gated on.
b. Gate access to content for premium users.
For example:
-
-
Update the Agent’s message to reflect membership status, such as: Thanks for reaching out—we’ll prioritize your request as part of your Premium membership.
-
Apply this logic consistently across other high-value interactions (e.g., shipping updates, service issues) to reinforce recognition and loyalty.
Example: Product replacement by region
Your fulfillment team ships at different speeds depending on the user’s country. But the AI Agent currently responds with a generic message like: Your replacement will ship soon, regardless of the user’s location. This creates vague expectations and often leads to follow-up questions.
You can improve clarity and user satisfaction by using Personalization based on region:
-
Use location data (e.g., shipping address or country code) to determine the user’s region.
a. Get location into the user profile.
You can do that in any of the following ways from your backend:
-
End Users API: Use your server to
PATCH
the user profile with something likecountry_code: US
.This value is saved immediately as a variables on the user’s profile and can be gated on.
-
Chat SDK
metaFields
: Use these fields if you already know the user’s country in the client.These values are available during the session for personalization, but are not automatically persisted. To make them usable for gating, you should also send them to the End Users API or Email Conversations API, as applicable.
-
Email Conversations API: include
metadata
(e.g.,country_code
,region
) when starting an email conversation; these appear as variables on the profile immediately.These values are saved immediately as variables on the user’s profile and can be gated on.
-
-
Tailor the Agent’s message to reflect regional shipping timelines, such as: In your region, replacements typically arrive within 3–5 business days.
a. Map countries to your shipping SLAs. You need to decide on simple regions that reflect meaningful differences in your fulfillment speed. For example:
- Region A (US/CA): 3–5 business days
- Region B (UK/EU): 4–7 business days
- Region C (APAC/LatAm/Other): 7–14 business days
b. Store this mapping wherever is easiest operationally. For example, in your backend (recommended), expose an action that returns
{ "region": "A", "eta_range": "3–5 business days" }
. -
Maintain regional variants for key fulfillment markets where shipping times vary meaningfully.
a. Create regional variants of the message.
For example, you can create three small Playbooks (or three answer variants). Keep it short, explicit, and age/location friendly. Here are some example copy blocks you can paste into the individual Playbooks:
- Replacement shipping time — Region A: In your region, replacements typically arrive within 3–5 business days after they ship.
- Replacement shipping time — Region B: In your region, replacements usually arrive within 4–7 business days after they ship.
- Replacement shipping time — Region C: In your region, replacements usually arrive within 7–14 business days after they ship.
b. Restrict each one based on the following availability rules using your location variable—e.g.,
country_code
.-
Region A:
-
Region B:
-
Region C:
This approach sets clearer expectations upfront—reducing uncertainty, lowering ticket volume, and helping users feel more informed and supported.