Skip to Content

Acoustic

Sync contacts to Acoustic Campaign (formerly IBM Watson Campaign Automation / Silverpop) for enterprise email marketing and marketing automation. Zeotap keeps your Acoustic databases and contact lists in sync with your warehouse data, enabling personalized campaigns with up-to-date customer attributes.

Prerequisites

  • An Acoustic Campaign account with API access enabled
  • OAuth credentials (Client ID, Client Secret, and Refresh Token) from Acoustic Organization Admin
  • The numeric ID of the Acoustic database (list) you want to sync to
  • Knowledge of your Acoustic pod (datacenter region)

Authentication

Acoustic uses OAuth 2.0 with a refresh token grant type.

  1. Log into Acoustic Campaign and navigate to Settings > Organization Settings
  2. Under Application Account Access, create a new application or use an existing one
  3. Copy your Client ID and Client Secret
  4. Generate a Refresh Token for your application
  5. In Zeotap, select OAuth Client Credentials as the auth method
  6. Paste your Client ID, Client Secret, and Refresh Token into the corresponding fields

Access tokens are automatically refreshed every 4 hours. You do not need to manage token rotation manually.

Configuration

FieldTypeRequiredDescription
PodSelectYesYour Acoustic API pod (datacenter region). Determines the API base URL. Options include US Pods 1-6, EU Pod 1, AP Pods 2-3, and CA Pod 1.

To determine your pod, check the URL you use to log into Acoustic Campaign. For example, if you log in at https://api-campaign-us-1.goacoustic.com, your pod is US Pod 1.

Target Settings

FieldTypeRequiredDescription
Database (List) IDTextYesThe numeric ID of the Acoustic Campaign database to sync contacts to.
Contact List IDTextNoOptional contact list ID for audience membership management. Required for audience syncs.

To find your Database ID, navigate to Data > Databases in Acoustic Campaign. Click on the database name and check the URL or properties panel for the numeric ID.

Supported Operations

Sync Modes

ModeSupported
UpsertYes
InsertYes
UpdateYes

Audience Sync Modes

ModeSupported
AddYes
RemoveYes
MirrorYes
UpsertYes

Features

  • Field Mapping: Yes
  • Schema Introspection: No

Required Mapping Fields

FieldDescription
EMAILContact email address (primary identifier in Acoustic)

Default Destination Fields

EMAIL, First Name, Last Name, Phone, Company

These fields correspond to standard Acoustic Campaign database columns. You can map additional custom fields defined in your Acoustic database.

How It Works

Contact Sync (Upsert Mode)

  1. Zeotap sends each contact to the Acoustic AddRecipient XML API endpoint
  2. The UPDATE_IF_FOUND flag is set to true, so existing contacts are updated and new contacts are created
  3. Contacts are identified by their EMAIL sync field
  4. If a Contact List ID is configured, contacts are automatically subscribed to that list

Insert Mode

Contacts are added via the AddRecipient API with UPDATE_IF_FOUND set to false. If a contact with the same email already exists, Acoustic returns an error for that row.

Update Mode

Existing contacts are updated via the UpdateRecipient API. Contacts are matched by the EMAIL sync field. If a contact does not exist, Acoustic returns an error.

Audience Sync (Add/Remove/Mirror)

  • Add: Contacts are added to the database and subscribed to the configured contact list via AddRecipient with UPDATE_IF_FOUND set to true
  • Remove: Contacts are removed from the database via RemoveRecipient
  • Mirror: Added/changed contacts are upserted; removed contacts are deleted from the database

API Format

Acoustic Campaign uses an XML-based API. Zeotap automatically constructs the XML envelope for each contact operation. Each contact is synced individually (Acoustic does not support batch upsert in a single request).

Rate Limits

ResourceLimit
Concurrent API requests10 per organization
Access token validity4 hours
Token refresh windowAfter 3 hours

Zeotap automatically manages OAuth token refresh and retries on transient errors with exponential backoff.

Best Practices

  • Use upsert mode for most contact syncs to handle both new and existing contacts seamlessly
  • Configure a Contact List ID for audience syncs to manage list membership automatically
  • Map the EMAIL field as the primary identifier — this is required for all sync operations
  • Select the correct pod to ensure API calls reach the right datacenter
  • Keep sync frequency reasonable — Acoustic limits concurrent API requests to 10 per organization across all applications
  • Use standard column names that match your Acoustic database schema to avoid data loss

Troubleshooting

Authentication failed: invalid client credentials or refresh token

Verify your Client ID, Client Secret, and Refresh Token in Acoustic Organization Admin settings. Refresh tokens do not expire but can be revoked if a new one is generated. Ensure you are using the latest credentials.

Pod not found or connection refused

Verify you selected the correct pod in the configuration. Check the URL you use to access Acoustic Campaign (e.g., api-campaign-us-1.goacoustic.com) and match it to the pod dropdown.

Contact not found (update mode)

The update sync mode requires that contacts already exist in the Acoustic database. If you are syncing new contacts, use upsert mode instead.

Missing EMAIL field

The EMAIL field is required for all sync operations. Ensure your field mapping includes a column mapped to EMAIL. Acoustic uses email as the primary contact identifier.

Database (List) ID not found

Verify the Database ID exists by navigating to Data > Databases in Acoustic Campaign. The ID is a numeric value displayed in the database properties.

Contact list subscription failed

If contacts are not appearing in the expected contact list, verify the Contact List ID is correct and that the list exists within the specified database. Contact lists must belong to the same database.

Rate limit exceeded

Acoustic allows only 10 concurrent API requests per organization. If you see throttling errors, reduce sync frequency or stagger multiple syncs. Zeotap automatically retries on transient failures.

XML parse error in response

This typically indicates a network issue or Acoustic service disruption. Check the Acoustic Status Page  for ongoing incidents. Zeotap automatically retries transient errors.

Last updated on