NCR Advanced Marketing
Sync customer segments to NCR Advanced Marketing Solution (AMS) for targeted restaurant and retail marketing campaigns. Zeotap delivers audience data as .cgi XML files via SFTP, enabling automated customer group imports for personalized promotions, loyalty programs, and campaign targeting.
Prerequisites
- An NCR Advanced Marketing Solution (AMS) account with SFTP access enabled
- SFTP credentials (username and password or SSH key pair) provided by your NCR account representative
- The SFTP hostname or IP address of your NCR AMS instance
- Knowledge of the remote directory path where .cgi files should be uploaded
- A defined group name and cell name (or AMS ID / UPC ID) for your customer segment
- A batch ID for identifying the import within AMS
Authentication
NCR AMS uses SFTP for file delivery. Two authentication methods are supported:
Password Authentication
- Obtain your SFTP username and password from your NCR account representative
- In Zeotap, select Password as the authentication method
- Enter your Username and Password in the corresponding fields
SSH Key Authentication
- Generate an SSH key pair or obtain one from your NCR account representative
- Ensure the public key is registered on the NCR AMS SFTP server
- In Zeotap, select SSH Key as the authentication method
- Enter your Username and paste your Private Key (PEM format) into the corresponding field
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| SFTP Host | Text | Yes | The hostname or IP address of the NCR AMS SFTP server. |
| Port | Number | No | SFTP server port. Defaults to 22. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Remote Directory | Text | Yes | The directory on the NCR AMS SFTP server to upload .cgi files to (e.g., /imports/customer_groups). |
| Group Name | Text | Yes | The test/control group name used in the .cgi file naming convention. Combined with the cell name and file number to form the file name (e.g., LoyaltyMembers). |
| Cell Name / AMS ID | Text | Yes | The cell name or AMS ID used in the .cgi file naming convention (e.g., 37293_US). |
| Batch ID | Text | Yes | Identifier used in the Name and ID XML elements of the .cgi file. Automatically suffixed with the file number (e.g., 37293_US becomes 37293_US_01). |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Insert | Yes |
| Upsert | — |
| Update | — |
| Mirror | — |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | Yes |
| Remove | — |
| Mirror | — |
| Upsert | — |
Features
- Field Mapping: No
- Schema Introspection: No
Required Mapping Fields
| Field | Description |
|---|---|
| external_id | Customer external identifier included in the BulkData XML element of the .cgi file. |
Default Destination Fields
external_id
This field represents the customer identifier recognized by NCR AMS. Each identifier is written into the BulkData XML element with a ,0 suffix per the AMS import format.
How It Works
File Format
NCR AMS expects customer group data delivered as .cgi XML files. Each file follows this structure:
<?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>customer_001,0
customer_002,0
customer_003,0
</BulkData>
<Operation>augment</Operation>
</ImportByExternalID>
</CustomerGroupUpdate>File Naming Convention
Files are named using the pattern: {GroupName}_{CellName}_{FileNumber}.cgi
For example, with Group Name LoyaltyMembers and Cell Name 37293_US, the first file is named LoyaltyMembers_37293_US_01.cgi.
Sync Process
- Zeotap connects to the NCR AMS SFTP server using the configured credentials
- Customer identifiers from your audience are extracted from the
external_idfield - Identifiers are formatted into the .cgi XML structure with each ID followed by
,0 - The Batch ID is suffixed with the file number and used for both the
IDandNameXML elements nested underImportByExternalID, and the file includes anOperationelement set toaugmentto append customers to the target group - Files are uploaded to the configured remote directory on the SFTP server
- NCR AMS automatically processes the uploaded .cgi files for campaign targeting
Batch Size
Each .cgi file supports up to 2 million rows. If your audience exceeds this limit, Zeotap automatically splits the data across multiple numbered files (e.g., _01.cgi, _02.cgi).
Rate Limits
NCR AMS does not impose API-level rate limits since data delivery is file-based via SFTP. However, file processing on the AMS side may take time depending on the file size and server load.
| Resource | Limit |
|---|---|
| Max rows per .cgi file | 2,000,000 |
| Connection timeout | 30 seconds |
Best Practices
- Use a dedicated SFTP user for Zeotap syncs to isolate access and simplify credential management
- Use consistent group and cell names to ensure AMS correctly associates files with the intended campaign segments
- Keep batch IDs unique across different syncs to avoid overwriting customer groups in AMS
- Verify the remote directory exists and is writable before running your first sync by using the connection test feature
- Use SSH key authentication for production environments for stronger security compared to password-based auth
- Monitor file processing in the NCR AMS console after syncs complete to confirm successful import
Troubleshooting
Connection refused or timeout
Verify the SFTP host and port are correct. Ensure your network allows outbound SSH connections to the NCR AMS server on the configured port (default 22). Check with your NCR account representative if the server requires IP whitelisting.
Authentication failed
For password auth, verify the username and password are correct. For SSH key auth, ensure the private key matches the public key registered on the AMS SFTP server. Private keys must be in PEM format.
Permission denied when uploading files
The SFTP user may not have write access to the configured remote directory. Contact your NCR account representative to verify directory permissions. Use the connection test feature to validate write access before syncing.
Files not processed by AMS
Verify the file naming convention matches what AMS expects: {GroupName}_{CellName}_{FileNumber}.cgi. Incorrect group names or cell names may cause AMS to ignore the uploaded files. Check the NCR AMS console for import errors.
Missing customer identifiers in imported group
Ensure the external_id field is correctly mapped in your sync configuration. Each row must contain a valid customer identifier. Empty or null identifiers are written as empty strings in the BulkData element, which AMS may reject.
File too large or split unexpectedly
Zeotap splits files at the 2 million row limit. If your audience exceeds this, multiple numbered files are created. AMS processes all files in the group, so this splitting is handled transparently.
SSH key format not recognized
The private key must be in PEM format (starting with -----BEGIN OPENSSH PRIVATE KEY----- or -----BEGIN RSA PRIVATE KEY-----). If your key is in a different format (e.g., PPK for PuTTY), convert it to PEM format using ssh-keygen or puttygen before pasting it into Zeotap.
Remote directory does not exist
Zeotap attempts to create the remote directory if it does not exist. If creation fails, the SFTP user may lack permission to create directories. Ask your NCR administrator to pre-create the directory and grant write access.