Best practices

Overview

Personalization makes your AI Agent smarter by adapting responses to each end user’s context. Instead of relying on generic answers, the Agent can recognize who the end user 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.

By applying these practices, you can turn one-size-fits-all interactions into personalized experiences that resolve issues faster and make end users feel recognized and valued.

Privacy and retention

Personal data—such as an end user’s full name, email address, phone number, unique identifiers, and other details defined under privacy laws—is carefully protected. Redaction can be applied based on customer settings. Robust safeguards, including a Zero Data Retention policy for LLM providers, prevent unintended data storage. For more details, consult the Trust Center, Privacy Team, DPO, or your account manager.

Examples

These examples show practical ways to apply Personalization.

Membership support

A premium end 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 end user’s membership status—an important moment to reinforce value.

You can improve this experience by using Personalization to tailor the response:

  1. Identify premium end 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 or membership_tier: gold) to the End Users API.

      These values are saved immediately as variables on the end 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 end user’s profile and can be gated on.

    b. Gate access to content for premium end users.

    For example:

  2. 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.

  3. Apply this logic consistently across other high-value interactions (e.g., shipping updates, service issues) to reinforce recognition and loyalty.

Product replacement by region

Your fulfillment team ships at different speeds depending on the end user’s country. But the AI Agent currently responds with a generic message like: Your replacement will ship soon, regardless of the end user’s location. This creates vague expectations and often leads to follow-up questions.

You can improve clarity and end user satisfaction by using Personalization based on region:

  1. Use location data (e.g., shipping address or country code) to determine the end user’s region.

    a. Get location into the end user profile.

    You can do that in any of the following ways from your backend:

    • End Users API: Use your server to PATCH the end user profile with something like country_code: US.

      This value is saved immediately as a variable on the end user’s profile and can be gated on.

    • Chat SDK metaFields: Use these fields if you already know the end 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 end user’s profile and can be gated on.

  2. 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" }.

  3. 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 end users feel more informed and supported.