CRM Best Practices
February 17, 2012
Provide Five-Star Service and Maximize the Value of Customer Relationships with CRM 2011
Lately, I came across the American Express® Global Customer Service Barometer from 2011, which reports on consumer sentiment concerning the state of customer service in America. Interesting survey findings include the following:
- Consumers will tell 16 people about subpar service encounters. Conversely, they will inform only nine others about positive, memorable customer service experiences.
- Consumers value quality customer service and even will pay more to receive it as 70% indicated they would spend 13% more on average with businesses that deliver stellar service.
- Consumers will rebel with their wallets as 78% have canceled a transaction or taken their business elsewhere upon encountering negative, frustrating customer service.
Though this research study was targeted towards individuals, it is safe to say that the same attitudes and preferences on customer service hold true in the B2B world as well. Companies that differentiate themselves from the competition by providing superior customer service will earn repeat business from clients and begin to receive more referrals. On the other hand, customers that do not consistently deliver positive and meaningful customer experiences will suffer instant client churn and defections and lose drastic revenue.
Similar research from the Aberdeen Group entitled “Customer Experience Management: Using the Power of Analytics to Optimize Customer Delight” emphasizes how the customer experience can profoundly impact client acquisition, engagement, and retention. By continually measuring, monitoring, and improving the customer experience, firms can be more in tune with evolving service preferences and provide better service to their high-value clients and outperform their competition. As seen in the graph below that I created to display some of Aberdeen’s key results, Best-in-Class organizations that are committed to Customer Experience Management (CEM) initiatives constantly outperform their peers. For instance, customer retention rates, response times to customer inquiries, customer lifetime values (LTV), and customer satisfaction rates all improve considerably year over year for Best-in-Class companies compared to the Industry Average and Laggards.
Source: Aberdeen Group “Customer Experience Management: Using the Power of Analytics to Optimize Customer Delight,” Jan. 2012
Additionally, Aberdeen stresses how properly deployed CRM technology combined with a client-centric strategy can enable top-tier firms to achieve significant gains in their CEM programs. In fact, one of the recommended CEM strategies by Aberdeen is to replace highly fragmented views of customers with a single unified and consistent view of the organization’s customers via CRM. A robust, intuitive, and easily configurable CRM system, such as Microsoft Dynamics CRM 2011, can certainly give firms this highly coveted all-encompassing 360-degree view of their customers and allow them to better hear and capture the voice of not just their customers, but also their stakeholders and shareholders.
To read more about how Microsoft Dynamics CRM 2011 can serve as the foundation and enabler for your firm’s CEM and CRM strategic initiatives in route to helping improve your overall business results, please visit www.customereffective.com.
Posted by Kevin Wessels on February 17, 2012 at 08:39 AM in CRM Best Practices, CRM Business Process, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
February 06, 2012
XRM 2011 JavaScript: Another 101 Lesson in Microsoft Dynamics CRM 2011
When you’re learning JavaScript, you’ll often come across the need to do something to every field on the form. When you do, it’s important to have efficient code to make such widespread changes so the user doesn’t have to wait for the JavaScript to finish. This lesson consists of several parts, some of which you’ll probably already know but hopefully there are some things in here for everyone.
Setting up our Environment
First thing first, open your CRM 2011 development environment and browse to an account form. Once the account form is open, hit F12 on your keyboard. A window should popup that looks like this:
If instead, you see the window in the bottom of your browser page. Click the little “Unpin” button shown here:
This is IE Developer Tools and if you haven’t used this in the past, then I hope you enjoy not having to save/publish/refresh/test nearly as often. To start, we’re going to see how many fields we have on the form. When inside of the CRM form, we’d use something like:
Xrm.Page.data.entity.attributes.getLength()
But when we’re inside Developer Tools, we actually have a different context. So we need to click on the “Console” tab and execute:
frames[0].Xrm.Page.data.entity.attributes.getLength()
Anything we want to execute on the form, we can do by simply prepending “frames[0].” in Developer Tools to get the proper context. This allows us to write and test code instantaneously, which is a huge timesaver.
Iterating Fields
Now that we are playing in our Developer Tools sandbox, let’s iterate through some fields to see which fields are required. To use multiple lines, click the double up arrow in the bottom right corner.
Here’s some slightly modified code from the SDK that we can just copy and paste into our Console:
var message = "The following fields are required:\n";
frames[0].Xrm.Page.data.entity.attributes.forEach(function (attribute, index) {
if (attribute.getRequiredLevel() == "required") {
message += " \u2219 " + attribute.getName() + "\n";
}
});
alert(message);
Note: I can’t stress enough how awesome the SDK is. Everyone I’ve met who partakes in the SDK creation, maintenance, etc. have been top notch people. If you aren’t using the SDK, you are missing out in tons of awesome tips, features and customizations.
You’ll notice that the above code quickly goes through each field and checks to see if the field is required. We could also check if the field is dirty (meaning the user changed the value), if the field is enabled, or whatever. It’s just a simple way to make mass changes quickly.
About “forEach”
For the experienced developers, you may be thinking did IE get ForEach? No, but the CRM developers were gracious enough to add this into the Xrm variable. For those of you unfamiliar, this was an old Mozilla thing that made life a lot easier when dealing with arrays. Expanding further, the Xrm forEach approach is faster than most arrays people would generate using for loops. You can write some JScript that is faster and I’ll get into that one day, but at this point you are better off using the forEach approach.
I’ve said it several times, but I really like the Xrm object due to its attention to performance. In fact the method here is about a hundred times faster than iterating the crmForm.all object. I’ll back that up with some pretty graphs and such in a later post.
Checking for Changed (Dirty) Fields
var message = "The following fields are dirty:\n";
frames[0].Xrm.Page.data.entity.attributes.forEach(function (attribute, index) {
if (attribute.getIsDirty()) {
message += " \u2219 " + attribute.getName() + "\n";
}
});
alert(message);
Notice how easy it is to change what we are checking for. Whether we are looking for a specific value, dirty fields, required fields, or whatever, doing so inside the forEach function makes it fast and easy.
Back to the Web Resource
To go from the Developer Tools back to the Web Resources, we need to replace all of the “frames[0].” references with blanks. IE Developer Tools is a great way to create and test our code without affecting anyone else and there is a lot more to developer tools than the console. I hope you enjoy!
Posted by Paul Way on February 06, 2012 at 08:25 AM in CRM Best Practices, CRM Development, CRM Javascript, Dynamics CRM 2011, Microsoft CRM Customizations, Microsoft CRM Tricks and Tips, XRM | Permalink | Comments (1) | TrackBack (0)
January 24, 2012
Improve Customer Relations and Reshape the Customer Experience with Microsoft Dynamics CRM 2011
In today’s turbulent economy, corporate decision-makers are reexamining how they can consistently deliver a more memorable and differentiated customer experience that is more aligned with customers’ needs and ultimately generates profitable top-line growth. Striving to meet and exceed the expectations of the new, digitally savvy and often fickle consumer in a cost-effective manner is not easy, though. More empowered than ever before, many of today’s capricious customers want everything personalized, provided at a discounted rate, and done as quickly as possible, regardless of the channel. Up to the challenge, many top-tier companies across the globe recognize that they must refocus on the end-customer and engage in more consultative and meaningful dialogues with their clients and interested buyers across all touchpoints.
With such a growing imperative to maximize customer value and reshape the customer experience, many top-tier firms are turning to Microsoft Dynamics CRM 2011. As a fully centralized and interactive business management tool, CRM 2011 provides a complete, reliable, and integrated 360 degree view of client-related information so that companies can better identify, segment, service, and retain their customers and create a more positive customer experience in the following ways:
- Cultivate and deepen relationships to earn client loyalty, retention, and pave the way for repeat business via upsell and cross-sell opportunities.
- Dissect the critical information found in the client profile to develop more targeted marketing campaigns, more effective sales call plans, and more seamless, cost-efficient service delivery strategies that are relevant and tailored to the unique customer purchasing preferences and habits.
- Glean insights on a customer’s interaction, ad response, and transaction history across various channels and touchpoints to grow company-wide awareness and knowledge of each customer’s unique needs and be better positioned to offer value-added products and services.
- Facilitate employee and department collaboration, sharing, and communication of critical information to improve and automate front-office sales and service processes, minimize response times to client inquiries, and reduce customer frustration by not having to ask the same questions repeatedly.
The good news here is that all of the above benefits of improving the customer experience and overall client satisfaction will eventually grow customer spend, provide an incremental sales lift, and maximize the lifetime value of your more profitable clients and prospects.
To learn more about how the vast experience and expertise of Customer Effective combined with our industry specific accelerators and pre-built configuration templates can help lower your total cost of ownership, shorten your implementation timeline, and increase the return on investment of your new robust Microsoft Dynamics CRM 2011 system, please visit www.customereffective.com.
Posted by Kevin Wessels on January 24, 2012 at 02:15 PM in CRM Best Practices, CRM Business Process, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
January 23, 2012
Wealth Management Firms turn to Microsoft Dynamics CRM 2011 to Amplify their Sales and Service Results
Customer Effective is poised and ready to empower wealth management firms with flexible, scalable, and security-enhanced CRM tools and integrated solutions to grow their business. Customer Effective: FinServ for Wealth Management is our pre-configured Microsoft Dynamics CRM 2011 offering consisting of a full-featured Marketing, Sales, and Service suite tailored to wealth management industry needs. Below I have highlighted some common business and operational challenges faced by investment advisory firms and how these can be overcome with the help of the Customer Effective: FinServ for Wealth Management platform:
Advisor needs more insights on Household Relationship Management and Client Acquisition Tracking
- Link Clients to multi-generational affluent family Households and obtain consolidated 360-degree views of all Household Members, Accounts, Assets/Liabilities, Transactions, Market Values and be able to see their complete financial picture in one central location.
- Track related 3rd Party Advisors, Qualified Plans, Employers, and Client Interests and receive the extra knowledge and background to become the go-to trusted advisor and “quarterback” for any financial situation.
- Track Client Acquisition Prospecting efforts, RFP requests and responses, and lead conversion success rates to identify the most effective and efficient ways to win new business.
Advisor needs better recordkeeping for Compliance
- Uphold data integrity and maintain accurate Client, Prospect, and Partner records for individuals and companies.
- Track system and field data changes via historical Audit trail logs to meet tightening compliance requirements.
- Track and store all Client communication and correspondence to adhere to SEC and FINRA guidelines – emails, phone calls, portfolio review meetings and notes, service inquiries, client newsletters, buy/sell recommendations, Client Monthly Statements, Financial Plans, Investment Proposals, Monte Carlo Hypos, Investor Suitability Due Diligence questionnaires, KYC/AML compliance docs, proxies, research reports, and prospectuses.
Advisor needs more timely and robust Sales Pipeline Management reporting
- Sales, Marketing, Client Service, and Compliance Dashboards and Reports capture KPI’s and production results for each individual Advisor, Branch, Region, or the entire firm.
- Real-Time Sales Opportunity Pipeline Management and Forecasting help focus time and resources on more profitable relationships and shorten sales cycles.
- Target vs. Actual Goal Tracking of Closed Deals and Prospecting Activity promotes competition, instills accountability, motivates reps, and helps identify areas for improvement.
Advisor needs to automate New Client Onboarding Processes
- CRM can be tightly integrated with Portfolio Management/Trading/Rebalancing/Custody platforms to eliminate dual entry, save time, and further streamline and automate the Client Onboarding, Account Setup, and Ongoing Service Processes.
- Once the Onboarding Process is complete, ongoing monthly, quarterly, semi-annual, or annual Review Meetings can automatically be set up to consistently and frequently stay in touch with Clients, earn their trust, and provide superior levels of service to the competition.
- Track and rate Referral Sources based on lead generation profitability.
Advisor needs an easier way to plan, execute, and follow up on Seminars
- Devise quick campaigns to plan, execute, and track the success of converted leads from attendees of Retirement Planning, College Savings, Tax Minimization, and Estate Planning Seminars.
Advisor needs to reduce the time involved on Client Allocation Change and Distribution Request Processes
- Create automatic follow-up tasks and deadlines for review of Account activity and maintenance to increase client retention and ensure consistent behavior amongst Client Service Teams.
- Identify At-Risk Clients based on recent, frequent high-dollar withdrawals; develop and execute client outreach and retention plans.
Please visit www.customereffective.com to learn more about Customer Effective: FinServ for Wealth Management and how its pre-designed wealth management tools and templates can vastly improve your practice’s customer-centric approach and widen your competitive advantage.
Posted by Kevin Wessels on January 23, 2012 at 08:37 AM in CRM Best Practices, CRM Business Process, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
January 19, 2012
Use Goal Management in Microsoft Dynamics CRM 2011 to Track and Improve Sales Team Performance
With the Holidays behind us, many Sales teams are in the process of receiving new comp plans for the New Year. Sales management is faced with the dilemma of devising compensation structures that not only reward top performers, but also motivate them to continue producing at a high level going forward. Besides possibly changing compensation, Sales Goals for reps and territory assignments may be altered as well. In many cases, the new Sales Goals may seem extremely challenging at first glance. Regardless of how well management clearly defines and articulates the changes based on their analysis of last year’s company results, current and future market environments, and projected growth rates, some Sales reps may wonder why the changes were necessary, and thus they may have some reservations about hitting their new lofty numbers until they start closing some deals again. Without Goals, though, businesses, Sales teams, and Sales reps have no real measure for success in place.
Microsoft Dynamics CRM 2011 recognizes how important it is for Sales executives and top producers to track and achieve Goals. For instance, CRM 2011 offers Goal tracking and management functionality that Sales reps can use to view their individual performance results and see how they stack up against their respective Revenue or Sales Volume Goals. Plus, Sales management can use Goals in CRM to chart and analyze the progress of the teams or territories they oversee and really target areas for improvement based on how much time is left in the current sales period. The Sales Goals can be for a custom time period, such as monthly, quarterly, or annually or even set to a particular Fiscal period. Moreover, tracking and managing Goals within CRM will make the overall Sales Goal maintenance, roll-up, reporting, and review process far less cumbersome and error-prone, especially compared to the extremely time-consuming and manual-intensive approach of doing the same in spreadsheets.
Furthermore, the built-in robust Goal charts are great visualization mechanisms for Sales reps to see where they stand at a given point in time against their peers and their individual Goal(s). For instance, the chart below displays a comparison of Actual and In-Progress Sales Opportunity Revenue figures versus a Quarterly Sales Goal for three individuals. It is taken from “Tracking status against goals with built-in predictability” on the Microsoft Dynamics CRM Blog, which I encourage you to reference if you want to get more insight on the use of Sales Goals in CRM 2011 and see more sample Goal charts. Being able to always refer to these instant individual Goal results via a Dashboard or an in-line visualization chart helps maintain Sales focus and momentum, instills accountability, and fuels competition amongst reps, managers, teams, and regions.
Additionally, I recommend watching this brief Goals tutorial video from the Microsoft Dynamics CRM Resource Center to learn more on how to create and assign parent/child roll-up Goals and Goal metrics. It actually focuses on an example of Service Case Goals, but the steps are a great primer on how to create Goals in CRM, particularly Goals with a Goal Metric based on a “Count” as opposed to a Revenue $ Amount metric. The video really can serve as a guide if you have the need to create a Sales “Count” Goal, such as number of Opportunities or Products sold per month, number of outbound dials per week, or number of leads generated from a Marketing campaign.
Lastly, if you would like to discuss further and see first-hand how Customer Effective can leverage and tailor the Goal Management functionality in CRM 2011 to optimize your Sales Department’s processes, productivity, and performance, please e-mail us at info@customereffective.com.
Posted by Kevin Wessels on January 19, 2012 at 08:45 AM in CRM Best Practices, CRM Business Process, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
January 13, 2012
XRM 2011 - Microsoft Dynamics CRM 2011 Style Buttons
Adding a button to a Form is a great way to add additional functionality right where the user is already focused. Today we are looking at a few different approaches to adding a button. First, we’re looking at handling the upgrade for those of you who have already used the 4.0 button inside of 2011 or if you had a 4.0 environment and are upgrading. If you have a clean 2011 environment, then feel free to skip down to the “From Scratch” section.
There is already some code floating around to create a 4.0 style button inside of CRM 2011. The button we’re creating will instead create a CRM 2011 style button (i.e. “Example Button”).
The CRM 2011 button starts gray and then when the user hovers over it, the button will look like:
Creating our Web Resource
First,name your Web Resource whatever you’d like. In my case, I’m planning to re-use it in various ways, so I’m throwing it in our JS root directory.
1: // CRM 2011 Style Button
2: // Creates a button from a form field
3: // Paul Way - 1/3/2012
4: function ConvertToButton(fldName, btnLabel, btnWidth, evt){
5: var btn = '<button id="btn_' + fldName + '" ' +
6: ' style="width:' + btnWidth + '" ' +
7: ' class="ms-crm-Button" ' +
8: ' onmouseover="Mscrm.ButtonUtils.hoverOn(this);" ' +
9: ' onmouseout="Mscrm.ButtonUtils.hoverOff(this);" ' +
10: '>' + btnLabel + '</button>';
11:
12: var ctrl = Xrm.Page.ui.controls.get(fldName)._control;
13:
14: // Add the new button
15: ctrl.get_element().innerHTML += btn;
16:
17: // Hide the textbox
18: ctrl.get_element().firstChild.style.display = 'none';
19:
20: // Hide the label (optional)
21: Xrm.Page.ui.controls.get('pager').setLabel('');
22:
23: // Add Event to the newly created button
24: ctrl.get_element().childNodes[1].attachEvent('onclick', evt);
25:
26: }
Modifying our Form
To use this new function, you’ll first need to add the newly created web resource to the form. You’ll also want to have a separate JS web resource to call the ConvertToButton function. In my case, I already have a web resource for contact specific JavaScript. If I didn’t, I would need to create a new web resource and then place my contact specific code there. Here’s an example screenshot:
By having two web resources for this, you’ll have only one version of your ConvertToButton function throughout your CRM 2011 environment. Let’s say down the road you’ll need to update the function to change the label to “Button”, then you only need to modify one file. In CRM 4.0, you probably had a lot of duplicate code. With CRM 2011, your browser can cache the JavaScript for better performance and it is easier to maintain when organized appropriately.
In our other web resource, the one we setup with the OnLoad, we need the following code.
1: function contactsOnLoad(){
2: convertToButton('pager', 'Example Button', '150px', function(){alert("test")});
3: }
Why is this so different then the 4.0 code?
If you’ve used the CRM 4.0 code, you’ll notice the code here is a lot shorter. It’s actually pretty different as well.
- For one, instead of modifying the input element we are actually creating a button HTML element. This just means that we can now use about any kind of field instead of just pure textboxes. Not a huge deal, but opens up the email address 3 and other attributes.
- Both are really unsupported but the other uses the deprecated crmForm.all.
- Finally, the button style was meant for 4.0 whereas now we have the 2011 look-n-feel.
From Scratch
So far we’ve mainly focused on if you already were using the 4.0 code and were upgrading. But what if you don’t have the existing code structure? I’d argue against creating a new attribute just to have a button. When adding a new attribute, you are also adding the attribute to the underlying SQL tables and views. Using an existing field isn’t really a great option either because there is always the chance you will need the field or it will overlap with an application from the MS marketplace.
Instead, I’d recommend creating a button place holder web resource and then embedding the web resource on the page. The web resource is just a JPG image like this:
We then place the image wherever we want on the form. Make sure to set the formatting to one column and one row.
Finally, we need a little bit of code added to the /js/formButton.js web resource:
1: // CRM 2011 Style Button
2: // Creates a button from a form field
3: // Paul Way - 1/3/2012
4:
5: function convertWebResourceToButton(fldName, btnLabel, btnWidth, leftMargin, evt){
6: var btn = '<button id="btn_' + fldName + '" ' +
7: ' style="margin-left:' + leftMargin + ';width:' + btnWidth + ';" ' +
8: ' class="ms-crm-Button" ' +
9: ' onmouseover="Mscrm.ButtonUtils.hoverOn(this);" ' +
10: ' onmouseout="Mscrm.ButtonUtils.hoverOff(this);" ' +
11: '>' + btnLabel + '</button>';
12:
13: var ctrl = Xrm.Page.ui.controls.get(fldName)._control.get_element().childNodes[1];
14:
15: // Replace image with buttom
16: ctrl.innerHTML = btn;
17:
18: // Add Event to the newly created button
19: ctrl.firstChild.attachEvent('onclick', evt);
20:
21: }
And as for our OnLoad function, we’ll need to use this instead:
1: function contactsOnLoad(){
2: convertWebResourceToButton('WebResource_btnProfInfo', 'Another Approach', '150px', '119px', function(){alert("test2")});
3: }
Notice that this will require an additional parameter for the left margin.
Summary
As you can see, there are several different approaches to adding a button onto the CRM form for 2011. With 2011, I’d opt for using the button place holder image method. No matter which approach you take, the end goal is enhancing the user’s experience. I hope you enjoy!
Posted by Paul Way on January 13, 2012 at 08:53 AM in CRM Best Practices, CRM Development, Dynamics CRM 2011, Microsoft CRM Customizations, Microsoft CRM Tricks and Tips, XRM | Permalink | Comments (0) | TrackBack (0)
December 29, 2011
Identifying Synchronized Microsoft Dynamics CRM items in Outlook
If you use Microsoft Dynamics CRM for Outlook, you may know that Microsoft uses the following icon to display records that are synced from a users outlook client to CRM.
Sometimes a user can do something which causes the icon to disappear. Some examples that would cause this situation include removing the CRM Outlook client, or reconfiguring the users client to point to an upgraded CRM 4 to 2011 Organizations, or editing fields on the record in Outlook that are not synched to CRM. When that icon disappears there is no real way to tell between a personal contact or other synced item to CRM. As a result a user might have hundreds of contacts and not know if they manually created them, or if it was synchronized with CRM.
Well I learned today there is a way. Using the following steps will quickly allow you to see items that are synchronized with CRM.
1.) Go to your views in Outlook. In our example we are going to make this change to the contact view.
2.) Click on Add Columns button and then Click on New Column button
3.) Enter the following new column information below.
Name: crmLinkState Type: select Number
4.) Then add the column to your view
5.) Then look at your outlook view. (2 – Means currently synced with your org, 0 – means previously synced and blank means never synced)
Hope it helps you too!
Posted by Sean Shilling on December 29, 2011 at 08:00 AM in CRM Best Practices, Microsoft CRM Tricks and Tips | Permalink | Comments (0) | TrackBack (0)
November 29, 2011
Top Five Tips for Troubleshooting Generic SQL Error Messages in Microsoft Dynamics CRM 2011
When working with Microsoft Dynamics CRM 2011, you may occasionally see an error message that says “A SQL Server error occurred. Try this action again. If the problem continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization’s Microsoft Dynamics CRM Administrator.”
When you get these error messages, you will want to focus your troubleshooting on the database level. The following are five of the most common causes of these SQL errors, and good things to check when troubleshooting these types of issues:
1. Check the event log on both CRM and SQL servers. The event log will typically give you a more detailed error message that will help you troubleshoot the issue more precisely.
2. Check the SQL server--are you low on disk space on the SQL server, or are there possibly limits to how much your Microsoft CRM database (*_MSCRM) can grow?
Even if you are on CRM online, this may be applicable--at one time I received generic SQL errors with CRM Online, and it turned out there was a limit on the amount of growth on our database at the Microsoft hosting center. Call Microsoft support if this is the case.
3. Increase the OLEDBTIMEOUT registry setting (or create it if it doesn't exist). See http://support.microsoft.com/kb/918609 for more details.
4. Are there any unsupported database hacks like triggers that are running on the base tables, or are there any integration processes reading or writing to CRM that could be creating database locks? These are the kind of things that can create generic errors in CRM, especially if they are “unsupported.”
5. Are there any big/complex reports being run at the time you got the errors, or reports reading from CRM views or tables without "with (nolock)?" These can cause database locks and result in SQL errors in CRM.
Posted by Joel Lindstrom on November 29, 2011 at 10:23 AM in CRM Best Practices, Dynamics CRM 2011, Microsoft CRM Troubleshooting, Microsoft SQL Server | Permalink | Comments (1) | TrackBack (0)
October 25, 2011
Microsoft CRM 2011 -- When to Use an iFrame vs a Web Resource
Sit back and relax a bit because we aren’t going to get into any code today. Instead we are going to take a higher level look at some interesting caveats within CRM 2011.
Even if you aren’t a developer, if you customize the form with Web Resources or iFrames, this should be helpful to you.
Silverlight
First of all, I came across this due to a colleague using Silverlight. Like many of you out there, we do some crazy stuff with Silverlight. Silverlight is awesome and can be leveraged to do some serious heavy lifting. I’m actually more of a JavaScript guy, but until JavaScript supports multi-threading, Silverlight cannot be overlooked.
When using Silverlight, you have three options to put Silverlight on your form:
- Embed a Web Resource and select the XAP file (Figure A – 1)
- Embed a Web Resource and select an HTML wrapper (Figure A – 3)
- Embed an iFrame and enter an HTML wrapper (Figure A – 4)
Figure A (Before)
If you are embedding the XAP file (1), then all is good in the world and everything should behave like any other control. Problems only arise with the magnitude of what you are doing. Let’s say you have a couple of JavaScript resources you need to support your Silverlight control to talk to the form. If that’s the case, setup and maintenance is a little more cumbersome.
To make life easier for you and your customer, you could upload your own HTML file with everything self-contained. Now that you have everything nicely contained in an HTML web resource, we can either insert a web resource and select our HTML file (3) or we can use an iFrame and point to our HTML file (4). What’s the difference? Watch what happens when I select a Related entity (e.g. Activities) and then come back to my form. Notice how the Web Resource is blank? That’s because the form reloaded my web resource.
Figure B (After)
HTML
Ok, some of you out there may be saying, “but I don’t use Silverlight”. That’s fine, but this actually applies to HTML files as well. When embedding an HTML page, again you can either use a web resource or an iFrame. If you choose a web resource however, the page will reload when toggling to a new related entity. If you choose an iFrame, it will NOT reload (look back at Figure A&B paying attention to 2 and 5).
Well why?
This is all about your purpose. If you have a HTML page or Silverlight control that is read-only (e.g. graphs, charts, or accessing another system), then a Web Resource would be the better method most of the time. If you are expecting users to input data, then you’ll want to use an iFrame instead of a Web Resource so that the data is persistent. For some of you this could be a gotcha and for others it can be a feature. Hopefully none of your users are on the wrong end of this! Enjoy.
Posted by Paul Way on October 25, 2011 at 07:43 AM in CRM Best Practices, CRM Development, Dynamics CRM 2011, Microsoft CRM Customizations, Microsoft CRM Tricks and Tips, XRM | Permalink | Comments (0) | TrackBack (0)
September 29, 2011
How to get the Microsoft CRM “Closed Activities” Nav Bar Link Back (if you delete it)
As we have covered earlier on the CEI blog, Microsoft Dynamics CRM 2011 introduces some great new form customization capabilities. One of my favorites is the ability to remove Navigation bar links from a form.
Prior to 2011, the only way to remove nav bar links was to use jscript to hide them. This complicated form customization, and also made the form appear to “dance” when you first opened it, as all of the hidden nav bar links would appear momentarily and then hide.
Now, with CRM 2011, you can go to the form customization and select the “Navigation” node from the ribbon.
Then from the left side of the form customization, you can select visible navigation bar links and remove them by either clicking delete on your keyboard, or clicking “Remove” from the ribbon.
If you want to add a link to the navigation bar that is not currently displayed on the navbar, you can select the link from the “Relationship Explorer” on the right side of the customization form, and drag and drop it to where you want to display it on the navigation bar. So if you remove one, then want to add it back, just move it over from the Relationship Explorer.
This will work with most of the relationships in CRM. One of the few for which it doesn’t work however is the “Closed Activities” link.
"Closed Activities" is basically a link to the same entity as the “Activities” nav bar link, just filtered to show a different view—Closed activities.
If you delete the Closed Activities nav bar link, you will not be able to add it from the relationship pane. It will no longer exist.
To get the link back, create a solution containing the entity from which the link was deleted and export the solution.
Then from another CRM environment, export the same entity, extract the solution .zip file, and edit the customization.xml file. Search for “<NavBarByRelationshipItem.“ You will find a section in the XML that looks like this:
<NavBarByRelationshipItem RelationshipName="Incident_ActivityPointers" Id="navActivityHistory" TitleResourceId="Tab_Label_History" Icon="/_imgs/ico_18_history.gif" ViewId="21E2B905-6FDB-470d-8517-AD69B4C01268" Sequence="20" Area="Info">
<Privileges>
<Privilege Entity="" Privilege="ReadActivity" />
</Privileges>
<Titles>
<Title LCID="1033" Text="Closed Activities" />
</Titles>
</NavBarByRelationshipItem>
Note this section may be different based on the entity in question. In this example, I’m using the case entity.
Copy this section, then go to your exported solution customization.xml for the environment where you deleted the closed activity link. Paste this section in the appropriate place, then zip up your solution and import into your environment.
You will once again see the “Closed Activities” navigation bar link.
Posted by Joel Lindstrom on September 29, 2011 at 04:41 PM in CRM Best Practices, Dynamics CRM 2011, Microsoft CRM Customizations | Permalink | Comments (0) | TrackBack (0)
CRM 2011 - Missing Ribbon Bar
An existing customer of ours, in the process of upgrading to CRM 2011, was testing an upgraded development organization against workstations that previously had the CRM 4 Outlook client installed on them. They encountered this strange behavior relating to the Outlook ribbon bar missing. This only happened on one of the desktop clients they were testing from. Initially they tried uninstall the CRM 2011 Outlook client and the ribbon bar would magically reappear.
The process that they were following:
- Uninstall CRM 4 Outlook client
- Install CRM 2011 Outlook Client
- Configure CRM 2011 Outlook Client
- Open Outlook
The workstation was Windows 7. I did not spend a lot of time troubleshooting because I found this MS KB article. In addition to that, we do know that there were some ribbon bar issues were introduced in earlier MS CRM 2011 releases. As a result of that we recommend doing the following process of for changing Outlook clients for CRM 2011.
We updated the client installation process as follows:
- Close Outlook
- Uninstall CRM 4 Outlook client
- Install CRM 2011 Outlook Client
- Install CRM 2011 Outlook Client rollup 3
- Configure CRM 2011 Outlook Client
- Open Outlook
Obviously, if that does not work the following KB article did fix their particular issues.
Posted by Sean Shilling on September 29, 2011 at 12:02 AM in CRM Best Practices, Microsoft CRM Implementation, Microsoft CRM Tricks and Tips | Permalink | Comments (0) | TrackBack (0)
September 26, 2011
Tips for Putting the 'Use' in Microsoft Dynamics CRM User Adoption
As both veteran consultants and customers will tell you, one key to a successful Microsoft Dynamics CRM implementation is user adoption. Like most other companies, financial services organizations face challenges getting users to adopt new CRM systems.
At a recent online meeting of the CRM User Group's Financial Services Special Interest Group, members shared some tips and tricks to getting users to more easily adopt Dynamics CRM.
"What we've done to ensure user adoption is institute a policy that if it isn't in the solution it doesn't exist," said one member of the group. "When they're looking at sales activities or promoting a specific process, then the system of record is Dynamics - the solution itself - so they really have to go back and make sure that all of that activity is recorded in the solution. That's one of the primary ways - making sure either through the use of workflows or the use of recording activities, follow-up events, pipelines-that they consistently use that solution as the system of record to record those activities, those events."
Additionally, senior management has to reinforce the "system of record" policy as well, he said.
User adoption starts in the planning phase, according to the event presenter, Brad Koontz, product manager at Customer Effective.
"We found that it's [important] to have a good champion in the project, who's not only going to be the executive sponsor but also the head cheerleader," he said. "And as part of their cheerleading duties, they need to hammer on the ideas of increasing productivity, saving time, all of the things that the executive sponsor thought it would be a good idea to buy CRM for. They need to be preaching this on a fairly consistent basis."
Koontz said it comes down to adhering to some basic project management tenets like frequent updates and always reminding people of the strategic vision that you had when you decided to implement Dynamics CRM.
"Then making sure that training is provided often and it's provided early and then it's provided later," he said. "You might have some user adoption but you might have some people who are not adopting as quickly or as well as some of the power users might be. So make sure that they're getting the training."
Another member of the CRM User Group, said his company, which has been live on Dynamics CRM for about three months, took advantage of workflow processes to simplify users' ability to manage tasks.
"The planning teams just have to select what they want to do and CRM automatically routes the task to the various departments behind the scenes," he said. "So the teams just have to say, ‘What do I need to do?' And the system will just push the various tasks where they need to go. We've received a lot of positive feedback on that particular process that we implemented. It was a big win for us."
You should also identify the KPI consumers early-the people in your organization who consume these key performance indicators more than others-and make them your cheerleaders as well, Koontz said.
"You can also build and configure your CRM to make sure that the needs [of the KPI consumers] are met because if they're happy, that has a tendency of spreading throughout the organization," he said. "Also find a partner that understands the importance of user adoption and makes it the top KPI of the project."
Koontz also said that simplifying the system for users can also make them more productive. He said sometimes users are confused and they don't know what the system does because there's so much going on.
"The truth is your task probably doesn't need all the stuff that's on your screen," he said. "So if we go in there and sit down with specific users, not just inside specific idustries but inside specific roles inside companies, and we ask them what they need to see to do their jobs correctly, to do their jobs productively day to day. Then we can take the time to pull these things out, that really helps."
Another key to user adoption is data integration because it keeps people out of other systems, Koontz said. It reduces the duplication of effort that happens when someone has to go into a third-party system or a legacy system, look up the data and then transfer that data manually into the CRM system. At the very least, the user won't have to use two screens to try to make a decision about a particular client or a particular issue, he said.
This can frustrate the users and make them angry about CRM, he said.
Users will also adopt Dynamics CRM more quickly if they're able to access it via their iPads or other tablet devices in a way that fits those devices, he added.
Another attendee went took a more blunt approach to quell dissatisfaction among users migrating from Saleforce.com to Dynamics CRM. To get users more comfortable with using Dynamics CRM she looked at the Salesforce.com screen and simply rearranged the fields in Dynamics CRM to match the way they looked in Salesforce.com.
"I put the labels of the fields flush to the right and the value of the fields flush to the left, and all the fields in the same order as Salesforce," she said.
Koontz said another way to convince former Salesforce.com users to make the switch to Dynamics CRM was to appeal to productivity gains.
"[Talk about] the whole idea of Office integration, which should be easier for them moving forward inside CRM," he said. "So showing them those features like the integration with Outlook. Say, ‘Look how it fits into your day. You're in Outlook all the time anyway.' Also like being able to have Dynamics worksheets in Excel and how easy that is. Getting data into the system from an Excel template. Getting those in and out of the views that you create. Once we share those with people that ususally gets about fifty percent of the Salesforce.com users."
Originally published on MSDynamicsworld.com as "Tips for Putting the 'Use' in Microsoft Dynamics CRM User Adoption". Article written by Linda Rosencrance.
Posted by Brad Koontz on September 26, 2011 at 10:25 AM in CRM Best Practices | Permalink | Comments (0) | TrackBack (0)
July 18, 2011
Assembling an Effective CRM Strategy Leads to Successful Implementations
Firms of all sizes in multiple industries across the globe are turning to CRM to attain and maintain a competitive advantage. Companies rely on CRM solutions, such as Microsoft Dynamics CRM 2011, to track valuable client information, such as contact data, demographics, interaction activity, transaction history, key decision makers, influential stakeholders, and third-party relationships with vendors, consultants, partners, and lead sources. Top-tier firms further analyze and interpret their captured customer data to have a deeper understanding of their client base. Client preferences, needs, concerns, and likelihood of switching can be anticipated and a customer’s lifetime value to the company can be measured and forecasted. All of these newfound useful insights and knowledge can be converted into actionable client, relationship, and business intelligence, which can then be shared throughout the organization, and ultimately used to better serve and meet the needs of customers. Furthermore, firms can identify cross-sell and up-sell opportunities more easily now and also deliver more value to their most profitable and loyal customers. Additionally, the decision-support capabilities of CRM 2011 allow firms to identify high-growth target market segments and prospects.
CRM technology by itself does not improve revenue and profitability, though. Nor does the data stored within the CRM system. Instead, CRM is more so a business strategy built upon instilling a customer-centric culture and promoting customer loyalty and satisfaction. Firms with a comprehensive CRM strategy that is tightly intertwined with an overall corporate strategic vision are able to more effectively respond and adapt to competitive threats, economic pressures, and market and industry trends. Prior to implementing a CRM tool, though, firms need to first conduct advanced planning and have their CRM strategy and goals formalized. Doing so will maximize a firm’s ROI and minimize TCO.
As previously noted here, executive sponsors of the CRM initiative must constantly communicate to the user base how adopting a CRM strategy and implementing a CRM solution will help the organization meet its business objectives. The executive sponsors should be highly visible and vocal and stress that business processes must be reviewed and redesigned as needed before implementing the chosen CRM system. How particular processes impact, interact, and integrate with other departments and offices is critical. Failure to have the framework for business processes reengineered and the related personnel finalized and documented could possibly delay the progress of a CRM implementation. It is very challenging for users across multiple departments to absorb changes to their roles and processes while also attempting to learn and be trained on a new CRM system, or any system, for that matter. In such a case, user adoption rates could suffer. On the other hand, if users and teams have already engaged in business process discussions prior to discovery, requirements gathering, and training sessions, they will be more confident and comfortable in their defined role. Thus, they will be more inclined to share their needs and more receptive to learning the new system, for they desire to attain more efficiencies and make their job easier. Moreover, upon witnessing how the intuitive, flexible, and extensible Microsoft Dynamics CRM 2011 can facilitate or even possibly automate a particular recently refined core business process, users will often be very eager to start using the system right away.
Over the course of a CRM 2011 implementation, it will definitely become evident to users that its robust and scalable platform can be customized and configured to support and improve the delivery of unique business processes and align with the strategic business goals of departments, management, and C-level execs. Having a CRM strategy and its supporting unique business processes clearly formulated and widely communicated early on will definitely lay the foundation for a successful CRM 2011 implementation and lead to higher user adoption.
Posted by Kevin Wessels on July 18, 2011 at 03:38 PM in CRM Best Practices, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
June 17, 2011
Eliminate Operational Inefficiencies and Create More Time for Advisor Sales Calls with CRM 2011 Workflows
Recently, I have had the pleasure of working closely with an investment advisory firm that currently uses Microsoft Dynamics CRM 3.0. This multi-state RIA has established aggressive AUM growth targets and aspires to deliver a more high-quality, consistent client experience. To enable its operational processes to become more tightly aligned with its business strategy and growth plans, the advisory firm has decided to upgrade from CRM 3.0 to CRM 2011. The firm’s owners and financial advisors are looking for CRM 2011 to be the cornerstone of their practice and their newly revamped client service delivery model. They intend to leverage the enhanced functionality of the widely praised CRM 2011, especially its workflow capabilities, to streamline, automate, and simplify core process task creation, tracking, and completion. Also, they feel the automatic activity ownership assignment functionality will instill more accountability and result in the elimination of process gaps and repetitious, redundant behaviors.
The triggers, timeframes, task owners, and dependent conditions for the firm’s workflows are all being carefully defined, designed, developed, and refined with the help of Customer Effective. In particular, the RIA’s required core workflows in CRM revolve around the conversion of prospects to clients, the process of client onboarding, the setup of new investment accounts, changes in asset allocation strategies, and the process of initiating and tracking client withdrawal requests. All of these workflows, along with the automatic creation and tracking of investment reviews and follow-up meetings based on client service tier levels, are fairly common in our CRM implementations in the financial advisory space. In many of these workflow scenarios, the completion of one mission critical task results in 1) the automatic creation of another task for oneself or for someone else, 2) the updating of a specific data field in CRM, and/or 3) the immediate delivery of an email to a colleague with a notification reminder, alert, or summary of a recent development or outcome in a key process. For instance, the following simple steps could occur as part of a more comprehensive automated workflow in the case of the RIA receiving a client distribution request:
- the account administrator would receive a task reminder to fill out the pertinent detail in CRM and complete any required paperwork to initiate the withdrawal (as needed, follow-up tasks could also be generated to attain any required client signatures after a pre-defined number of days);
- upon completion and receipt of the needed signed paperwork, the firm’s designated trader would then receive an auto-email notification from the account administrator and be assigned the task of executing the necessary trades based on the withdrawal amount, available cash balance, and the particular payout/transfer out/exchange instructions;
- the financial advisor on the account, and even the client, for that matter, could then receive an auto-email from the account administrator or client relationship manager summarizing the final distribution amount along with transaction details upon successful submission, execution, and settlement of the trade(s).
Due to the fact that to-do’s, conditional checks and waiting conditions, and activity progress can be automatically created and tracked in CRM and directly integrated with MS Outlook, the odds of follow-up items falling through the cracks or being delayed are lowered. In a way, CRM workflows force sales and service personnel to collaborate and communicate more frequently with their peers. Moreover, with the help of workflows, the RIA firm expects to achieve an increase in staff productivity and a reduction in manual data entry in multiple systems and spreadsheets. These combined gains in operational efficiencies are anticipated to decrease turn-around time on client requests and also free up hours for more value-added client and prospect-facing activities. Therefore, the RIA is better positioned to achieve their lofty growth objectives and expand their client base in not only their headquarters, but also in their satellite offices.
Furthermore, the utilization of well-defined workflow rules ensures that all of the RIA’s employees will demonstrate more consistency and uniformity when dealing with their high net-worth customers. Additionally, workflows via automatic task generation and ownership assignment will facilitate better compliance and adherence to corporate-wide policies, procedures, and deadlines. The open, collaborative environment of CRM will allow users to view current and upcoming open activities as well as any closed or completed activities related to records, such as Contacts and Accounts. Managing directors, partners, advisors, and support teams can all have access to see what tasks are overdue and outstanding for their most high-profile relationships. With such overall visibility into the stage and task-level detail of the workflow available in CRM, client service associates will take more pride in efficiently completing their tasks. Since they do not want to be constantly identified as the main cause of a process bottleneck concerning any of the firm's most profitable clients, service levels should improve throughout the organization.
To learn more about how Customer Effective can help financial advisory firms craft and execute a plan to reduce administrative burdens and focus more time on relationship building, managing investments, and growing their practice, please visit www.customereffective.com. We can leverage our pre-existing wealth management-tailored templates and configurations along with our vast experience in the financial services space to automate error prone, labor-intensive, and complex activities, such as account opening and client onboarding, via workflows.
Posted by Kevin Wessels on June 17, 2011 at 10:14 AM in CRM Best Practices, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
June 08, 2011
Retrieving All Attributes in Microsoft Dynamics CRM 2011
Occasionally you may come across the need to return all of the attributes on an entity. Today I’m going to show you how to return all attributes inside of Fetch, within the IOrganizationService, and provide a little caution about returning all attributes.
Fetch XML
This is pretty well documented, but it’s worth mentioning. In FetchXML, you’ll simply use “<all-attributes />”:
<fetch mapping='logical' page='1' count='10'>
<entity name='account'>
<all-attributes />
<link-entity name='systemuser' to='createdby'>
<filter type='and'>
<condition attribute='firstname' operator='eq' value='Jeff' />
<condition attribute='lastname' operator='eq' value='Smith' />
</filter>
</link-entity>
<filter type='and'>
<condition attribute='createdon' operator='today' />
</filter>
</entity>
</fetch>
This query returns all of the accounts that Jeff Smith created today. In this example the “<all-attributes />” only applies to the account entity and does not return all of the attributes of the linked entity.
IOrganizationService
When it comes to the IOrganizationService, I couldn’t find any examples of this but was able to figure it out from the SDK. Here it is simply:
ColumnSet csAll = new ColumnSet(true);
Entity retEnt = (Entity)_service.Retrieve(sLogicalName, gEntity, csAll);
The trick here is that we need to build our ColumnSet with a Boolean value of true.
When to Use ALL
First off, it should be rare in production code. The reason you want to typically avoid returning all of the attributes is because it will be slower if you aren’t using but a few of the attributes. Typically you will specify what attributes you need or tie into a CRM View (which allows the user to easily change what records are displayed).
Sometimes though, you may need to provide flexibility in lieu of a slight performance hit. I came across the need for returning all of the attributes due to a customer portal where I am dynamically displaying an entity and allowing the user to update the entity. Using all attributes, I can allow the Portal form to be customizable as well as allowing for any entity.
Posted by Paul Way on June 08, 2011 at 08:47 AM in CRM Best Practices, CRM Development, Dynamics CRM 2011, Microsoft CRM Tricks and Tips | Permalink | Comments (0) | TrackBack (0)
May 20, 2011
Take Control of Your CRM 2011 Dashboard With the Report Control
The more I see and work with the CRM 2011 Dashboards, the more I like them. One thing that I was curious about upon the first release was how to embed an SSRS report into a Dashboard, and of course our good friends on the Microsoft CRM Team had an answer for that here. I’ve always been a big fan of the integration with SSRS reports and used it extensively in version 3 to extend the application in a seamless way for users. The dashboarding capabilities in 2011 have been lauded by 2011 customers, developers, and consultants (or in our case “all of the above”) for good reason, and Microsoft having made the process of adding a report to a dashboard extremely easy is a nice touch. I have a customer dashboard now which uses embedded SSRS reports, out of the box charts, and also custom charts (more on that in a separate post).
With all this said, the dashboarding and charting capabilities within CRM highlight the need to ask the question of when or whether to use a report in the first place more than ever. Given all the tools in 2011, reports should be a last resort. SSRS is powerful, but the out of the box charting capabilities powered by Advanced Find make it overkill in many situations. The rule of thumb is if you can put together the data in Advanced Find, use the out of the box charting tools over SSRS.
Posted by James Diamond on May 20, 2011 at 08:49 AM in CRM Best Practices, Dynamics CRM 2011, Microsoft CRM Reporting | Permalink | Comments (0) | TrackBack (0)
May 06, 2011
MSCRM 4.0 Client for Outlook and Upgrade to CRM 2011
I was currently working with a customer that was using Microsoft CRM 4.0 Online. Focusing just on the Clients for Outlook issue, part of the concern with upgrading to CRM 2011 Online was when to upgrade all of the users that were using the CRM 4.0 Client for Outlook. The CRM 4.0 Client for Outlook will connect to and work with the upgraded CRM 2011 Online environment. The main caveat to this is that your CRM 4.0 Client for Outlook must be on Update Rollup 7 (UR7) or later. UR 7 was released in October 2009 so hopefully you have been staying up to date with your Update Rollups. This must be installed prior to the upgrade to CRM 2011. The Microsoft Dynamics CRM version for UR 7 is 4.0.7333.2138.
Another significant note is that any CRM 4.0 Client for Outlook that is on Update Rollup 10 (UR10) can be upgraded to the CRM 2011 Client for Outlook without having to first uninstall the CRM 4.0 Client for Outlook. UR10 was released in April 2010 so hopefully you have this Update Rollup installed at a minimum as well. The Microsoft Dynamics CRM version for UR 10 is 4.0.7333.2741.
This compatibility between versions can ease the upgrade process.
Posted by Mark Weilandt on May 06, 2011 at 01:37 AM in CRM Best Practices | Permalink | Comments (0) | TrackBack (0)
April 26, 2011
Wealth Management Firms Look to Rev Up CRM Technology Spending
At the end of March, I had the privilege of listening to an InformationWeek - Wall Street & Technology webcast entitled “CRM Integration Strategies to Increase Financial Advisor Satisfaction and Drive Growth.” One of the featured speakers was Sophie Schmitt, a Senior Analyst with the Aite Group, an independent Boston-based research and advisory firm focused on the financial services industry. During the webcast, Sophie highlighted the value that CRM can provide to wealth management firms. She also previewed some of her findings from her latest report entitled “CRM for Wealth Management: Approaching Total Practice Management.” Sophie shared that leading, best-in-class wealth management organizations implement CRM throughout their sales and client services teams and these users consistently abide by and adhere to uniform best practices. The resulting increase in productivity from CRM enables advisors to interact with top-tier clients more frequently and stay abreast of an influx of client requests and activities. The use of CRM along with other integrated technology lays the foundation for a total practice management approach, for it provides a unified view of all client assets and liabilities. All in all, CRM empowers the financial advisor to truly deliver a unique, differentiated experience to their sophisticated, high net-worth clients, who are becoming increasingly demanding and risk-averse after the financial meltdown. As a result of these new realities, Aite affirms that the wealth management sector is one of the fastest growing areas of overall IT Capital Markets spending. In fact, it was revealed that 22% of surveyed firms intend to increase their IT spending to aid their wealth management practices. Aite’s report even forecasts that North American wealth management firms will increase their investments in CRM technology by 8% over the next five years, as spending is estimated to rise to $620 million in 2014 from approximately $460 million in 2010.
Despite the anticipated increase in IT CRM spending, there is still plenty of room for growth in the wealth management arena. For instance, of the 380 financial advisor respondents to Aite’s survey, almost 25% of them disclosed they currently do not have access to a CRM system or they do not find a CRM solution useful enough to incorporate into their business model. Today is a great opportunity for advisory firms to adopt CRM technology and strategies into their practice. Wealth management firms need CRM not only to more effectively manage affluent household prospects to grow their total assets under management, but to also enhance client service to existing clients, who often have relationships with multiple other advisors, which was previously discussed here. Furthermore, with more regulatory oversight and required disclosures looming on the horizon, it is critical that wealth management firms equip their producers with a CRM tool, just so they can demonstrate compliance and maintain their fiduciary standard. All historical interactions, including client investment recommendations, can be logged. Embedded workflows can streamline and automate processes, such as client onboarding and the set-up of recurring client portfolio review meetings. With all client activity, notes, and background stored in CRM directly within Outlook, client support teams will know exactly what is going on with a client, even if the primary advisor is not in the office. That is, support levels and response times should not drop off if an advisor is in another meeting or traveling.
Finally, it should be noted that Aite ranks Microsoft Dynamics as a best-in-class CRM provider in the large firm category. Moreover, due to the widespread adoption over the past decade of the cloud computing hosted model and its relatively lower total cost of ownership, firms of all sizes can now take advantage of the enterprise-class functionality and scalability of Microsoft Dynamics CRM 2011. In particular, Aite’s report praises Microsoft Dynamics CRM’s highly flexible architecture, which allows wealth management firms to customize and tailor the solution to meet their unique needs and distinct business model.
To learn more about how Customer Effective can help wealth management firms leverage a customizable, collaborative CRM solution that will pave the way to a total practice management and comprehensive financial planning experience, please visit www.customereffective.com.
Posted by Kevin Wessels on April 26, 2011 at 04:38 PM in CRM Best Practices, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
April 19, 2011
Lessons Learned Migrating Data to Microsoft Dynamics CRM 2011
When companies using Microsoft Dynamics CRM 3.0 or 4.0 move to Microsoft Dynamics CRM 2011, there are some decisions to be made around how to move your current environment and data to CRM 2011. If you have an on premises installation, you can install CRM 2011 on premises and upgrade your MSCRM database to CRM 2011. This will bring in all of your customizations and data from CRM 4.0.
Upgrade or Migrate?
In some cases, a direct upgrade may not be practical, and you may want to selectively migrate data:
- If your existing data is not clean, you may want to start clean with 2011 and selectively migrate just the good data. As an example, consider if at one time you used contracts in CRM 4.0, but you changed your configuration to manage contracts in a different way—you may not want to bring in the legacy contract data if it no longer fits your current approach.
- If your environment is older than CRM 4.0, you may want to do a migration. if you are on CRM 3.0 or CRM 1.2, you cannot directly upgrade to CRM 2011—you have to do incremental upgrades. Say you have CRM 1.2, to upgrade you would need to upgrade to 3.0 on your 1.2 server, then install crm 3.0 on a Windows 2003 server with SQL 2005 and upgrade to CRM 4.0, then install CRM 2011 on a 64 Bit CRM Windows 2008/SQL 2008 environment and import and upgrade your 4.0 environment to 2011. The further away you are from 4.0, migration of the data becomes more practical then upgrading, given that there is potential risk of the process failing at each point of the upgrade.
- If you are moving from CRM on premises to CRM Online, you will need to migrate your data. There is currently no automatic upgrade process for Dynamics CRM on premises to CRM Online. You can import customizations from CRM on premises to CRM Online; however, moving data still requires a migration.
Migration Options
If you decide to do a data migration to CRM 2011, there are a couple of options to consider
1. Data import utility: CRM 2011 includes a data import utility, and it can take data exported from flat files and import them into CRM 2011. This tool is much improved from CRM 4.0, and it now handles larger data files and improved validation for data types, so you can more reliably import data. Using the tool you can easily import your accounts, contacts, opportunities, and other standard or custom entities.
There are some areas that are not accessible via the import utility. Some of these areas include:
- Activity attachments
- Certain parts of the product catalog
- Activity parties for e-mails with more than one recipient
- Notes with attachments
- Contracts
- If your data is mainly core entities like accounts and contacts, you should be able to use the import utility; however, if you have many activity parties or attachments, the import utility may not be able to completely migrate your legacy data.
- User mapping for ownerid and other user lookups can be problematic, especially if names are different in the new version, or if old users no longer exist.
- In some cases, you will want to update records after they are imported. For example, Accounts and Contacts can present a classic “chicken and egg” scenario. Contacts reference accounts, and accounts reference primary contacts. If you insert companies first, you won’t be able to populate the primary contact on the company record before the contact is created. You will need to insert the companies, insert the contacts, and then come back and update the company to set the primary contact. The import utility can update records if the GUID is in the first column of your csv file; however, this can require a bit of manual work to update the existing records.
2. Scribe Insight: Scribe is the leading vendor for CRM data migrations and integrations. Scribe provides an adapter to connect to CRM 2011 as well as earlier versions of Microsoft Dynamics CRM, and can easily load data into entities that cannot be loaded with the standard import utility.
We have migrated several of our clients as well as our internal environment from CRM 4.0 to CRM 2011 online. As part of these migrations, each had data in entities that could not be migrated using the standard import utility. For these migrations, we chose to use Scribe.
As referenced in my earlier post, Scribe includes an auto-map feature that can simplify the mapping of the data for your import. Just specify the legacy environment as your source, select the new environment as your target, and auto link by name.
There are a few things you won’t want to auto map:
- userid—chances are that your user id’s will be different in the target than they are in the source. I did a dblookup formula in Scribe to translate the fullname of the user in the legacy system to the userid of the user in the new system.
- Transactioncurrency—unless you have more than one currency, you can leave this field blank.
- AddressID—you will see for each address on accounts and contacts a field called addressid (Address1addressid and address2addressid). Do not auto map these.
- Statecode and statuscode—when I brought in my accounts, contacts, e-mails, appointments, etc, I did not map the statecode and statuscode fields. The reason is that if you set a record to be inactive, you cannot relate other records to it. There is a good chance that you will have activities, notes, contacts, or other records that are linked to inactive records. By leaving them active you can establish all relationships, then run a simple update dts at the end of the process to close out the inactive records
By doing this, I was able to quickly import the records from my on premises CRM environment to CRM Online.
Limitations
There are a handful of limitations that I found through this process that Scribe and the import utility cannot import. These are mainly some deeper areas of CRM that are not exposed through the API.
- Quick campaigns are entity bulkoperation, and they cannot be imported by Scribe or the import utility. This also means that activities like email where the regardingobjectid is set to a bulkoperation record will also not be able to be imported
- Contracts have limitations around how they can be imported—they can only be imported in draft status, and you cannot associate other records, such as cases with them if they are not Active status and have an expiration date in the future. Manual intervention will be required to import cases and set them to a state that can be updated.
- When importing opportunities, the actualclosedate will be set to today’s date, even if you try to load another date to that field. The recommendation is after you update the status of the closed opportunities to Closed, run an update dts against opportunities updating the actualclosedate to the correct date.
- If you are reading from your legacy CRM database as a SQL or ODBC connection, be aware that if there are any ntext or long varchar fields, they must come last in your source query. If they don’t, the field will appear null and data will not come across for these fields. This is especially applicable for things like activity description fields. If your entity has more than one long varchar field, you may need to run subsequent update dts with the other long field listed last in the source query. An alternative approach is to install the new CRM 2011 adapter and point the old adapter to your legacy CRM system as your source, and point the 2011 adapter to the new CRM environment as your target. The crm adapter does not have the long varchar limitation.
Lessons Learned
In an effort to help others learn from my mistakes, here are some of my lessons learned after a couple of migration upgrades:
1. Determine which entities are being used. The easiest way to do this is to look at your SQL MSCRM database. View tables by number of records—this will help you determine where data is, and where it is not.
2. Determine the order—It is crucial that you import your data in the right order, so that data referenced in lookup fields is present when the record is imported. For example, you need to have your accounts in before you load your opportunities. As a general rule, have any accounts, contacts, opportunities, quotes, orders in before you load cases, and load activities last.
3. Don’t close cases or other records until all activities have been loaded, and don’t close activities until all activityparties and attachments have been loaded.
4. Activityparties are probably the most difficult thing to import. If you don’t know, activity parties are the people and companies associated with activities like e-mails in the to: field or the appointment in the requiredattendee field.
- If you have deleted any activities from your crm system, there is a good chance that some activityparties will be left behind.
- When you create an e-mail and track it in CRM, if one of the recipients is not in CRM as a contact, account, or user, it will create an activity party not linked to any partyid in CRM. These records cannot be imported.
- When you create an activity in CRM, activity parties are created for the sender, the recipient, but also the owner and the regarding of the activity. When you import the activities, these activityparties will automatically be created. If you then import the activity parties including these parties, some rows will fail telling you that they already exist.
- Activityparties cannot be easily deleted.
To avoid these headaches, set up your activityparty dts source query to inner join activityparty to activitypointer to filter out any activityparties linked to an activity that was deleted from the system. Also, filter out where activitypartyid is null and activitypartytypecodemaskname = “Regarding” or “owner.” This will cut the list down to just the legitimate activityparties, and save much time.
Remembering that activityparties can’t be deleted, if you have several hundred thousand activityparties in your database, you will want to break this process up into smaller chunks, maybe by year. That way you minimize the chance of the job failing, and having to re-load any data. You can also run them simultaneously and load the data faster.
Once the activityparty load was complete, I then ran a cleanup dts that joined the activityparties where partyid is null to contacts on addressused = emailaddress1. This successfully matched most of the unmatched activityparties, and I loaded setting partyid to contactid.
5. Users: If you have been using CRM for several years, there is a good chance that there are users in your system who have been deactivated, and that those users own records, such as activities. Keep in mind that to assign a record to a user, the user must be active. So if you have a former employee named Bob Smith, if you want to import activities and assign them to Bob, you will need to temporarily have his user record active in the new system. This means creating records for users who are no longer at the company.
For our migration, we created users for former employees. Given that CRM Online uses Windows Live ID for authentication, you might think this means that you have to set up legitimate Windows Live ID’s for each old user; however, this is not the case. You can create users using any made-up address, and save the user without sending an invitation to that address. You can then assign records to the user, and then disable the user record.
An alternative approach is to create a generic user called “former employee” and have Scribe assign any records owned by a former employee to this user. While this approach is faster, it may detract from visibility to who created the record.
6. Do not load directly to the activity entity. You have to load to the individual activity type entities—email, appointment, phonecall, or task.
Keeping these best practices in mind, you can quickly migrate your data from CRM 4.0 to CRM 2011 Online.
Posted by Joel Lindstrom on April 19, 2011 at 01:51 PM in CRM Best Practices, Scribe | Permalink | Comments (1) | TrackBack (0)
April 15, 2011
Gain and Secure Employee Buy-in to Your New CRM System
Most workers value tools provided by their organization that help them do their jobs better. Some covet a platform that will reduce their time spent on cumbersome, manual-intensive activities, keep them more organized, and make it easier to find data. Others desire a tool that allows them to spend more time with clients and prospects. For instance, if employees are convinced that a new CRM system can help them be more effective in their respective roles and enhance their efficiency, they will be more motivated and inclined to learn and incorporate it into their daily routine. However, if employees feel that the new CRM system will not increase their overall productivity, they will demonstrate a resistance to change and be reluctant to learn the new platform. New technology tools that come with steep learning curves and actually add extra time-consuming steps to already existing arduous tasks will certainly not be embraced by employees. Similarly, users will not be fond of a new CRM system that takes an extraordinarily long time to implement and that does not even provide the core functionality improvements requested and absolutely needed by the user base. As new users become frustrated and confused by the new system, they will spend more time complaining at the water cooler rather than working on mission critical tasks. The users’ growing disdain and lack of commitment to adopting the new CRM system can unfortunately become an enormous roadblock for a successful CRM implementation. Without employee buy-in, the gains achieved through the CRM implementation will be quite minimal and few and far between. The buy-in must come from all levels of the company, from upper management to power users to less frequent users of CRM.
After selecting a CRM solution, executive management must ignite a sense of excitement as the implementation project commences. In order to execute a smooth transition to the new CRM system, upper management must also demonstrate a steadfast commitment to completing the implementation on time, exude a passion for learning and mastering the system, and actually use it every day themselves. Management must not only be positive, supportive, and passionate about the CRM system, but also communicate early and often with the user base and explain why exactly the firm is embarking upon this CRM initiative. By clearly articulating the benefits of the CRM system and how it will help the firm and specific departments meet strategic business objectives, employees will recognize that their time invested in training and familiarizing themselves with the system will not be wasted. Upon hearing and experiencing how the CRM system is going to help their on the job performance and yield personal advantages, users will be more likely to embrace and support the implementation project. Frequent communication and extended training support are keys to boosting a firm’s adoption rates. It should be noted, though, that tactfully securing employee buy-in needs to occur well before UAT. Moreover, end-users should not be left alone to figure out the system on their own after UAT. They more than likely will need continued assistance and motivation as they become acclimated to the new system. To further accelerate adoption rates, executives and project champions must continue to engage users, offer encouragement, and share CRM success stories. Doing so will renew a sense of focus, urgency, and pride in leveraging the CRM system of choice across the user base.
If you are currently evaluating CRM systems and are clamoring for ways to help employees automate their marketing, sales, and service activities, then you should consider investing in Microsoft Dynamics CRM 2011. The familiar, intuitive Microsoft Office interface and tight integration with Outlook in CRM 2011 provides a better, personalized user experience, which will drive user adoption throughout your organization. The comprehensive solution suite of CRM 2011 offers flexible point-and-click customizations and deep configuration capabilities that can actually meet the needs of end-users. As employees come to trust and appreciate the robust, yet easy-to-learn functionality of CRM 2011, they will want to learn the system faster, utilize it more frequently, and share their knowledge with co-workers more often. By gaining user buy-in to CRM 2011, you will definitely increase not only user adoption, but also the firm’s overall ROI on its technology purchase.
Posted by Kevin Wessels on April 15, 2011 at 08:53 AM in CRM Best Practices, Dynamics CRM 2011, Microsoft CRM Implementation | Permalink | Comments (0) | TrackBack (0)
April 08, 2011
Social Selling with Microsoft Dynamics CRM 2011
Social selling has arisen as the word du jour in the sales industry, and its prevalence amongst successful sales representatives suggests that social selling is more than just a trendy buzzword. Seventy-nine percent of global companies use Twitter, Facebook, or YouTube in their sales teams, and Forrester Research estimates that firms will spend $716 million on social media in 2011. So, if social selling is here to stay, what should your sales department do to stay up to speed with the social selling craze?
The most important, and often most perplexing, aspect of social selling is its definition. While millions of business people connect with professional acquaintances through LinkedIn and Twitter every day, they do not all recognize that they are social sellers. In a recent study, advertising powerhouse OgilvyOne learned that while forty-nine percent of salespeople think social media is important to their success, only nine percent of US salespeople feel their companies have adequately trained them to use social media to increase their sales success. This vast disconnect lies in the reluctance of sales leaders to label their sales strategy as social media based. However, chances are that if ninety percent of your sales representatives research their prospects’ social media presence at any point during the sales cycle, your team has embraced social selling. Whether or not a sales team terms their selling approach as social, sales representatives who recognize that they can use social media to learn everything they ever wanted to know about their prospects – without even picking up the phone – have mastered the art of social selling.
Deciding which social media tools to engage with can also confuse sales teams. Millions of bloggers post opinions and intelligence on just about everything – every day. As of January 1, 2011, Twitter users were tweeting 110 million tweets per day. With so much traffic to popular social media sites, such as Twitter, it is a no-brainer that you will find your customers and prospects through social media. The challenge lies in determining the relevant social media sources amongst the millions of impertinent ones. Sales representatives that get the importance of social selling can spend hours sorting through hundreds of sources every day to find the one gold coin that will help them win a deal. Which brings us to the next social selling challenge: finding the right platform to enable your success with social selling.
Social selling can be as simple as following a customer on LinkedIn, but the most successful salespeople fully integrate all relevant social media with every aspect of their sales cycle. Sales intelligence applications, such as InsideView, bring social media into Microsoft Dynamics CRM 2011 so sales people can incorporate social media into their existing sales pipelines. When social media integrates into your sales pipeline, you don’t have to open twelve separate tabs to show LinkedIn, Twitter, Facebook, Google Alerts, company blogs, etc. Social selling becomes a lot less elusive when you can practice it with every lead, every prospect, and every customer.
Besides bringing in real-time content from social media sites, InsideView also triangulates and aggregates company and executive contact information from leading and more traditional data sources, such as Capital IQ (a Standard & Poor’s company), Thomson Reuters, Jigsaw, Cortera, and NetProspex. As seen below, core company data, including Revenues, # of Employees, Industry, business description, and org structures, are accessible within Microsoft Dynamics CRM 2011 along with social media profiles and recent tweets of key contacts and decision makers. Constantly receiving these compelling prospect and client insights directly within CRM 2011 in such an organized and timely fashion will definitely increase your sales productivity and accelerate your sales cycle.
--- Source: http://www.insideview.com/resources/sfa-crm-microsoft.pdf
Brad Wilson, the General Manager of Microsoft Dynamics CRM, further comments on InsideView for Sales and the strategic partnership with Microsoft:
“InsideView for Sales is a great addition to Microsoft Dynamics CRM. InsideView for Sales provides an entryway to the social Web and empowers sales and organizations to gain valuable insight from a wide range of information sources beyond data contained in Dynamics CRM. As a partner, InsideView complements our mission of enabling businesses to find, win, and grow profitable customer relationships.”
--- Source: http://www.insideview.com
Additionally, InsideView, when used with Microsoft Dynamics CRM 2011, gives you the added capability to bring social media intelligence right into your Outlook email. Sales reps can opt to receive daily emails containing the latest stories on highly coveted prospects, such as leadership changes, funding news, new product offerings, or expanding operations. In the example below, I opted to receive a daily email for one of my favorite companies, Nike. The email contains feeds on some new product offerings, a few announcements on new office and warehouse locations, and one story about an upcoming business challenge. Having this relevant, up to date information delivered to your inbox can certainly give you a better understanding of your prospects and give you an immediate edge on other sales reps.
For more information on how the use of InsideView’s sales intelligence solutions in conjunction with Microsoft Dynamics CRM 2011 can help you find and close more deals, please visit www.insideview.com.
Lastly, special thanks to Lisa Fugere at InsideView for contributing content to this post and sharing her insights!
Posted by Kevin Wessels on April 08, 2011 at 10:36 AM in CRM Best Practices, Dynamics CRM 2011, Web/Tech | Permalink | Comments (0) | TrackBack (0)
March 30, 2011
Retain More Clients and Offset Rising Bank Compliance Costs with Microsoft Dynamics CRM 2011
As prospects of a double-dip recession fade, the size and pace of bank failures in 2011 is significantly lower than this time last year. Yahoo! Finance references the FDIC’s failed bank list and notes that 25 banks with $9.9 billion in total assets failed through the first eleven weeks of 2011, whereas 37 banks with $21.6 billion in total assets failed through the first ten weeks of 2010. The rebuilding phase began for banks in 2009, and it continues today. In order to refocus on growing future revenues, banks have de-risked their balance sheets, raised new capital, and aggressively written down bad loans and securities.
Despite this recent progress, Retail Banks are still struggling with declining customer loyalty and brand image perceptions. A 2007 study from J.D. Power and Associates, for instance, found that 46% of customers indicated they would not change banks during the next twelve months. In 2010, though, only 34% proudly proclaimed they would not switch banks in the next year. As a result of the banking consolidation wave of the past decade, the current prevailing low interest rate environment, and the increasing ease of switching banks, today’s customers are more inclined than ever to shop around and take advantage of promotional teaser rate offers from both bricks and mortar financial institutions and online banks. Further complicating matters, the legislation of Dodd-Frank, Regulation E, and the CARD Act is drastically increasing compliance costs and reducing fee revenue for banks. For example, CardHub.com predicts that one proposal of Dodd-Frank could result in Retail Banks losing 57% of the revenue they receive from interchange fees, which are collected from merchants each time a consumer swipes a debit card. In response to these drastic measures, many banks have implemented pilot programs for charging higher fees on checking accounts. Some have already chosen to increase late payment fees and overdraft fees, while others have completely eliminated the popular free checking account option. As Retail Banks react to such sweeping legislative changes and restrictions by modifying their fee structures for checking accounts and credit cards, it is inevitable that many customers will shop for a new low-cost banking service provider. In order to better deal with these unprecedented regulatory challenges and the probable ensuing shifts in consumer behavior and loyalty, Retail Banks must focus on relationship banking rather than traditional transactional, product-focused banking.
Even prior to the rampant financial-overhaul legislation, banking customers demanded personalized service at a reduced cost that is available at all times and from any location. To deliver a better customer experience and achieve sustained customer relevance and loyalty, Retail Banks must create a customer-centric organizational culture and execute a firm-wide collaborative CRM strategy. Banks that leverage a top-tier CRM system, such as Microsoft Dynamics CRM 2011, will be able to capture greater knowledge on all customer interactions across every bank distribution channel and department. Retail Bank employees will no longer be disconnected or limited by non-integrated systems because all of the sales, underwriting, advisory, and service teams can collect and view consolidated comprehensive client data in one centralized location within CRM 2011. Having a unified 360° view of customer and account data and activities improves the quality and consistency of the Retail Bank’s service model across all distribution channels. As Retail Bank employees take advantage of CRM 2011, they can refer to the complete financial picture of the client’s situation. Now with more insights on their clients, Relationship Bankers can recommend more relevant products and services in terms of client goals and timelines, and deepen customer relationships. Instead of just quickly opening up one simple checking account, Retail Banks can place clients in a tiered account relationship package that rewards clients with lower and possibly even zero fees if used responsibly. The act of more effectively profiling the customer and addressing his needs with a better-suited set of solutions makes it easier to retain clients and cultivate trust. Moreover, by placing clients in appropriate accounts and offering improved client service with the help of CRM 2011, banks will produce more lasting, positive experiences with customers, regardless of the channel touchpoints. Thus, customers will be more inclined to do additional business with their primary bank, and they will have less incentive to be lured away by a limited-time special offer from a rival institution.
The utilization of CRM 2011 can also help Retail Banks lower their operating expenses. With CRM 2011, the barriers of organizational and product-centric silos can be eliminated, the intuitive user interface can be personalized and customized per job role, and many routine cross-departmental manual-intensive processes can even be automated via robust workflows and dialogs. As Retail Bank CRM users coordinate and collaborate more effectively, they will increase their productivity and operational efficiencies. As a result, CRM 2011 helps Retail Banks reduce overall operating costs, which is certainly essential to offsetting rising compliance costs and lost revenue from intensifying regulatory scrutiny.
Customer Effective has tailored the Microsoft Dynamics CRM 2011 platform for top-performing Retail Banks, Commercial Banks, Community Banks, and Credit Unions to enable them to retain loyal, profitable customers, enhance customer relationships, and better meet client needs and requirements, despite mounting regulatory hurdles and challenging economic conditions. To learn more, please visit www.customereffective.com.
Posted by Kevin Wessels on March 30, 2011 at 01:17 PM in CRM Best Practices, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
March 11, 2011
Preparing for CRM 2011: How to Make your Microsoft Dynamics CRM 2011 Upgrade Faster
We have had a number of clients upgrade from Microsoft CRM 4.0 to Microsoft Dynamics CRM 2011, and I have found that there are several steps that you can take prior to upgrading your environment that will make the process go faster.
1. Clear out the asynchronous table. We have previously posted many posts on proper care and feeding of the AsyncOperationBase table, which can grow vary large if you have heavy usage of workflows.
When you upgrade your environment, the upgrade process deletes out any legacy asynchronous system jobs. If the table is very large, this can slow down the upgrade. I recommend clearing out the completed jobs prior to upgrade.
2. Run the deletion service. In CRM 4.0, if you deleted records, the records were not immediately deleted—they were flagged for deletion, then the CRM deletion service came along, usually within 24 hours, and deleted the records.
One problem that can happen, especially if large numbers of records were bulk deleted, is that records can get stuck in the “soft delete” state.
In 2011, there is no more soft deletion of records—they are deleted immediately from the database when the records are deleted in CRM. When you upgrade, the upgrade process will hard delete any leftover “soft deleted” records. If you have many deleted records in your system, this step can take a while.
Before you upgrade, you may want to search your main entity tables to identify if you have a large number of soft deleted records still sitting in your database. For example, the following query will identify any deleted records that still exist in the account tables:
select * from accountbase where deletionstatecode = 2
If you find that there are high volumes of deleted records still residing in the database, you can clean them up with a free tool such as Mitch Milam's "Run CRM Deletion Service" utility.
3. Remove any unsupported database elements. If you have added any custom indexes, triggers, or tables directly to the MSCRM database (rather than through supported methods), you should delete these items prior to your upgrade. If you don’t, there is a chance that your upgrade will fail, and if it does, you will sometimes get an error that may not be intuitive.
All of the upgrades I’ve done have been successful, but this has been the area that has caused the most headaches. You will get an error that says something like “Cannot insert duplicate key in object 'dbo.#ActualColumns'” with no real explanation about what the issue is.
To avoid these headaches, if you have any non-supported database components, remove them prior to upgrade. After upgrading, you can restore them if you have to, or redesign them in a more supported way.
Posted by Joel Lindstrom on March 11, 2011 at 08:04 AM in CRM Best Practices, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
March 04, 2011
Preparing for CRM 2011: Talking with Friends (Part 2)
Last time we looked at SOAP XML and the potential drawbacks to Cross-site scripting. Collectively this falls into “Preparing for CRM 2011”, but the 3-part “Talking with Friends” looks at how your current environment fits into Online, Hosted, or On Premise. When evaluating CRM 2011, I think it is important to look at the cloud option and knowing what your CRM environment “talks to” will allow you to better understand cost comparisons as well as short/long term direction.
I started with SOAP XML because from the .NET perspective this is where everything has been for the past decade when it comes to web services. The landscape is changing though, and this can be seen with Microsoft’s offering of JSON REST web services within CRM 2011. In looking at SOAP XML within CRM 2011 though, we saw that there are plenty of ways to continue to use SOAP XML services. (Also note that the SOAP XML 4.0 endpoint is still there for backwards compatibility to CRM 4.0.)
Outside the CRM Box
Today we are going to look at two other ways in which you may be incorporating outside information or applications within your CRM 3.0/4.0 environment. The first of which is external databases. This could be data from your ERP system or really any other database backend. Secondly, we’ll look at web applications within your environment that you have integrated within CRM.
External Data
Sometimes as I write this I feel like I’m doing a marketing plug, but seriously we don’t recommend a tool unless we use it frequently and know that it works. When it comes to loading data into CRM from another database you can of course use SSIS, but often times we recommend using a tool called Scribe. Scribe offers an Online solution and allows you to easily integrate data from CRM Online to your ERP (or any other) system. The main point here is that you can integrate data from any of your systems while still being able to join the Microsoft cloud.
Web Applications
To clarify, I’m mainly talking about internal applications hosted within your CRM environment. You can find these by browsing IIS and looking at both your CRM App pool and the Web Sites that exist under Microsoft Dynamics CRM.
When it comes to applications, you will want to go application by application to see what is necessary to upgrade to CRM 2011. You could have applications pointing to the CRM 3.0 endpoint and those will be required to be upgraded no matter Online or On Premise (if you plan on keeping them of course). You may also have applications that utilize an iFrame to simply display data from another system. This is quite common and so long as the other system is accessible from the web, there really should not be much of an issue to keep this functionality.
Within the “Talking with Friends” series, embedded applications may tilt the scales in a direction when evaluating Online versus On Premise versus Hosted. It’s not to say that you can’t do everything from Online, but there are design considerations with each approach. With Online, custom web applications existing on the CRM 2011 cloud have to be written in JavaScript or Silverlight. To integrate a traditional ASP.NET web application, you have to host the application on another server (internally or within Windows Azure for example). Each web application you have integrated within CRM 3.0/4.0 will have its own set of options, enhancements and considerations to be evaluated. This is an important part of the upgrade and you should not only look at existing applications but also any future applications you have planned to integrate into CRM.
Anything is Possible
Microsoft has done an excellent job of making sure that anything that is possible on Premise is also possible in the Cloud; but, that doesn’t mean you can necessarily jump right in. There are caveats that you will need to iron out, but thankfully there are a plethora of options allowing you to really choose what’s best for both your short term and long term goals. When it comes to custom functionality and integrating external data, I certainly think Microsoft has made a strong case for keeping their CRM Cloud service on the table.
Posted by Paul Way on March 04, 2011 at 08:00 AM in CRM Best Practices, Dynamics CRM 2011 | Permalink | Comments (0) | TrackBack (0)
March 01, 2011
Firms Can No Longer Afford to Ignore Adopting CRM as a Strategy
Research from Bain & Company indicates that as little as a 5% increase in client retention can provide companies with a 75% boost in profits. In today’s intensely competitive global marketplace, an increasing number of best-in-class firms utilize CRM to drive performance across the enterprise and retain and add clients. Over a decade ago, some viewed CRM as optional or a “nice-to-have.” Today, though, CRM is a strategic business differentiator and essential to the long-term growth and success of an organization. The cost of not investing in CRM is significant. Negative results include smaller profits per customer, flat or declining revenues, eroding market share, lower margins than industry peers, lower returns on poorly-targeted and executed marketing campaigns, higher costs to acquire new clients, longer sales cycles, missed cross-sell opportunities, declining customer satisfaction rates, higher client attrition rates, increased turnover of valuable employees, lower shareholder value, hindered employee productivity, and uninformed, error-prone, and untimely decision making.
Oddly enough, some companies are still hesitant to invest in CRM. Often, these non-CRM adopters are complacent due to past success and they still adhere to product and service-centric strategies and metrics. Michael Porter, a Harvard Business School Professor and one of the world’s renowned experts on strategy and competitive advantage, elaborates: “If all you're trying to do is essentially the same thing as your rivals, then it's unlikely that you'll be very successful. It's incredibly arrogant for a company to believe that it can deliver the same sort of product that its rivals do and actually do better for very long. That's especially true today, when the flow of information and capital is incredibly fast.” Merely relying on a stellar track record and a pristine reputation to produce referrals and new business may have some sort of payoff in the short-term, but it certainly will not lead to any long-term sustainable competitive advantage. Besides offering unique in-demand products and solutions, companies must differentiate themselves by embracing a client-centric focus and implementing CRM throughout all levels of the organization.
Other reasons commonly cited for a reluctance to adopt a CRM strategy and utilize a CRM system include conflicting and more pressing IT priorities, budgetary constraints, or preferences for home-grown proprietary solutions. In other situations, lack of consideration for CRM may derive from a misunderstanding of what CRM entails. CRM is so much more than managing contact records and address books. It is about focusing on customers, building relationships, and capturing and tracking real-time data across multiple channels to better understand client needs and preferences so that they keep returning. Furthermore, CRM involves transforming and streamlining business processes to generate lasting client value, retain and satisfy more clients, and ultimately grow revenues. That being said, companies can no longer afford to ignore implementing a CRM strategy and investing in a leading-edge CRM system, such as Microsoft Dynamics CRM. IT initiatives must be re-prioritized and budgets must be reallocated to include room for CRM. Core legacy systems are no longer viable. They cannot integrate with other core systems, they are not scalable, they cannot grow with your business, they cannot provide real-time information, and they cannot push data to multiple electronic devices. Firms delaying CRM strategic investments will continue to lag and lose ground to industry leaders.
Lastly, firms in the process or in the need of establishing a CRM vision can benefit by watching this brief four minute video produced by Software Advice entitled “What is the current state of the CRM software market,” which is an executive interview with Brad Wilson, Microsoft Dynamics CRM General Manager. As always, Customer Effective can help assess your organization’s readiness for CRM and prepare you for a successful Microsoft Dynamics CRM 2011 implementation that meets or exceeds time and budget targets.
Posted by Kevin Wessels on March 01, 2011 at 08:00 AM in CRM Best Practices, Dynamics CRM 2011, Microsoft CRM Implementation | Permalink | Comments (0) | TrackBack (0)
February 28, 2011
Quickly Recreating Entities in Microsoft Dynamics CRM
So you configure your Microsoft Dynamics CRM environment and create many custom entities, only to realize that you made some configuration choices that cannot be changed. Maybe you created entities as organization owned, and you realize that you need them to be user owned so you can assign user or business unit security to them. Maybe you created entities without including notes or activities. These decisions are made when the entity is created, and there is no supported way to add these items after the entity is created (short of unsupported database surgery).
The only way to fix these types of issues in a supported was is to recreate the entity. This can seem like a scary proposition; however, it can be done fairly quickly and painlessly if you follow this strategy:
1. Back up your environment's MSCRM database
2. Export the CRM entity customization from the entities that you want to recreate.
3. Delete the entity
4. Update the customization file—see MVP Mitch Milam's post regarding editing the entity customization xml to change from organization owned to user owned. Note that you have to delete the entity, but you can edit the xml and reimport to quickly recreate the entity as a user owned entity. The linked post was written for crm 3, but it works for CRM 4 as well. It should also work for 2011, but you will want to compare a user owned and organization owned entity xml files and verify all of the differences between user vs organization owned entities.
5. Import the revised customization file
6. Import data back in to the environment
When you import the data back into the recreated entity using a tool such as Scribe Insight, you can simplify the process by mapping the ID (GUID) of the record from your backup database to the ID field of the new entity. This way if you have any lookups that refer to this entity, you won't need to do any lookups or transformation of the data to populate the lookups--you can just map the ID in the field from the source database to the new environment's lookup field.
If you use Scribe Insight, you can use the auto map feature to quickly map the fields from the backup database to the recreated entity. Right click on the target fields, and select “auto map.” This will automatically create links between the source and the target based on the attribute names.
Using this approach, I have recreated an entity and repopulated the data in 20 minutes.
Posted by Joel Lindstrom on February 28, 2011 at 12:30 PM in CRM Best Practices | Permalink | Comments (0) | TrackBack (0)
Technorati Tags: fix mistakes, Microsoft Dynamics CRM, recreate entities
January 27, 2011
CRM is a Continuous Voyage That Begins with Crafting a Strategy
“(We) only have two sources of Competitive Advantage: 1) The ability to learn more about our customers faster than the competition and 2) The ability to turn that learning into action faster than the competition."
- Jack Welch, former CEO of GE
In today’s ever-changing, hyper-competitive global economy, CRM is often a hot topic on the corporate agenda. CEOs are demanding sounder, more practical approaches to building customer loyalty and life-time value to maximize company growth, revenues, and profits and to stand apart from the competition. Striving to become a more customer-focused company, many businesses invest in a new CRM system, such as Microsoft Dynamics CRM.
While short-term results and enhancements with CRM are certainly attainable, it is important to keep in mind that investments in CRM systems are strategic and for the long-term. CRM is a voyage and a continuous journey. Implementing CRM will directly impact employees, operational processes, and technology. Prior to implementing a new CRM platform, firms must recognize that the success of CRM does not rest solely on the technology, the core features and functionality, or the bells and whistles. CRM is a business strategy enabled by an underlying technology platform. A successful CRM strategy starts first with Senior Management creating a client-centric organizational culture. Missing, half-hearted, or inconsistent executive sponsorship of this renewed client focus will lead to a breakdown and ultimately a failure in CRM strategic initiatives. All employees must be motivated to dedicate themselves to client loyalty and satisfaction and be encouraged to develop a more analytical attitude towards examining client behaviors, interests, preferences, and moods. Such a mindset transformation and new-found commitment will result in enhanced client service levels and a better use of R&D funding for products and services that are better suited to meet client needs. Executives must also ensure that the right people with the necessary skill sets are in the right roles with the proper incentives to make employees, the company, and the CRM strategic initiatives successful.
Based on a firm’s overall strategic goals, strengths, and weaknesses, business objectives of the CRM implementation should be clearly defined for both the short-term and the long-term. Firms must formulate and communicate specific, measurable, and time-oriented goals that offer far more insight and details than “to use CRM to increase sales,” “to reduce sales cycles,” “to maximize customer share of wallet with cross-selling and up-selling,” “to target more lucrative markets,” “to lower the cost of acquiring new clients,” etc. The preceding vague examples could be improved by adding deadline dates, actual goal percentages or counts, and particular targeted customer segments. For instance, the CRM objective of “to lower cost of acquiring new clients” could be re-stated as “to lower acquisition costs in consumer credit cards by 10% within 6 months by June 30, 2011.” Business objectives containing well-defined tactics and measurements will help employees better understand the firm’s mission, instill accountability throughout the organization, and pave the way for successful execution of a firm’s CRM strategy. To accomplish the firm’s new CRM strategic objectives, fundamental business processes and practices will have to be re-engineered, standardized, documented, and shared amongst relevant employees. In particular, department heads must pay special attention to processes that impact, integrate, and overlap with other departments or units and provide training as needed to ensure maximum user adoption of the Microsoft Dynamics CRM system.
Once companies move from the design to the actual execution of their CRM strategy and implementation of their CRM system, they will experience significant performance improvements. As sales and productivity increase, companies will have higher client retention rates and conversely lower customer attrition and defective rates. An often overlooked result of a successful CRM strategy is that the ensuing higher revenues and profits can actually be reinvested back into other robust systems to enable employees to work even more efficiently. Making their jobs easier with better, intuitive, and more technologically advanced systems, such as Microsoft Dynamics CRM, can actually have a positive effect on employee morale, which can lead to a decline in turnover. Thus, recruiting and training costs can then also be lowered. None of these resulting benefits would have been attained, though, without first clearly formulating the company’s CRM vision and strategy.
Posted by Kevin Wessels on January 27, 2011 at 06:09 PM in CRM Best Practices | Permalink | Comments (0) | TrackBack (0)
Technorati Tags: Microsoft CRM, Microsoft Dynamics CRM, user adoption
January 26, 2011
How To Migrate Millions of Records to CRM in Hours (Rather Than Days) Using Scribe
One of the criticisms that Scribe Insight sometimes gets is that it’s slow. While it is true that Scribe is not the speediest ETL tool out there, much of the blame for sluggishness can be attributed to DTS design.
One rule of thumb is that every trip to the source or target slows down the process. That means that dblookups and seek steps, while useful tools, cause the process to go slower. Also, updates and update/inserts hit the target 2-3 times, so updates are slower than inserts.
Here’s an example of what I’m talking about: I integrated a prospect database with Microsoft Dynamics CRM. This is going to be a couple of hundred records inserted or updated per day, but to get started, we first had to load the existing prospect data, roughly 2.5 million records.
I wrote the DTS for the on-going integration, in which I used an update/insert step, as they will be getting updated information for existing prospects, and we want the process to update if it exists, and insert if it doesn’t. This DTS also contained a seek step and two dblookups to populate lookup fields in CRM from other CRM entities.
When I tested the DTS, it imported 10 records every 3 seconds. While this performance would be satisfactory for the on-going integration volume, it would be too slow for the initial migration of legacy data. At that rate, it would take 8 days to load the legacy data.
Here’s what I did to cut the migration of the legacy data down to a reasonable amount of time:
1. I copied the legacy data to a table in the ScribeInternal database, and made ScribeInternal the source for my migration DTS. This made it a shorter trip to get the data.
2. I moved the lookups and seeks to the source query. Instead of doing a lookup to the account table in the DTS, I joined the filteredaccount view from CRM in to my source query, and removed the dblookup and seek steps from my DTS. Now instead of having to seek for the id of a related record, I have the GUID in my source data, and write that directly to the accountid field.
3. Given that the legacy data contains unique records that do not yet exist in CRM, I made my migration DTS an insert step.
The result is that the DTS now only hits the source and the target one time. The difference in performance is pretty astounding. The migration DTS now moves 50 records per second, taking what would have otherwise taken days to hours.
The final thing you can do is to thread your job. As you may know, jobs run through XML message queues are threaded, meaning multiple operations happen simultaneously, but jobs run through the workbench are not threaded. If your on-going integration is going to be a high data volume, using message queues is a good way to go.
However, setting up xml based DTS for a one time migration can add a level of complexity. Another option to thread your jobs is to break your migration DTS into multiple DTS’s and run multiple instances of the workbench simultaneously. In this case, I made a copy of my migration DTS. In the first DTS I filtered the source query to just records created prior to 1/1/2008. In the second DTS, I filtered the source query to just records created on or after 1/1/2008. I then ran them at the same time.
You are still constrained by the resource limitations on your server and the CRM web services, but by following these steps you can optimize your migration processes to run in a reasonable amount of time, without having to resort to unsupported methods, like direct table updates.
Posted by Joel Lindstrom on January 26, 2011 at 02:59 PM in CRM Best Practices, Scribe | Permalink | Comments (0) | TrackBack (0)
January 21, 2011
Microsoft Dynamics CRM Best Practices: Recreate Or Move Contacts?
Scenario:
Julie Smith works for Acme Corp. She gets a better job offer and goes to work at Bobco. Both Acme and Bobco are your customers, and are in your CRM system. Should you change the Parent Customer on Julie’s Contact record in CRM from Acme to Bobco, or should you deactivate Julie’s existing contact record and create a new one under Bobco?
Answer: It depends
The answer to this question will be different, depending on your CRM strategy. First, you need to determine what your best practice for this scenario, otherwise you may have some unexpected results.
Option 1: Move the contact.
If we re-associate the existing contact record to her new company, we will keep an un-broken chain of activity history associated with the contact, giving us better visibility for the complete history of our relationship with this person; however, consider the impact on the account activity history. As you may already be aware, CRM rolls up activities from contacts to their parent account, so any emails related to any contact related to a company show up from the Account activity history view (if you are looking at the related regarding view).
- If the activities associated with the contact have been “set regarding” to her parent company, the activities from her time at Acme will still be visible from the Acme activity history.
- If the emails were tracked but regarding was not set to the parent company, these activities will no longer be visible from Acme activity history.
- Activities from Julie’s time at Acme will now show up under the related activity history for Bobco.
- There is no historical record of Julie’s time at Acme, since her contact now reflect Bobco.
So the biggest plus of moving the contact is that we have uninterrupted activity history for her across companies for which she has worked, but the biggest downside is that activities associated with her old employer will now show up under her new company.
Option 2: Deactivate and recreate the contact.
Say instead that we deactivate the existing Julie Smith record and create a new one under Bobco.
- Activities associated with Julie during her time at Acme, even those where the regarding was not set to Acme, remain visible from the Acme record.
- Activities from Julie’s old employer do not show up under the activity history
- The current active contact record for Julie only displays activity history after she started to work at Bobco.
- The deactivated contact record preserves a record that Julie worked at Acme
The biggest plus of recreating the contact is that we maintain a cleaner account activity history, the biggest downside is that we may lose some visibility (or obscure it) so recreating our relationship history with a contact or seeing what marketing lists they were associated with prior to their latest career move may be difficult.
Recommendation:
The recommended best practice is based on your CRM strategy:
- If your primary clients are companies, recreate the contact
- If your primary clients are contacts, move the contact
- If the contact is a third party resource/consultant that is an influencer for multiple companies, move the contact
- If the contact is a VIP with high value activity history, move the contact
What do you think, and how have you addressed this question in your CRM deployment? Let me know in the comments.
Posted by Joel Lindstrom on January 21, 2011 at 02:04 PM in CRM Best Practices | Permalink | Comments (1) | TrackBack (0)
January 20, 2011
CRM Online E-mail Security Message: This content cannot be displayed in a frame.
I starting working with a client using CRM Online, who had previously installed a sales methodology accelerator. While trying to send an e-mail from CRM, I would always get the following message:
Having another client with CRM Online, I tested sending an email there and I didn’t encounter the security message. I also made sure this site was listed in my ‘Trusted Sites’ in Internet Explorer 8, as well as enabling “compatibility mode”. To complicate things, a test of this issue using IE7 did not create the problem. Unfortunately, the client PC’s are all running IE8 and reverting back to IE7 is not an option.
Solution
The installed accelerator changed an obscure email setting in CRM. It made CRM require the use of secure frames to restrict e-mail message content.
To change this setting, go to ‘Settings’, ‘System Settings’ and click on the ‘E-mail’ tab. Under the ‘Set E-mail form options’ section, set ‘Use secure frames to restrict e-mail message content’ to “No”. See below.
This seems like an easy-to-find solution, but the added variable of IE versions really increased the size of the “haystack” where the needle was hiding.
Posted by Chris Weilandt on January 20, 2011 at 04:49 PM in CRM Best Practices, CRM Business Process | Permalink | Comments (0) | TrackBack (0)




Recent Comments