Adobe Journey Optimizer push messaging

Learn how to create push messages for mobile apps with Platform Mobile SDK and Adobe Journey Optimizer.

Journey Optimizer allows you to create your journeys and send messages to targeted audiences. Before you send push notifications with Journey Optimizer, you must ensure that the proper configurations and integrations are in place. To understand the Push Notifications data flow in Adobe Journey Optimizer, please refer to the documentation.


This lesson is optional and only applies to Adobe Journey Optimizer users looking to send push messages.


  • Successfully built and run app with SDKs installed and configured.
  • Access to Adobe Journey Optimizer and sufficient permissions as described here. Also you need sufficient permissions to the following Adobe Journey Optimizer features.
    • Create an app surface.
    • Create a journey
    • Create a message.
    • Create message presets.
  • Paid Apple developer account with sufficient access to create certificates, identifiers, and keys.
  • Physical iOS device for testing.

Learning objectives

In this lesson, you will:

  • Register App ID with Apple Push Notification service (APN).
  • Create an App Surface in AJO.
  • Update your schema to include push messaging fields.
  • Install & configure the Adobe Journey Optimizer tag extension.
  • Update your app to include the AJO tag extension.
  • Validate setup in Assurance.
  • Send a test message.

Register App ID with APN

The following steps are not Adobe Experience Cloud-specific and are designed to guide you through APN configuration.

Create a .p8 private key

  1. In the Apple developer portal, navigate to Keys.

  2. Select the + icon to create a key.
    create new key

  3. Provide a Key Name.

  4. Select the APN checkbox.

  5. Select Continue.
    configure new key

  6. Review configuration and select Register.

  7. Download the .p8 private key. It is used in the App Surface configuration.

  8. Make note of the Key ID. It is used in the App Surface configuration.

Additional documentation can be found here.

Retrieve your Apple developer Team ID

  1. In the Apple developer portal, navigate to Membership.
  2. Your Team ID is listed alongside your other membership information. It is used in the App Surface configuration.

Add your app push credentials in Data Collection

  1. From the Data Collection interface, select the App Surfaces tab in the left-hand panel.
  2. Select Create App Surfaces to create a configuration.
    app surface home
  3. Enter a Name for the configuration, for example Luma App Tutorial .
  4. From Mobile Application Configuration, select Apple iOS.
  5. Enter the mobile app Bundle Id in the App ID (iOS Bundle ID) field. If you are following along with the Luma app that value is com.adobe.luma.tutorial.
  6. Switch on the Push Credentials button to add your credentials.
  7. Drag and drop your .p8 Apple Push Notification Authentication Key file.
  8. Provide the Key ID, a 10-character string assigned during the creation of p8 auth key. It can be found under Keys tab in Certificates, Identifiers and Profiles page.
  9. Provide the Team ID. This is a string value which can be found under the Membership tab.
  10. Select Save.
    app surface configuration

Install Adobe Journey Optimizer tags extension

  1. Navigate to Tags > Extensions > Catalog, and find the Adobe Journey Optimizer extension.
  2. Install the extension.
    install ajo extension
  3. Select CJM Push Tracking Experience Event Dataset the Adobe Experience Platform dataset.
    AJO extension settings
  4. Select Save to Library and Build.

If you don’t see “CJM Push Tracking Experience Event Dataset” as an option, please contact customer care.

Implement the Adobe Journey Optimizer in the app

As discussed in previous lessons, installing a mobile tag extension only provides the configuration. Next you must install and register the messaging SDK. If these steps aren’t clear, please review the Install SDKs section.


If you completed the Install SDKs section, then the SDK is already installed and you can skip to step #7.

  1. Open your Podfile and add the following line and save the file.

    pod 'AEPMessaging', '~>1'

  2. Open your terminal and navigate to the folder containing your Podfile.

  3. Install the SDK by executing the command pod install.
    validate consent

  4. Open XCode and navigate to AppDelegate.swift.

  5. Add the following to your list of imports.

    import AEPMessaging

  6. Add Messaging.self to the array of extensions that you are registering.

  7. Add the following function to the file.

    func application(_: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

    This function retrieves the device token unique to the device that the app is installed on and send to Adobe/Apple for push message delivery.

Validate by sending a test push message

  1. Review the setup instructions section.
  2. Install the app on your physical device.
  3. Launch the app using the Assurance generated URL.
  4. Send the app to the background.
  5. In the Assurance UI, select Configure.
    configure click
  6. Select the + button next to Push Debug.
  7. Select Save.
  8. Select Push Debug from the left navigation.
  9. Select your device from the Client list.
  10. Confirm that you aren’t getting any errors.
  11. Scroll down and select Send Test Push Notification.
  12. Confirm that you don’t receive and errors and that you receive the message on your device.
    send test push

Next: Conclusion and next steps


Thank you for investing your time in learning about Adobe Experience Platform Mobile SDK. If you have questions, want to share general feedback, or have suggestions on future content, please share them on this Experience League Community discussion post

On this page