Emarsys
SAP-owned omnichannel customer engagement platform. Zeotap syncs contacts, triggers external events, and manages contact list membership via the Emarsys REST API.
Prerequisites
- An Emarsys account with API access enabled
- An API username and secret key (generated in Emarsys Management > Security Settings)
- For contact list operations: an existing contact list ID
- For external events: a configured external event ID in Emarsys
Permissions
Your Emarsys API user must have permissions for the endpoints you intend to use:
- Contacts: Read/write access to the Contacts API
- Contact Lists: Access to contact list management endpoints
- External Events: Permission to trigger external events
Authentication
Emarsys uses WSSE (Web Services Security) authentication. Each API request includes a cryptographic token generated from your username and secret.
- In Emarsys, navigate to Management > Security Settings
- Create a new API user or use an existing one
- Copy the API Username (format:
account_name001) - Generate a new API Secret and save it immediately (it cannot be retrieved later)
- In Zeotap, paste the username into the API Username field
- Paste the secret into the API Secret field
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| API Endpoint | Select | Yes | The Emarsys API base URL. Use the default (https://api.emarsys.net) unless directed otherwise. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Object Type | Select | Yes | The type of data to sync: Contacts, External Events, or Contact Lists. |
| Key Field ID | Text | Conditional | The Emarsys field ID used as the unique contact identifier. Use 3 for email-based matching. Required for Contacts and Contact Lists. |
| Contact List ID | Text | Conditional | The numeric ID of the Emarsys contact list. Required when Object Type is Contact Lists. |
| External Event ID | Text | Conditional | The numeric ID of the Emarsys external event to trigger. Required when Object Type is External Events. |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | — |
| Update | Yes |
| Mirror | — |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | Yes |
| Remove | Yes |
| Mirror | Yes |
| Upsert | Yes |
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
Required fields depend on the selected Object Type:
| Object Type | Required Fields |
|---|---|
| Contacts | key_value (the value for your chosen key field, e.g. email address) |
| Contact Lists | key_value (the value for your chosen key field) |
| External Events | external_id (the contact identifier to trigger the event for) |
Default Destination Fields
Contacts
key_value, 1 (First Name), 2 (Last Name), 3 (Email), 4 (Date of Birth), 5 (Gender), 15 (Salutation), 31 (Opt-In), 46 (Mobile)
External Events
external_id, data (JSON event payload)
How It Works
Contact Syncs
- Zeotap maps your source columns to Emarsys field IDs
- The
key_valuefield is mapped to your configured Key Field ID (e.g. field3for email) - Rows are batched into groups of up to 1,000 contacts per API call
- In upsert mode, contacts are created if they do not exist (
create_if_not_exists=1) - In update mode, only existing contacts are modified
- Per-row errors are reported individually without failing the entire batch
Contact List Syncs
- Zeotap extracts the key value from each row
- In add/upsert mode, contacts are added to the specified list
- In remove mode, contacts are removed from the list
- In mirror mode, new/changed contacts are added and removed contacts are deleted from the list
- Rows are batched into groups of up to 10,000 contacts per API call
External Event Syncs
- Each row triggers the configured external event for one contact
- The
external_idfield identifies which contact receives the event - Additional mapped fields are passed as event data
Emarsys Field IDs
Emarsys uses numeric field IDs instead of field names. Common system fields include:
| Field ID | Field Name |
|---|---|
| 1 | First Name |
| 2 | Last Name |
| 3 | |
| 4 | Date of Birth |
| 5 | Gender |
| 15 | Salutation |
| 31 | Opt-In |
| 46 | Mobile |
Custom fields have higher numeric IDs. Find your field IDs in Emarsys under Management > Field Editor.
Rate Limits
Emarsys enforces a rate limit of 1,000 API requests per minute per API key. Zeotap batches contacts (up to 1,000 per request) and handles rate limiting with automatic retry and exponential backoff.
Best Practices
- Use email as the key field (
key_field_id=3) for the most reliable contact matching - Prefer upsert mode for contacts to avoid errors when contacts do not exist
- Map only the fields you need — Emarsys PUT requests replace all included field values
- Use contact lists for audience syncs — the contact list endpoints support add, remove, and mirror operations
- Batch external events carefully — each event is a separate API call, so large volumes may hit rate limits
- Verify field IDs in the Emarsys Field Editor before configuring your sync
Troubleshooting
Authentication failed: invalid username or secret
Verify your API username and secret in Emarsys under Management > Security Settings. The secret cannot be retrieved after creation — if lost, generate a new one.
Contact not found during update
When using update sync mode, contacts must already exist in Emarsys. Switch to upsert mode to create contacts automatically.
Invalid field ID error
Emarsys uses numeric field IDs (e.g. 3 for email). Verify your field IDs in Management > Field Editor. Custom fields have higher numeric IDs.
Rate limit exceeded (429 errors)
Zeotap handles rate limiting automatically with exponential backoff. If you consistently hit limits, reduce sync frequency or contact Emarsys support to increase your API quota.
Contact list not found
Verify the Contact List ID is correct. Navigate to Contacts > Contact Lists in Emarsys to find the numeric list ID.
External event trigger failed
Ensure the external event ID is valid and the event is active in Emarsys. Check that the contact identified by external_id exists in the system.
Duplicate contact errors
Use a unique field as your key field (email is recommended). Non-unique key fields can cause conflicts during upsert operations.
Date field format errors
Emarsys expects dates in YYYY-MM-DD format. Ensure your source data matches this format for date fields.