Show Menu

Creating and updating profile information based on mobile application data


This page describes the steps to develop a workflow which creates/updates profile data after a Mobile Application sends Collect PII data, on a scheduled basis.
  • PII
    stands for “Personally Identifiable Information”. It can be any data, including information that does not appear in the Profile table from your Campaign database like, for example, Analytics for Mobile Points of Interest . The PII is defined by the Mobile App Developer, usually with a Marketer.
  • Collect PII
    is an HTTP-POST operation to a Rest API in Adobe Campaign Standard from a Mobile App.
The goal of this use case is to create or update a Campaign Standard profile, if the PII data returned by a Mobile Application contains profile-related data.


There are several configuration steps to follow to enable push notifications in Campaign Standard, before Profiles can be created or updated based on Mobile App Subscription data:

Step 1 - Extend the Profile resource for Push Notifications/Subscriptions

To be able to create or update the Profile resource with PII data, you must first extend the Profile resource with the desired fields. To do this:
  • Identify the PII fields that are sent by the Mobile Application.
  • Identify the field to use for reconciliation to associate the PII data with the Profile Data.
In this example, the
section reflect the PII data sent by the Mobile Application. The
Link to profiles
section indicates the field that is used to associate the PII with the Profile Data, where
maps to
The mapping for Profile Data while extending the
Subscriptions to an Application
resource is READ-ONLY. It is used for reconciliation. The profile must be entered into the system with the necessary data to reconcile the profile with the PII data. In our case, an email address for the profile must match an email from the Collect PII in order for the reconciliation to occur:
  • Collect PII is received from a Mobile App for a user where their First Name is “Jane, Last Name is “Doe” and Email address is .
  • Separately, the Profile Data must exist (for example, the data must be manually entered or already come from some other resource) where the profile’s Email address is .
Related topics:

Step 2 - Create the workflow

Using a Workflow in Campaign Standard allows an Administrator to uniquely identify and synchronize data between the AppSubscription (Subscriber) data and Profile or Recipient data. While a workflow-based update does not synchronize profile data in real time, it should not cause any undue database locks or overhead.
The main steps to build the workflow are:
  1. Use a
    Incremental query
    activity to get a list of the latest subscriptions.
  2. Use a
    activity to map the PII data with the profile.
  3. Add some verification process.
  4. Use an
    Update data
    to update or create the profile with the PII data.
The following requirements are assumed in this workflow:
  • Any/All fields that have been extended should be available to create/update the Profile Table.
  • The Profile table can be extended to support fields that are not natively supported (for example, T-Shirt Size).
  • Any field from the AppSubscription table which is blank should not be updated in the Profile Table.
  • Any record that has been updated in the AppSubscription table should be included in the next run of the Workflow.
To build the workflow, follow the steps below:
  1. Drag and drop the following activities into the workspace and link them together:
    1. Start
    2. Scheduler
    3. Incremental query
    4. Update data
  2. Configure the
    activity. In the
    tab, set the
    Execution frequency
    (for example, "Daily"), the
    (for example, "1:00:00 AM"), and the
    (for example, Today's date).
  3. Configure the
    Incremental query
    1. In the
      tab, click the
      Select an element
      icon of the
      field, then select the
      Subscriptions to an application (nms:appSubscriptionRcp:appSubscriptionRcpDetail)
    2. In the
      tab, drag the
      Mobile application
      filter, then select a Mobile application name.
    3. In the
      Processed data
      tab, select
      Use a date field
      , then add the
      Last modified (lastModified)
      field as
      Path to the date field
  4. Configure the
    Update data
    1. In the
      tab, make sure that the
      Dimension to update
      field is set to "Profiles (profile)", then click the
      Create element
      button to add a field as a reconciliation criteria.
    2. In the
      field, select a field from the appSubscrsiptionRcp table as a reconciliation field. It can be the profile's email, crmId, marketingCloudId, etc. In this example case, we will use the "Email (cusEmail)" field.
    3. In the
      field, select a field from the profile table to reconcile the data from the appSubscriptionRcp table. It can be the profile's email, or any extended field such as crmId, marketingCloudId, etc. In this example, we need to select the "Email (email)" field to map it with the "Email (cusEmail)" field from the appSubscriptionRcp table.
    4. In the
      Fields to update
      tab, click the
      Create element
      button, then map the fields that are coming from the appSubscriptionRcp table (
      field) with the fields that you want to update in the Profile table (
    5. In the
      Enabled if
      field, add an expression to ensure that the corresponding field in the Profile table is updated only if the source field contains a value. To do this, select the field from the list, then add the "!=''" expression (if the Source field is
      in the Expression editor make sure to type
      [target/@cusEmail] != ''"
      In this case, the Workflow performs an UPSERT but since it's based on an Incremental Query data is only inserted. Changing the Query can affect what data is inserted or updated. In addition, settings in the Fields to update tab determine what fields are inserted or updated under specific conditions. These settings can be unique for each application or customer. Take care when configuring these settings as there can be unintended consequences, as updating records in the Profile based on appSubscriptionRcp data can change users personal information without validation.
    6. When all of the fields to insert/update in Profile have been added, click
  5. Save the workflow, then click Start to initiate the Workflow process.