Skip to content
ChangelogBook a demoSign up

Adobe Campaign Classic

Adobe Campaign pulls together cross-channel customer data into a single view and then puts it to work to create personalized cross-channel campaigns that meet customers where they’re at.

Overview

Use the Adobe Campaign Classic destination to sync recipients and custom resources to Adobe Campaign. The destination supports both Campaign Classic v7 and Campaign v8:

  • Campaign Classic v7 — Recipient syncs write directly to the Campaign database over the SOAP API.
  • Campaign v8 — Direct writes work unchanged. You can also opt each recipients sync into staging table writes, the ingestion path Adobe recommends for Campaign v8's cloud database. Campaign v8 also requires an API key on API calls.

Supported syncing

Sync typeDescriptionSupported sync modesAPI reference
RecipientsSync data from any source to Adobe Campaign recipientsUpsert, Update, InsertWrite recipient data ↗
Custom ResourcesSync data from any source to custom resources in Adobe CampaignUpsert, Update, InsertInteract with custom resources ↗

For more information about sync modes, refer to the sync modes docs.

Connect to Adobe Campaign Classic

Hightouch authenticates to Adobe Campaign with OAuth server-to-server credentials. In Adobe Developer Console, create or open a project that includes the Adobe Campaign API with OAuth server-to-server authentication, and copy the credential's values.

Go to the Destinations overview page and click the Add destination button. Select Adobe Campaign Classic and click Continue. Enter the following fields into Hightouch:

  • Server URL — Your Campaign instance's hostname, without https://. For example, myinstance.campaign.adobe.com.
  • Client ID — The client ID from your Developer Console credential.
  • Client secret — The client secret from your Developer Console credential.

Under Additional configuration, two more fields apply to Campaign v8 and custom resources:

  • Organization ID — Your Adobe organization ID. Required to sync custom resources.
  • API Key — Required for Adobe Campaign v8 and for syncing custom resources. For Adobe Developer Console integrations, this is the same value as your client ID. Syncs that write through staging tables automatically use your client ID when you leave this field blank.

Sync configuration

Once you've set up your Adobe Campaign Classic destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the Adobe Campaign Classic destination you want to sync to.

Recipients

Sync data from any source to Adobe Campaign recipients in Upsert, Update, or Insert mode.

Write method

Under How should Hightouch write recipients to Adobe Campaign?, select how the sync delivers data:

Write methodUse when
Direct writesYour instance runs Campaign Classic v7. This is the default.
Staging tables (Campaign v8)Your instance runs Campaign v8, especially for high-volume syncs.

Direct writes send recipients straight to the Campaign database over the SOAP API. They work on both v7 and v8. On Campaign v8's Enterprise (FFDA) architecture, however, Adobe recommends routing API writes through the staging mechanism ↗ to reduce load on the cloud database.

Staging tables write recipients to your instance's recipient staging table (nms:recipientStg) using Campaign v8's Ingest APIs. An Adobe-managed workflow in your instance then syncs staged rows to the Campaign database, about once per hour.

A staging table sync reports rows as successful once Adobe accepts them into the staging table. The recipients appear in Campaign after Adobe's staging workflow next runs, so expect up to an hour of delay between a successful sync and visible changes in the recipient table.

Staging table writes have a few limitations:

  • Group membership mappings aren't supported. Hightouch rejects rows in syncs that map the group fields (Group relation table key, Group name, Group label, or Group folder ID). To manage group membership, use direct writes.
  • Field names can't start with an underscore. Adobe Campaign reserves underscore-prefixed names, like _key and _operation, for its own ingestion directives, so Hightouch rejects rows in syncs that map them.
  • Update mode may insert unmatched rows. Campaign v8's ingestion API updates or inserts by key, so rows that don't match an existing recipient may be created as new recipients instead of skipped.

Record matching

In Upsert and Update modes, you can match rows from your model to recipients in Adobe Campaign on any column in your model and any field in Adobe Campaign. Hightouch uses the field you select as the recipients' _key. Ensure the data types of the model column and Adobe Campaign field you select match. Refer to the record matching docs for more information.

In Insert mode, Adobe Campaign automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mappings

You can map data from any of your model columns to any recipient attribute via field mapping. Beyond recipient attributes, you can also map to these built-in fields:

  • Recipient folder ID — The folder the recipient is filed under.
  • Group relation table key, Group name, Group label, Group folder ID — The recipient's group membership. Group mappings require the direct writes method.

Delete behavior

The delete behavior you select dictates what to do when a row no longer appears in your model's query results. The available options depend on your sync mode:

BehaviorAvailable inDescription
Do nothingAll modesKeep the recipient in Adobe Campaign with all its synced fields.
ClearUpdateClear all the mapped fields, but keep the recipient in Adobe Campaign.
Remove user from groupUpsertClear only the group label, keeping the recipient's other mapped fields.
DeleteUpsertDelete the synced recipients from Adobe Campaign.

Custom Resources

Custom Resources syncing must be enabled by Hightouch. to turn it on.

Sync data from any source to a custom resource in your Adobe Campaign instance in Upsert, Update, or Insert mode.

Custom Resources syncs use Campaign's REST API rather than the SOAP API, so they require the Organization ID and API Key fields in your destination configuration. Only custom resources linked to the profile table are available through the REST API.

Under Which custom resource would you like to sync data to?, select a custom resource from your Adobe Campaign instance.

Record matching

In Upsert and Update modes, you can match rows from your model to records on any field of the selected custom resource. Refer to the record matching docs for more information.

Field mappings

You can map data from any of your model columns to the selected resource's fields via field mapping. Hightouch loads the available fields from your custom resource's definition.

Delete behavior

BehaviorAvailable inDescription
Do nothingAll modesKeep the record with all its synced fields.
ClearUpdate, UpsertClear the mapped fields, but keep the record.
DeleteUpsertDelete the synced records from the custom resource.

Parallel requests

By default, Hightouch sends 10 requests in parallel. Higher values can speed up your sync, but Adobe doesn't document rate limits for this endpoint, so increasing the value may result in throttling.

Tips and troubleshooting

For Hightouch platform error codes related to Adobe Campaign Classic, see Error codes: Other destinations.

Validate your setup

After your first sync completes, verify the results in Adobe Campaign:

  • With Direct writes, synced recipients appear in the recipient table as soon as the sync run completes.
  • With Staging tables (Campaign v8), synced rows land in the nms:recipientStg staging table first. Adobe's staging workflow syncs them to the Campaign database about once per hour. If recipients still haven't appeared after that, check the staging workflow's status in your Campaign instance.

Common errors

To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service