Skip to Content

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).

  1. Contact your Dynata account manager to obtain your API credentials
  2. You will receive a Client ID, Username, and Password
  3. In Zeotap, select Dynata as your destination
  4. Enter your Client ID in the Client ID field
  5. Enter your Username in the Username field
  6. Enter your Password in the Password field
  7. 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

FieldTypeRequiredDescription
API Base URLTextNoThe Dynata API base URL. Defaults to https://api.researchnow.com. Use a different URL for sandbox or test environments.

Target Settings

FieldTypeRequiredDescription
Object TypeSelectYesThe type of data to sync: Projects or Line Items.
Project IDTextConditionalThe Dynata project ID. Required when syncing line items. Found in the Dynata dashboard or returned when creating a project.

Supported Operations

Sync Modes

ModeSupported
UpsertYes
InsertYes
UpdateYes
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

FieldTypeDescription
titlestringThe project or line item title
country_languagestringTarget country and language (e.g., en-US)
survey_urlstringThe survey redirect URL
survey_lengthnumberEstimated survey length in minutes
incidence_ratenumberExpected incidence rate as a percentage
completes_wantednumberTarget number of completed surveys

How It Works

  1. Zeotap reads rows from your model or audience
  2. Zeotap authenticates with the Dynata Demand API using your credentials to obtain a JWT access token (tokens are cached and reused across rows)
  3. Based on the selected Object Type:
    • Projects: Rows are sent to POST /sample/v1/projects (insert) or POST /sample/v1/projects/{id} (update/upsert)
    • Line Items: Rows are sent to POST /sample/v1/projects/{projectId}/lineItems (insert) or POST /sample/v1/projects/{projectId}/lineItems/{lineItemId} (update/upsert)
  4. For Upsert mode, if a row contains an id field, it is treated as an update; otherwise it is treated as an insert
  5. Rows are processed individually since the Dynata API does not support batch operations
  6. 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 id in 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.

Last updated on