> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hightouch

> Target Kameleoon campaigns using Hightouch user data synced to Kameleoon, enabling personalized experiences based on warehouse attributes.

Hightouch has created a connector allowing Hightouch customers to send Hightouch user data to Kameleoon for targeting purposes. To set up this connector, refer to the [Hightouch documentation](https://hightouch.com/docs/destinations/kameleoon). This page describes how to target users according to the Hightouch data sent to Kameleoon.

**Key benefits:**

* Tailor content and offers based on Hightouch data leads to create more relevant experiences and increase user engagement.
* Personalized targeting increases the likelihood of conversions by delivering content that resonates with individual user preferences.

## Activating your Hightouch data in Kameleoon

After you set up the connection to Kameleoon, Hightouch data is available for targeting. You must create a Kameleoon custom data and fill it with your Hightouch data stored in Kameleoon. Then, you must target by value in your Kameleoon segments. Here are the steps:

1. Create a Kameleoon Custom Data, as described [here](../../../assets/custom-data/create-custom-data).
   * Let's say you call the custom data `hightouch_country` (with custom data index `12` automatically attributed) and want to target country data stored by Hightouch. This custom data will be a **string** type, with a **visit** or **visitor** scope, depending on whether you think the attribute (country) will change with each visit.
2. Make a remote call to the Kameleoon data store to fetch the Hightouch JSON stored on Kameleoon servers.
3. Parse the JSON and set the custom data value to country.
4. Enter a code snippet

**IF** you are using the Kameleoon Android SDK the code snippet will look like this:

```javascript theme={null}
String hightouchId = "12345"; // Fetch your Hightouch id and convert to string
kameleoonClient.getRemoteData(hightouchId, new KameleoonDataCallback() {
 @Override
 public void onSuccess(JSONObject jsonObject) {
   kameleoonClient.addData(visitorCode, new CustomData(12, jsonObject.getString("COUNTRY"))); // "visitorCode" is the Kameleoon visitor code. "12" is the index of this custom data among all your other custom data, you can find this in the Kameleoon UI.
 }

 @Override
 public void onFail(Exception exception) {
   _// on fail_
 }
});
```

You will find our Android SDK developer documentation [here](../../../../developer-docs/sdks/mobile-sdks/android-sdk), with specific documentation for the `getRemoteData()` method [here](../../../../developer-docs/sdks/mobile-sdks/android-sdk#getremotedata), and how to set Custom Data [here](../../../../developer-docs/apis/activation-api-js/api-reference/api-reference#setcustomdata).

**IF** you are using Kameleoon web experimentation you can call our JavaScript Activation API in your global script like this:

```javascript theme={null}
Kameleoon.API.Data.retrieveDataFromRemoteSource(hightouchId, function (data) {
         if ("COUNTRY" in data)
         {
          Kameleoon.API.Data.setCustomData("hightouch_country", data["COUNTRY"]); // In this API the custom data is identified by name rather than by index
         }
         
       });
```

You will find documentation for the `retrieveDataFromRemoteSource()` method [here](../../../../developer-docs/apis/activation-api-js/api-reference/api-reference#retrievedatafromremotesource), and `setCustomData()` method [here](../../../../developer-docs/apis/activation-api-js/api-reference/api-reference#setcustomdata).

1. Create a Kameleoon targeting segment **"England Users"** with a condition that targets visitors with a **`hightouch_country`** custom data whose value is set to **"England"** (if you wish to target Hightouch users from England).
2. Create a Kameleoon experiment that is based on the **"England Users"** targeting segment. Only users with a Hightouch **"COUNTRY"** equal to **"England"** will be targeted by this experiment.

Kameleoon has many setup possibilities, with various APIs and many SDKs available and documented [here](../../../../developer-docs/feature-experimentation/get-started/overview). For an in-depth understanding of Kameleoon custom data, you can find detailed technical documentation [here](../../../../developer-docs/custom-data), with emphasis on the different ways to set a custom data value ([acquisition methods](../../../../developer-docs/custom-data#acquisition-methods)), and how to use a custom data [here](../../../../developer-docs/custom-data#using-custom-data).
