Saturday, February 10, 2018

Upload Offline Customer Data into Adobe Audience Manager (Part 1)

Almost all customers I’ve worked with have a CRM (Customer Relationship Management) system where they store information about their current and prospective customers. A very common requirement for customers to make their CRM system actionable is to connect their offline CRM data with online data. 

Previously, I wrote about marketing use cases that are met using a Data Management Platform. In this article, I'm going to go a little deeper into Adobe Audience Manager (AAM) and cover how to import customer data from their backend system into the DMP. In the first of this two-part series, I'll go through the various steps needed to perform a successful CRM data upload and the second post will go into the granular details of how CRM attributes in these files are created, modified and deleted.

There are a lot of use cases (E.g. uploading Point of sale, customer lifetime value, last purchase date etc.) that can be accomplished using CRM data so it becomes necessary to understand WHY we’re even bringing this data into AAM. To get started, the first and foremost thing that we need to be aware of before setting up a CRM upload is that no PII (personally identifiable information) should be passed over to AAM. PII is data that can be tied directly to the user such as SSN email address, name, date of birth etc. and it’s imperative that no such data is brought in that can expose personal information about customers. 

We will now cover the various steps that are part of the offline file upload process. These may look like a lot of steps to just upload a flat file, but I believe it's important to follow these steps to make the most from this effort.

1.     Discuss Business ObjectivesBefore undertaking a CRM upload, it’s necessary to ask what business objectives are we trying to achieve. In my experience, I’ve seen clients request everything they can but I believe the right approach is to start simple to achieve small wins and then focus on additional components. Once clients have a few CRM segments they’ve acted on, they can start bringing in more data.

2.     Create and configure the file: The upload file format accepted by AAM is pretty simple as it only contains two columns. The first column is the hashed/anonymized user ID and the second column is a key value pair combination of CRM attributes separated by a comma (example below). In the second part, I’ll cover all aspects of how these files are created and modified.

3.     Create On boarded traits in AAM: Once we know the structure of the file, the next step is to create on boarded traits in Audience Manager. Traits are built off a combination of key value pairs and are the most granular data point in AAM. An example of a trait is shown below that is built off a condition where the gender is female. The trait logic can be expanded to include other conditions such as age, state etc. depending on what we’re looking to capture. It’s important to note that traits need to be created before we upload the offline file.

Source: Audience Manager Trait UI

4.     Perform an ID Sync: This is a critical piece of the CRM file upload process where we sync the CRM user ID with the Audience Manager cookie typically upon authentication. The CRM ID acts as the primary key that is the common link between the backend and the Web or App.
If we upload the CRM file without this sync, AAM will not be able to tie the backend system with its cookie thereby not populating anything in the UI. Aside from this, the other important point to keep in mind is that the user ID or email address captured upon authentication needs to be anonymized/hashed before it’s sent to AAM so that it cannot be traced back to the user. I will write more about the general ID sync process in a future post.

5.     Upload the file: Once the ID sync is setup, we now need to send the finalized CRM file to Audience Manager. AAM accepts offline files in either the S3 bucket or in a SFTP location. The most common approach is to upload a daily CRM file with new customer data every day via an automated file drop process. S3 is Adobe’s preferred data storage platform due to its scalability, security and speed just to name a few advantages. Some other advantages of S3 are documented here.

6.     Monitor the Onboarding Status report in AAM: The Onboarding Status report in AAM provides a complete summary of records/rows that were either successful or unsuccessful during the upload process. Adobe picks and processes these files once a day and expects the file contents and name in a certain format. The file contents and name need to match the expected format exactly as AAM requires otherwise it'll error out which is the most common reason for errors. Below is an example of a successfully uploaded file from this report as shown here.

                                                                                     Source: Audience Manager Onboarding Status report

7.     Tweak if necessary: It's not uncommon to see issues early on with the file format to get it right so it'll makes sense to set aside some time and be prepared to make changes. Once the changes and tweaks to the file is made, we can upload it again to the drop folder.

8.     Check On-Boarded traits for data: Once the file has been successfully uploaded and processed which typically takes between 24-48 hours, we need to monitor if data has started flowing into the various on boarded traits that we created (Step 3). If the trait specific metrics have data, we're good to proceed to the next step.

9.     Create Segments: Once these CRM data based traits have started populating with data, we need to filter the uploaded data tied to the business objectives that were defined upfront. This is done by building segments in AAM based off CRM data or other data sources. An example might be creating a segment comprising of users who haven't bought for the last six months (CRM) to provide them with a 15% off coupon when they visit the website (online).

10.  Activate: The final step of the process is to start sharing these segments with personalization and advertising platforms to deliver customized messages to our customers. A common example is to send these segments from the DMP to a personalization platform such as Adobe Target to deliver contextual and personalized content to customer. 

Now that we’ve covered all the steps required in this process, it's on us to determine if we can start working on these but it all has to start with documenting our business objectives. Once we've successfully setup the upload process, we need to build/learn from where we started to deliver a better experience to customers and monetize from our upfront effort. Do you use your CRM data to deliver tailored messages to customers coming to your site or App?