Monday, February 9, 2009

Remote Data as a Routing or Segment Criteria - Part 1

In a significant number of the here's-what-I-want-to-do sessions on lead nurturing, lead scoring, or sales hand-off that I've seen whiteboarded, the data for at least one or two decisions comes from a source outside of Eloqua. It might be your customer data mart, it might be your CRM system, it might be any source of customer data in fact.

Using that remote source of data is actually quite easy, and is made up of two steps:

  1. Use the data import engine to automatically synchronize the data into Eloqua (usually to define a Contact Group)

  2. Use that Contact Group to make routing decisions or define a target segment
In this post, I'll go over the first step, getting the data from your remote source into Eloqua, and from there you'll have it in a Contact Group (automatically synchronized). I'll write a part 2 post about how you can use that Group to define routing rules or segments.

The first step is to create a new data source. You do this under Integration->Inbound, and you can create a new Data Source from the top menu. Note that you'll have to be an admin level user to have permissions to do this, as playing around with data sources can have far reaching consequences if not done correctly. When you create your new Data Source, this is where you'll set up the remote call that you're interested in. This can be API calls against your CRM system (Siebel On Demand,, MSFT Dynamics, etc), or http calls against custom sources that are web accessible.

For this post, I'll use a example where we target Leads that have been disqualified within the last 3 days, but the general idea is the same. You'll likely want to create a new External Call, and in this case, I'm going to create an API call. Select the action (Retrieve), the entity (Leads), and the External User to make the call as. (If you're targeting a web source, you will have a similar setup process, but with target URLs and login credentials).

You'll be shown a screen that allows you to select which fields to import, but as we're using this source just to define a contact group (assuming you have this data already synchronized), you can just bring over the email addresses of the leads that have been marked as disqualified.

The more interesting step in the setup wizard is the filter criteria, where you can specify how to filter the leads that are retrieved by the API call. In this case, as we are targeting leads in CRM that have been marked as disqualified within the last 3 days, we'll use a two part filter; Lead Action = Disqualify, and Last Modified Date is Greater Than or Equal To Today - 2 days. You'll customize this filter criteria to the exact process you're trying to configure, but this example should give you a good sense of how it can be done.

For the dates, clicking the calendar icon allows you to set a wide variety of "Today - X" criteria.

From here, we've set up the data source. The next step is to walk through the Contact upload
wizard as you normally would, using this data source. Set up the upload to run automatically on a daily basis, and have it add the Contacts to a Contact Group.

Now you have a Contact Group that is automatically populated with the Leads that have been marked as disqualified in the last 3 days - data that is sourced remotely.

In part 2 of this post, I'll talk about how we can use that group to define routing and segmentation strategies, but for now, I look forward to your comments on how you're using remote data sources to bring information into your marketing ecosystem.