Dynata
Sync project and line-item data to Dynata for survey sample management and audience research. Zeotap connects to the Dynata Demand API, enabling you to create and update projects and line items directly from your warehouse data.
Prerequisites
- A Dynata account with Demand API access
- API credentials (client ID, username, and password) provided by your Dynata account manager
- Access to the Dynata Demand API test or production environment
Permissions
Your Dynata API credentials must have permissions to:
- Create and update projects
- Create and update line items within projects
- Authenticate via the token endpoint
Authentication
Dynata uses API Credentials authentication (client ID, username, and password).
- Contact your Dynata account manager to obtain your API credentials
- You will receive a Client ID, Username, and Password
- In Zeotap, select Dynata as your destination
- Enter your Client ID in the Client ID field
- Enter your Username in the Username field
- Enter your Password in the Password field
- Click Test Connection to verify your credentials
Zeotap automatically obtains and refreshes JWT access tokens using your credentials. Tokens are cached and renewed before expiry.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| API Base URL | Text | No | The Dynata API base URL. Defaults to https://api.researchnow.com. Use a different URL for sandbox or test environments. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Object Type | Select | Yes | The type of data to sync: Projects or Line Items. |
| Project ID | Text | Conditional | The Dynata project ID. Required when syncing line items. Found in the Dynata dashboard or returned when creating a project. |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | Yes |
| Update | Yes |
| Mirror | — |
Audience Sync Modes
Dynata does not support audience/segment membership operations. Use standard sync modes to manage projects and line items.
Features
- Field Mapping: Yes
- Schema Introspection: No
Default Destination Fields
| Field | Type | Description |
|---|---|---|
title | string | The project or line item title |
country_language | string | Target country and language (e.g., en-US) |
survey_url | string | The survey redirect URL |
survey_length | number | Estimated survey length in minutes |
incidence_rate | number | Expected incidence rate as a percentage |
completes_wanted | number | Target number of completed surveys |
How It Works
- Zeotap reads rows from your model or audience
- Zeotap authenticates with the Dynata Demand API using your credentials to obtain a JWT access token (tokens are cached and reused across rows)
- Based on the selected Object Type:
- Projects: Rows are sent to
POST /sample/v1/projects(insert) orPOST /sample/v1/projects/{id}(update/upsert) - Line Items: Rows are sent to
POST /sample/v1/projects/{projectId}/lineItems(insert) orPOST /sample/v1/projects/{projectId}/lineItems/{lineItemId}(update/upsert)
- Projects: Rows are sent to
- For Upsert mode, if a row contains an
idfield, it is treated as an update; otherwise it is treated as an insert - Rows are processed individually since the Dynata API does not support batch operations
- Access tokens are cached and automatically refreshed before expiry
Rate Limits
The Dynata Demand API does not publish specific rate limits. Zeotap sends requests sequentially and includes automatic retry with exponential backoff for transient errors (HTTP 429 and 5xx responses). If you experience persistent rate-limit errors, consider reducing sync frequency.
Best Practices
- Start with the Dynata test environment (sandbox) to validate your configuration before syncing to production
- Use Upsert mode to avoid duplicate projects — include the Dynata project
idin your data to update existing records - For line-item syncs, ensure the parent project exists and note its project ID before configuring the sync
- Map only the fields your Dynata setup requires to minimize API payload size
- Schedule syncs during off-peak hours to reduce the impact of sequential API calls on sync duration
- Store Dynata project IDs returned from insert operations to enable future update syncs
Troubleshooting
Authentication failed
Verify your client ID, username, and password are correct. Credentials are provided by your Dynata account manager. If you recently changed your password, update the credentials in Zeotap. Ensure you are using the correct API base URL for your environment (production vs. sandbox).
Project not found
When using Update or Upsert mode, ensure the id field in your data matches an existing Dynata project ID. Project IDs are numeric and returned when a project is created. You can find project IDs in the Dynata dashboard.
Line item sync fails with missing project ID
The Project ID target setting is required when syncing line items. Navigate to your destination settings and enter a valid project ID. The project must exist in Dynata before line items can be synced to it.
Row missing id field for update
When using Update sync mode, every row must include an id field that maps to the Dynata project or line item ID. If your source data does not include IDs, use Insert mode instead or switch to Upsert mode which creates new records when no ID is present.
Connection timeout
The Dynata API may experience intermittent latency. Zeotap uses a 120-second timeout per request and retries failed requests up to 3 times with exponential backoff. If timeouts persist, check the Dynata status page or contact Dynata support.
Unexpected field validation errors
Dynata validates request payloads against its API schema. Ensure your mapped fields match the expected Dynata field names and types. Common issues include missing required fields like title or countryLanguageID, or providing string values where numbers are expected. Refer to the Dynata Demand API documentation for the full field specification.