[Limited Availability]{class="badge informative"}

Create custom channel experiences create-custom-channel

AVAILABILITY
This capability is available in Limited Availability. Contact your Adobe representative to gain access.

In Journey Optimizer, you can deliver messages using custom channels in campaigns, journeys, and orchestrated campaigns. Follow the steps below to set up your custom channel experience.

NOTE
Before creating a custom channel experience, ensure that a custom channel has been configured by your administrator. Learn more

Add a custom action through a journey or a campaign create-custom-channel-experience

Add a custom channel to a journey

Custom channels appear in the Actions section of the journey canvas palette, listed by their display name and custom icon as defined in the Channel Builder.

To add a custom channel action to a journey:

  1. Create a journey.

  2. Start your journey with an Event or a Read Audience activity.

  3. Drag and drop an Action activity from the Actions section of the palette. Learn more about the Action activity.

  4. In the Action drop-down, select the custom channel you want to use. Custom channels are listed by the name and icon assigned in the Channel Builder.

    {width="80%"}

  5. Add a label to your action, click Configure action in the right panel, and select the Channel configuration to use. Learn how to create a custom channel configuration

  6. In the Message section, click Edit content to open the payload editor and author your message. Learn how to author content

  7. Complete your journey flow by adding additional steps as needed, then publish the journey. Learn more

Create a custom channel campaign

To use a custom channel in a campaign:

  1. Create a campaign.

  2. Select the campaign type:

    • Scheduled - Marketing – Executed immediately or on a specified date. Designed for marketing messages, configured from the UI.
    • API-triggered - Marketing/Transactional – Executed via an API call. Designed for event-triggered messaging (for example, order confirmations or password resets). Learn more
  3. Complete the campaign setup: campaign properties, audience, and schedule.

  4. In the Actions section, select the custom channel from the channel selector. All the custom channels configured on your sandbox appear alongside native channels.

    {width="80%"}

  5. Select or create the Channel configuration to use. Learn how to create a channel configuration

  6. Optionally, enable Action tracking to automatically track links included in your message payload (requires a subdomain configured for custom channels). Learn how to delegate a subdomain for custom channels

  7. In the Optimization section, you can:

    • Create targeting rules to send different messages to different segments of your audience. Learn more
    • Click Create experiment to run A/B tests on your custom channel messages. Learn more
  8. Click Edit content to open the payload editor and author your message. Learn how to author content

  9. Review and activate the campaign. Learn more

Author your custom channel content author-content

The content editor reflects the payload structure you defined when configuring the custom channel. Click Edit code to open the payload editor and enter your message content.

{width="80%"}

The fields you can author and personalize are displayed. You can leverage the Journey Optimizer personalization editor with all its personalization and authoring capabilities. Learn more

NOTE
Only JSON payloads are supported. If your custom channel payload is not JSON, you can use a JSON wrapper to encapsulate your content. For example, if your payload is XML, you can wrap it in a JSON object like this:
code language-json
{
     "payload": "<xml>...</xml>"
    }

Personalize the payload personalize

Journey Optimizer’s full personalization capabilities are available in the payload editor:

  • Profile attributes – Inject any XDM profile attribute, such as {{profile.person.name.firstName}} or a custom identity like a messaging platform user ID stored in a custom namespace.
  • Contextual attributes – Use journey event attributes or campaign contextual data resolved at send time.
  • Helper functions – Format values using built-in string, date, or arithmetic functions. Learn more
  • Expression fragments – Reuse shared personalization logic across multiple channels and campaigns. Learn more
CAUTION
Currently there is no validation of the payload at authoring time. You can use the Simulate content feature to validate that your payload is well-formed JSON and that all personalization expressions resolve correctly for your test profiles. Learn more

Example payload example-payload

The following example shows a JSON payload with profile personalization for a custom messaging channel:

{
  "recipient_id": "{{profile.mobilePhone.number}}",
  "message_text": "Hello {{profile.person.name.firstName}}, your order {{context.journey.events.0.commerce.order.purchaseID}} has been confirmed.",
  "channel": "my-custom-channel",
  "image": {
    "id": "{{profile.preferences.imageId | default('default-image-001')}}"
  }
}

To include a tracked link in your custom channel payload—so that clicks are automatically tracked and visible in the channel’s reporting dashboards—wrap the URL using the following handlebar syntax:

{{url trackedUrl='' originalUrl='https://example.com/' type='TRACKED'}}
  • originalUrl – The destination URL you want to redirect the recipient to.
  • trackedUrl – Leave this empty; Journey Optimizer automatically populates it with the tracking-enabled redirect URL at send time.
  • type – Must be set to TRACKED.
NOTE
Link tracking requires a subdomain configured for custom channels. Learn how to delegate a subdomain for custom channels

Example – tracked link in a LINE payload:

{
  "to": "{{profile.mobilePhone.number}}",
  "messages": [
    {
      "type": "text",
      "text": "Hello! Check out our latest offer: {{url trackedUrl='' originalUrl='https://example.com/' type='TRACKED'}}"
    }
  ]
}

Activate your custom channel experience activate

IMPORTANT
Preview and test your custom channel payload before activating. Learn how
If your campaign or journey is subject to an approval policy, you must request approval before activation. Learn more
  • From a journey – Click Publish in the top-right area. The journey goes live and starts calling your external endpoint for qualifying profiles.
  • From a campaign – Click Review to activate, review your settings, then click Activate. The campaign takes the Live status (or Scheduled if a future start date was defined).
recommendation-more-help
journey-optimizer-help