Adobe Campaign
Sync customer profiles and trigger transactional messages in Adobe Campaign Standard. SignalSmith creates and updates CRM profiles via the Campaign REST API and fires triggered transactional messages for real-time communications like order confirmations, password resets, and welcome emails.
Prerequisites
- An Adobe Campaign Standard instance with API access enabled
- An Adobe Developer Console project with Server-to-Server OAuth credentials
- The Campaign Standard API added to your Developer Console project with
campaign_readandcampaign_writescopes
Authentication
Adobe Campaign Standard uses OAuth 2.0 Server-to-Server (client credentials) authentication.
- Go to the Adobe Developer Console
- Create a new project (or use an existing one)
- Click Add API and select Adobe Campaign Standard API
- Choose OAuth Server-to-Server as the credential type
- Ensure the credential includes the following scopes:
campaign_read— read access to profiles, services, and transactional message configurationscampaign_write— write access to create and update profiles and trigger messages
- Copy the Client ID and Client Secret
- Enter them in SignalSmith when creating the destination
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Organization Slug | Text | Yes | Your IMS organization slug used in the Campaign API URL. This is the organization identifier portion of your Campaign API endpoint (e.g., mycompany in https://mc.adobe.io/mycompany/campaign/). |
| API Gateway | Text | Yes | The Campaign API gateway URL. Default: https://mc.adobe.io. Typically does not need to be changed. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Object Type | Select | Yes | The type of Campaign object to sync to: Profile (CRM profile records) or Triggered Send (transactional messages). |
| Transactional API Name | Text | Conditional | The API name of the transactional message template (required for Triggered Send). Found in Campaign > Transactional Messages > Event configuration. |
| Event ID | Text | Conditional | The event type identifier that triggers the transactional message (required for Triggered Send). Found in the transactional message event configuration. |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | Yes |
| Update | Yes |
| Mirror | — |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | Yes |
| Remove | Yes |
| Mirror | Yes |
| Upsert | Yes |
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
| Object Type | Required Fields |
|---|---|
| Profile | email (primary key for profile lookup and deduplication) |
| Triggered Send | email (recipient address for message delivery) |
Default Destination Fields
Profile
email, firstName, lastName, phone, mobilePhone, company, title, address.city, address.stateCode, address.zipCode, address.countryCode, birthDate, gender, optIn
Triggered Send
email, firstName, lastName, subject, eventData (JSON payload passed to the transactional message template)
Note: Triggered Send fields depend on the parameters defined in your transactional message event configuration. The default fields above represent common parameters — your template may require additional or different fields.
How It Works
Profile Mode
SignalSmith creates and updates CRM profiles in Adobe Campaign Standard using the Profile REST API:
- For each record, SignalSmith sends a
POSTrequest to the Campaign Profiles API endpoint - If a profile with the same email already exists, Campaign returns a conflict response
- SignalSmith automatically performs a lookup by email and issues a
PATCHrequest to update the existing profile - New profiles are created immediately; existing profiles are updated with the mapped field values
- Profile changes are reflected in Campaign audiences and segmentation in real time
Triggered Send Mode
SignalSmith fires transactional messages for each record in the sync:
- For each row, SignalSmith sends a
POSTrequest to the Transactional Messages API - The request includes the recipient email, event parameters, and any custom data mapped from your model
- Campaign processes the event and delivers the message (email, SMS, or push) according to the transactional message template configuration
- Delivery status is tracked within Adobe Campaign
Important: The transactional message template must be published and active in Campaign before triggering. Ensure the Event ID and Transactional API Name match the published configuration.
Rate Limits
- API throughput: ~25 requests per second across all Campaign Standard API endpoints
- Profile operations: Each profile create or update consumes one API call; upserts may require two calls (POST + PATCH on conflict)
- SignalSmith handles rate limiting and automatic retries with exponential backoff
Troubleshooting
Authentication failed
Verify your Client ID and Client Secret in the Adobe Developer Console. Ensure the OAuth Server-to-Server credential is active, and that the Campaign Standard API is added to your project with both campaign_read and campaign_write scopes.
Permission denied
The authenticated credential must have the necessary access rights within Campaign. Verify the product profile assigned in the Developer Console includes Campaign Standard permissions. Contact your Adobe administrator to confirm API access is enabled for your organization.
Profile conflict on create
When a profile with the same email already exists, SignalSmith automatically falls back to an update (PATCH). If you see persistent conflict errors, check for duplicate profiles in Campaign with the same email address. De-duplicate within Campaign or use the Update sync mode instead of Insert.
Transactional message not sending
- Verify the transactional message template is published and active in Campaign
- Confirm the Transactional API Name and Event ID match the published event configuration exactly (case-sensitive)
- Check that the required event parameters are mapped — missing required fields cause silent failures
- Review delivery logs in Campaign > Transactional Messages > Deliveries for error details
Organization slug incorrect
The Organization Slug must match the identifier used in your Campaign API URL. If you receive 404 errors, verify the slug by checking your Campaign instance URL or contacting your Adobe administrator. The slug is typically your organization’s IMS identifier without the @AdobeOrg suffix.