Saturday, September 17, 2011

CRM 2011: Marketing List and Insight

You might be an Information Worker, a Programmer or you might have both qualities and so would be your point-of-views. If you've worked with Microsoft Dynamics CRM 2011 long enough, you already know about the new Dynamic Marketing List introduced. Let's deal with these point-of-views:
  • An Information Worker point-of-view and
  • A programmer point-of-view
Prior to that let's, identify the differences between Static and Dynamic Marketing Lists

Static List

Static Marketing List can be built using the Lookup or Advanced Find. You can add or remove members from the list. However it requires human intervention.

Dynamic List

A dynamic Marketing List allows you to define parameters which displays records based on your criteria. For example, you could define a criteria to display all Account records from "Consulting" Industry. When a new Account is created and has the Industry value set to "Consulting", CRM automatically displays that in your dynamic Marketing List.

Now that you know the basic definition, let's understand them better:

Information Worker Point-of-View

When you create a dynamic Marketing List, you define a query to populate your Member List, which is great. Your list is at it's best whenever you need it.

While I was at it; exploring, I noticed the marketing list did not appear in the associated view of an existing Account who was the member of the Marketing List (screen shots below). This is absolutely normal IWs as CRM doesn't really store this list in the database. It wouldn't appear under associated Accounts / Contacts or Leads. Further explanation continues at Programmer's point-of-view below.

Marketing List Record: Account Marketing List.
Marketing List Members of type dynamic contains "A Store"
Account Record: A Store.
The Marketing List Associated View doesn't has any record

Programmer's Point-of-View

This is why IWs don't see the Marketing List in the Associated View. An important difference to notice is the way Marketing Lists are stored in CRM database. Static Marketing List is stored in two tables as mentioned here.

List - This table stores the information about the Marketing List

List Member - This table is used to associate the Account / Contact or Lead to the Marketing List and hence stores the either AccountID, ContactID or LeadID against the ListID.

In contrast to this is the Dynamic Marketing List, which doesn't use both tables. Instead it stores a FetchXML query in the List table which fetches the list on-demand at runtime.

Now, how useful could that be to fetch data using the CRM 2011 SDK.

Hope this explanation proves beneficial. Cheers!!