Skip to Content

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.

  1. In Qualtrics, navigate to Account Settings → Qualtrics IDs to find your API token
  2. Ensure the token has XM Directory API access enabled
  3. 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

FieldTypeRequiredDescription
Data CenterSelectYesThe 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

FieldTypeRequiredDescription
Data TypeSelectYesThe 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 FieldTypeRequiredDescription
emailStringYes*Contact email address. Used as the primary identifier. *Either email or extRef is required.
firstNameStringNoContact’s first name
lastNameStringNoContact’s last name
phoneStringNoContact’s phone number
extRefStringNoExternal reference ID. Can be used as the primary identifier instead of email.
languageStringNoContact’s preferred language
unsubscribedBooleanNoWhether the contact is unsubscribed from communications
embeddedDataJSONNoCustom embedded data fields as a JSON object. Any unmapped fields are also collected as embedded data automatically.

Transaction Fields

Destination FieldTypeRequiredDescription
contactIdStringYes*Qualtrics contact ID for the transaction. *One of contactId, email, or extRef is required.
emailStringNoContact email for transaction lookup
extRefStringNoExternal reference for transaction lookup
transactionDateTimestampNoDate and time of the transaction
transactionDataJSONNoCustom transaction data fields as a JSON object. Any unmapped fields are also included as transaction data automatically.

How It Works

  1. Zeotap maps your warehouse data to the Qualtrics XM Directory API schema
  2. Each record is sent individually to the Qualtrics API (per-contact operations)
  3. 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.
  4. For transaction syncs: transaction data is appended to existing contacts, matched by contact ID, email, or external reference
  5. 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.

Last updated on