Qualtrics
Sync contacts and transaction data to the Qualtrics XM Directory for surveys, customer feedback programs, and research. Zeotap supports creating and updating directory contacts as well as appending transactional data for experience management workflows.
Prerequisites
- A Qualtrics account with XM Directory access
- An API token with XM Directory API permissions
- Your XM Directory ID (starts with
POOL_) - (Optional) A mailing list ID (starts with
CG_) if targeting a specific list
Authentication
Qualtrics uses API Token authentication.
- In Qualtrics, navigate to Account Settings → Qualtrics IDs to find your API token
- Ensure the token has XM Directory API access enabled
- Enter the following credentials in Zeotap:
- API Token — your Qualtrics API token
- Directory ID — your XM Directory ID (format:
POOL_xxxxxxxxxx) - Mailing List ID (optional) — target mailing list ID (format:
CG_xxxxxxxxxx). If provided, contacts are also added to this list after creation.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Data Center | Select | Yes | The Qualtrics data center your account is hosted on. Found in Account Settings → Qualtrics IDs. Options: US — Washington DC (iad1), US — Utah (az1), Canada (ca1), Europe — Ireland (eu), Australia — Sydney (syd1), Government (gov1). Defaults to iad1. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Data Type | Select | Yes | The type of data to send to Qualtrics. Options: Contacts (create/update directory contacts) or Transactions (append transaction data to existing contacts). |
Supported Operations
Sync Modes: Upsert, Insert
Audience Sync Modes: Add, Upsert
Features
- Field Mapping: Yes
- Schema Introspection: No
Field Mapping
The available destination fields depend on the selected Data Type.
Contact Fields
| Destination Field | Type | Required | Description |
|---|---|---|---|
email | String | Yes* | Contact email address. Used as the primary identifier. *Either email or extRef is required. |
firstName | String | No | Contact’s first name |
lastName | String | No | Contact’s last name |
phone | String | No | Contact’s phone number |
extRef | String | No | External reference ID. Can be used as the primary identifier instead of email. |
language | String | No | Contact’s preferred language |
unsubscribed | Boolean | No | Whether the contact is unsubscribed from communications |
embeddedData | JSON | No | Custom embedded data fields as a JSON object. Any unmapped fields are also collected as embedded data automatically. |
Transaction Fields
| Destination Field | Type | Required | Description |
|---|---|---|---|
contactId | String | Yes* | Qualtrics contact ID for the transaction. *One of contactId, email, or extRef is required. |
email | String | No | Contact email for transaction lookup |
extRef | String | No | External reference for transaction lookup |
transactionDate | Timestamp | No | Date and time of the transaction |
transactionData | JSON | No | Custom transaction data fields as a JSON object. Any unmapped fields are also included as transaction data automatically. |
How It Works
- Zeotap maps your warehouse data to the Qualtrics XM Directory API schema
- Each record is sent individually to the Qualtrics API (per-contact operations)
- For contact syncs: contacts are created or updated in the XM Directory. If a mailing list is configured, contacts are automatically added to the list after creation.
- For transaction syncs: transaction data is appended to existing contacts, matched by contact ID, email, or external reference
- Unmapped fields are automatically collected as embedded data (contacts) or transaction data (transactions)
Rate Limits
Qualtrics enforces API rate limits that vary by subscription tier. Zeotap processes records sequentially and includes automatic retry logic with backoff for transient errors.
Troubleshooting
Authentication failed
Verify your API token in Qualtrics under Account Settings → Qualtrics IDs. Ensure the token has XM Directory API permissions enabled.
Directory not found
Confirm the Directory ID matches your XM Directory. The ID should start with POOL_ and can be found in Directories → Settings.
Mailing list not found
If using a mailing list, verify the Mailing List ID starts with CG_ and exists within the specified directory. Check access permissions for the list.
Contact creation fails
Ensure at least email or extRef is mapped for contact syncs. Verify the values are not empty for each record.
Transaction lookup fails
For transaction syncs, each record must include at least one of contactId, email, or extRef to identify the target contact. Records missing all three identifiers are skipped.