> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ada.cx/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ada.cx/_mcp/server.

# Data controls

> **Warning**
>
> Ada has deprecated Chat. Messaging fully replaces Chat on December 15, 2026. Read [Introducing Messaging](https://docs.ada.cx/2026-09-30-introducing-messaging) to learn how to migrate.

## Overview

If your AI Agent uses Messaging, follow the [Messaging data controls guide](/docs/channels/messaging/messaging-configuration/data-controls).

Data controls let you decide how your AI Agent remembers end user conversations and what types of links it can share. These settings help balance personalized experiences with privacy and security.

## Use cases

Data controls help you manage end user data and link security in your [Chat](/docs/channels/chat) widget.

* **Handoff continuity**: Retain conversation history across browser sessions so end users don't lose context when handed off to human agents.
* **Privacy-first interactions**: Clear conversation history after each page reload for sensitive contexts where end users shouldn't have persistent records.
* **Mobile app deep linking**: Direct end users to specific screens in your mobile app using custom URI schemes—for example, `yourbrand://orders/12345`.

## Capabilities & configuration

Data controls provide settings for managing conversation persistence and link protocols.

* **Persistence settings**: Control when your AI Agent forgets end user conversation history and variables.
* **Custom link protocols**: Define which URI schemes your AI Agent can use in messages beyond the standard protocols (`https`, `http`, `ftp`, `ftps`, `mailto`, `tel`, `callto`, `sms`, `cid`, `xmpp`).

## Quick start

Configure data controls in a few steps.

On the Ada dashboard, go to **Config > CHANNELS > Chat**.

Go to the **Data & privacy** tab.

Under **Persistence**, select your preferred setting.

Optionally, add custom link protocols under **Approved link protocols**.

Click **Save**.

For detailed instructions, see [Implementation & usage](#configure-persistence).

## Implementation & usage

Configure persistence settings and custom link protocols.

### Persistence settings

AI Agents can remember an end user from one conversation to the next. AI Agents store a record of the end user, their associated data, and their chat history. This is called *Customer Persistence*.

You can use the Customer Persistence settings to determine when your AI Agent should *forget* an end user.

> **Note**
>
> Persistence is only evaluated **on page load or refresh**, not continuously. If an end user keeps the chat page open without reloading—even for extended periods beyond the configured time duration—Ada will **retain** the conversation and variables.

#### Configure persistence\[#configure-persistence]

**To configure Customer Persistence:**

1. On the Ada dashboard, go to **Config > CHANNELS > Chat**, then go to the **Data & privacy** tab.

2. Under **Persistence**, from the drop-down menu, select your [preferred Customer Persistence setting](#persistence-settings).

3. Click **Save**.

#### Persistence options\[#persistence-settings]

There are four Customer Persistence settings to select from.

<table>
  <tbody>
    <tr>
      <td>
        **Never Forget**
      </td>

      <td>
        The AI Agent never forgets the chat history and saved variables,
        regardless of how the end user ends the conversation.

        > **Note**
        >
        > If the end user clears their browser history, the chat history is
        > cleared as well.
      </td>
    </tr>

    <tr>
      <td>
        **Forget After Tab Close**
      </td>

      <td>
        The AI Agent forgets the chat history and saved variables if the
        end user closes the chat tab or window; however, the AI Agent maintains the
        chat history and saved variables if the end user refreshes the page or
        links to a new page.

        > **Note**
        >
        > Each new tab behaves as a unique chat conversation. The end user's
        > conversation and data does not carry across tabs.
      </td>
    </tr>

    <tr>
      <td>
        **Forget After Reload**
      </td>

      <td>
        The AI Agent forgets the chat history and saved variables if the
        end user leaves the webpage, or refreshes or closes their browser
        tab.
      </td>
    </tr>

    <tr>
      <td>
        **Forget After...**
      </td>

      <td>
        The AI Agent forgets the chat history and saved variables after a
        predetermined time period that you define. This can be any number of
        minutes, hours, days, or weeks.
      </td>
    </tr>
  </tbody>
</table>

#### Persistence considerations\[#persistence-considerations]

Keep these considerations in mind when configuring persistence.

* If your AI Agent hands end users off to a human agent it is best practice to
  select either Never Forget or Forget After… Selecting Forget After Tab
  Close will result in each new tab behaving as a unique chat session.
  This can become problematic when the AI Agent hands the end user off to a
  live agent. Multiple tabs with separate AI Agent conversations may confuse
  the end user. They may even start another handoff request flow. Forget
  After Reload behaves the same way across tabs.

* Forget After Reload has one exception for live agent handoffs on the
  Messaging SDK. During an active handoff, a page refresh in the same tab
  returns the end user to the same agent conversation. The Messaging SDK keeps
  this exception for every live agent handoff.

* The two SDKs keep the handoff exception in different places. The Messaging
  SDK saves the session in tab storage. It removes the saved session when the
  handoff ends and when the end user closes the tab. The Chat SDK keeps this
  exception only for Zendesk Messaging handoffs, a different integration from
  the Zendesk Chat handoff in the next bullet. The Chat SDK saves the session in
  browser storage, so the exception survives a tab close while the handoff is
  open. It also removes the saved session when the handoff ends.

* After a Zendesk Chat handoff ends in the current page, the Messaging SDK
  keeps the visitor record and its applied tags. The visitor record allows
  reconnection. The next handoff removes those tags. Closing the tab removes both.

* When you select Never Forget, returning end users are not provided
  with the Greeting. Thus, this setting is not recommended if you
  use the Greeting to provide end users with important
  announcements such as realtime bug and outage updates.

* The Customer Info within the **Convos** view contains a combination
  of end user and session data. This means that the AI Agent may have
  collected variable data in a previous conversation.

### Custom link protocols

Enable your AI Agent to send links with custom protocols (URI schemes) in messages (for example: **yourbrand://link-to-page**). These can be used to send end users deeplinks to specific parts of your application.

By default, your AI Agent supports sending links with these standard protocols: https, http, ftp, ftps, mailto, tel, callto, sms, cid, xmpp. Unless they are [added to the allowlist](#add-link-protocol), other protocols will be sanitized from messages to keep your end users safe.

#### Add a link protocol\[#add-link-protocol]

**To add a link protocol:**

1. On the Ada dashboard, go to **Config > CHANNELS > Chat**, then go to the **Privacy & data** tab.

2. Beside **Approved link protocols**, click **Add protocol**.

   The **Add Protocol** window appears.

3. In the **Add Protocol** window, in the **Protocol Name** field, enter the link protocol or URI scheme you want to authorize. (This is the part of your link that appears just before **://**, for example: **yourbrand** from **yourbrand://deep-link**.)

4. Click **Add** to add the protocol to the approved link protocols list.

#### Edit a link protocol\[#edit-link-protocol]

You can edit any link protocols already in your list.

**To edit a link protocol:**

1. On the Ada dashboard, go to **Config > CHANNELS > Chat**, then go to the **Privacy & data** tab.

2. Under **Approved link protocols**, click the **pencil** icon next to the link protocol you'd like to edit.

3. In the **Edit Protocol** window, make your changes in the **Protocol Name** field.

4. Click **Save**.

The updated link protocol appears in the list.

#### Remove a link protocol\[#remove-link-protocol]

**To remove a link protocol:**

1. On the Ada dashboard, go to **Config > CHANNELS > Chat**, then go to the **Privacy & data** tab.

2. Under **Approved link protocols**, click the **trash can** icon next to the link protocol you'd like to remove.

3. In the **Confirm Protocol Deletion** window that appears, click **Delete**.

This removes the link protocol from the list. Your AI Agent will no longer send links that use this protocol.

## Related features

* [Chat onboarding](/docs/channels/chat/chat-onboarding): Get started with Chat.
* [Appearance settings](/docs/channels/chat/chat-configuration/appearance-settings): Customize your Chat widget's look and feel.
* [Launch options](/docs/channels/chat/chat-configuration/launch-options): Control Chat visibility and rollout.
* [Redactions](/docs/setup/redactions/redaction-settings): Prevent sensitive information from being stored.

---

Have any questions? Contact your Ada team, or email us at [](mailto:help@ada.cx?subject=Help%20Docs%20inquiry).