Adobe Campaign
Adobe Campaign (now part of Adobe Journey Optimizer) is an enterprise cross-channel marketing platform for email, SMS, and push notifications at scale. Advanced Form Integration creates profiles in Adobe Campaign from your WordPress form submissions, so every sign-up, registration, or lead capture lands directly in your marketing database.
What you’ll need
- An active Adobe Campaign Standard or Adobe Journey Optimizer instance.
- An Adobe I/O project with an OAuth Server-to-Server credential for the Campaign Standard API (see below).
- The Advanced Form Integration plugin installed and activated.
Set up the Adobe I/O credential
Adobe Campaign authenticates API requests using OAuth2 Server-to-Server (client credentials flow). AFI handles the token exchange automatically, so you do not need to manually generate or refresh tokens.
- Go to the Adobe Developer Console and create or reuse a project.
- Add an OAuth Server-to-Server credential with the Adobe Campaign Standard API. The required scope (
ent_campaign_sdk) is added automatically by Adobe. - Copy the Client ID (API Key) and Client Secret from the credential page.
- Note your tenant slug (the part after
https://mc.adobe.io/, e.g.mytenant) and your IMS Organization ID. - In WordPress, go to AFI → Settings → Adobe Campaign / Journey Optimizer.
- Click Add New Account and fill in the fields below.
- Click Save.
Credential fields
| Field | Key | Required | Notes |
|---|---|---|---|
| Tenant (mc.adobe.io slug) | tenantSlug |
Yes | Your tenant identifier, e.g. mytenant |
| IMS Organization ID | organizationId |
Yes | Found in Adobe Admin Console |
| Sandbox Name | sandboxName |
No | Leave blank for the default production sandbox |
| Client ID (API Key) | clientId |
Yes | From the Adobe I/O credential |
| Client Secret | clientSecret |
Yes | Masked after saving |
| IMS Token Endpoint | imsEndpoint |
No | Defaults to https://ims-na1.adobelogin.com/ims/token/v3 |
Create the integration
- Go to AFI → Add New.
- Give the integration a name, for example
Lead form to Adobe Campaign. - Under Trigger, pick the form plugin and the specific form you want to listen on.
- Under Action → Platform, select Adobe Campaign / Journey Optimizer.
- In Task, choose Create Profile (Basic).
- Pick the saved account in the Adobe Credentials dropdown.
- Map your form fields onto the profile fields listed below.
- Optional: open Conditional Logic to limit which submissions are sent.
- Click Save Integration.
Tasks supported
Create Profile (Basic)
Creates a new profile in Adobe Campaign via POST /campaign/profileAndServices/profile. The request body is flat (email, firstName, etc. at the top level, not wrapped in a profile object). The profile appears in your Campaign database immediately. If a profile with the same email already exists, Adobe Campaign may reject the duplicate depending on your instance configuration.
| Field | Field key | Required | Notes |
|---|---|---|---|
| Email Address | email |
Yes | Profile email |
| First Name | firstName |
No | |
| Last Name | lastName |
No | |
| Preferred Language | preferredLanguage |
No | |
| Country | country |
No |
Pro features
The Pro integration extends the free version with two additional tasks: Upsert Profile and Start Campaign Workflow. Pro uses the same Adobe I/O credential connection, so your existing settings work without changes.
Upsert Profile
Updates an existing profile if you provide a Profile ID (via PATCH /campaign/profileAndServices/profile/{id}), or creates a new one if no ID is given (via POST). Includes a Custom Fields (JSON) field to merge additional profile attributes without needing individual field mappings.
Start Campaign Workflow
Triggers a workflow by ID via POST /campaign/workflow/execution/{workflowId}/commands with method: start. Pass a Workflow Parameters (JSON) object to inject variables and filtering rules into the workflow execution.
Feature comparison
| Feature | Free | Pro |
|---|---|---|
| Create profile | ✅ | ✅ |
| Standard fields (email, name, language, country) | ✅ | ✅ |
| Upsert (update by profile ID) | No | ✅ |
| Custom fields via JSON | No | ✅ |
| Start workflow | No | ✅ |
Conditional logic example
Only create profiles for leads in your active marketing region. Add a condition: Country is United States. Out-of-region submissions are skipped to keep your sendable audience clean.
Troubleshooting
Nothing arrives in Adobe Campaign
Open AFI → Log and find the most recent entry for this integration. AFI stores the request it sent and the raw response it got back, including the Adobe IMS token exchange. If the token request fails, the error shows up here first.
Authentication failed
AFI exchanges your Client ID and Client Secret for an access token via the Adobe IMS endpoint (grant_type: client_credentials, scope: ent_campaign_sdk). If authentication fails, verify that the Client ID and Client Secret are correct, and that the OAuth Server-to-Server credential in the Adobe Developer Console includes the Campaign Standard API. The access token is cached as a transient and refreshed automatically before expiry.
404 or “no such tenant”
The tenant slug determines the API base URL (https://mc.adobe.io/{tenant}). Verify the slug matches what appears in your Adobe Campaign instance URL. The slug is case-sensitive and must not include the mc.adobe.io/ prefix.
Profile not created but no error
If email is empty after parsing the form fields, AFI skips the request entirely. Make sure the email field is mapped and the form actually submits a non-empty value.