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
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.
- 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, Insert, or All mode.Write method
Under How should Hightouch write recipients to Adobe Campaign?, select how the sync delivers data:
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.
- 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
_keyand_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 and All modes, Adobe Campaign automatically generates an
identifier for every new record synced, so there is no need to match an
existing record.
In All mode, every sync run inserts a new recipient for every row in your
model, including rows that were synced before. Existing recipients are never
updated or removed. Use this mode when Adobe Campaign should receive a fresh
record on every run, for example to trigger a campaign on the record’s
creation date.
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:Custom Resources
Custom Resources syncing must be enabled by Hightouch. to turn it on.
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.In Insert and All modes, Adobe Campaign generates the identifier for
every new record, so there is no need to match an existing record. In All
mode, every sync run inserts a new record for every row in your model,
including rows that were synced before; existing records are never updated or
removed.
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
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
To see the exact API requests and responses from each sync run, use the live debugger. To get notified by Slack, PagerDuty, SMS, or email when a sync fails, set up sync alerts. If you run into an issue this page doesn’t cover, .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:recipientStgstaging 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.