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

# NCR Advanced Marketing Solution

> Manage targeted promotions and loyalty programs for all the stores in your chain, from a central point.

## Supported syncing

| Type | Description | Supported Sync Modes |
| - | - | - |
| **Customer group** | Sync customer groups by external ID to NCR Advanced Marketing Solution | Insert, All |

For more information about sync modes, refer to the [sync modes](https://docs.hightouch.com/syncs/types-and-modes.md#sync-modes) docs.

## Connect to NCR Advanced Marketing Solution

Go to the [**Destinations** overview page](https://app.hightouch.com/destinations?from=docs) and click the **Add destination** button. Select **NCR Advanced Marketing Solution** (AMS) and click **Continue**. You can then authenticate Hightouch to **NCR Advanced Marketing Solution** by entering the following fields into Hightouch:

* **Host**: The hostname or IP address of your NCR AMS instance
* **Username**: This can be your personal NCR AMS login or a dedicated user for Hightouch
* (Optional) **Password**: The password for the specified user
* (Optional) **Private Key**: An SSH private key
* (Optional) **Private Key Passphrase**: The passphrase associated with the private key

## Sync configuration

Once you've set up your NCR AMS destination and have a [model](https://docs.hightouch.com/getting-started/concepts.md#models) to pull data from, you can set up your sync configuration to begin syncing data. Go to the [**Syncs** overview page](https://app.hightouch.com/syncs?from=docs) and click the **Add sync** button to begin. Then, select the relevant model and the NCR AMS destination you want to sync to.

### Syncing customer groups

Hightouch syncs customer groups to NCR AMS as `.cgi` files.
Hightouch automatically batches your query results into up to two million rows per file.

Each `.cgi` file contains `ID`,`Name`, and `BulkData` XML elements.
The `BulkData` element contains the external IDs of the customer groups you are syncing.

Refer to the [example `.cgi` file](#example-file) for details.

#### File path

The file path defines where Hightouch should send the `.cgi` files.
The file naming convention is `<<Test/Control Group name>>_<<CellName or AMSID_UPCID>>_<<File number>>.cgi`.

Hightouch automatically adds the file number so you only need to provide the `<<Test/Control Group name>>_<<CellName or AMSID_UPCID>>.cgi`.

For example, suppose you input `TestGroup_AMSID_73237_UPC_53395004106.cgi`, the first two million rows of data would appear in a `.cgi` file with the name `TestGroup_AMSID_73237_UPC_53395004106_01`.
The second two million rows would appear in a file with the name `TestGroup_AMSID_73237_UPC_53395004106_02`, etc.

#### Batch ID

Hightouch uses your input in the **Batch ID** for the `Name` and `ID` elements in the `.cgi` file and automatically suffixes a `_<<File number>>`.

For example, suppose you input `37293_US` as the batch ID, the first two million rows would use `37293_US_01` for both `Name` and `ID` elements.
The second two million rows would use `37293_US_02` for `Name` and `ID` elements, etc.

#### External ID column

Use this field to specify which column from your model contains the external IDs to sync.
In the `.cgi` file, these values have the suffix `,0\n` (comma, zero digit, and new line) and are sent as the `BulkData` element.

#### Example file

Hightouch syncs `.cgi` files with contents like this:

```
<?xml version="1.0" encoding="Windows-1252" standalone="no"?>
<CustomerGroupUpdate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <ImportByExternalID>
  <ID>37293_US_01</ID>
  <Name>37293_US_01</Name>
  <BulkData>
    405247281386905506,0
    213550969606979806,0
    497647364788236008,0
    914660244431276315,0
    637947282525555405,0
    525462241744844516,0
    494763443801427416,0
  </BulkData>
  <Operation>augment</Operation>
 </ImportByExternalID>
</CustomerGroupUpdate>
```

## Tips and troubleshooting

To see the exact API requests and responses from each sync run, use the [live debugger](https://docs.hightouch.com/syncs/debugger.md). To get notified by Slack, PagerDuty, SMS, or email when a sync fails, set up [sync alerts](https://docs.hightouch.com/syncs/alerting.md). If you run into an issue this page doesn't cover, [contact support](#pylon-chat).
