<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Customer Effective Blog</title>
    
    <link rel="alternate" type="text/html" href="http://blog.CustomerEffective.com/blog/" />
    <id>tag:typepad.com,2003:weblog-1530658</id>
    <updated>2013-05-22T09:25:34-04:00</updated>
    <subtitle>Microsoft Dynamics CRM Blog from Customer Effective, CRM Experts and a Microsoft Inner Circle partner.</subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/CustomerEffectiveBlog" /><feedburner:info uri="customereffectiveblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
        <title>Show Marketing Campaign ROI in Microsoft Dynamics CRM</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/31iQJcFNV3k/show-marketing-campaign-roi-in-microsoft-dynamics-crm.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/05/show-marketing-campaign-roi-in-microsoft-dynamics-crm.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f883301901c6e2b0e970b</id>
        <published>2013-05-22T09:25:34-04:00</published>
        <updated>2013-05-23T07:38:47-04:00</updated>
        <summary>Marketers spend a lot of time and money creating and executing campaigns, but at the end of the day, can they tell the true impact of their efforts and demonstrate ROI? What is a Campaign? I typically explain that campaigns...</summary>
        <author>
            <name>Brad Koontz</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Best Practices" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p><em>Marketers spend a lot of time and money creating and executing campaigns, but at the end of the day, can they tell the true impact of their efforts and demonstrate ROI?</em> </p>
<p><strong>What is a Campaign?</strong></p>
<p>I typically explain that campaigns are buckets for all of the information, planning tasks, and campaign activities you need to manage your marketing efforts.  Campaigns include extensive post launch tracking features including detailed financial information, reports, and multiple marketing lists. Campaigns can also include multiple planning tasks and campaign activities that help you coordinate all the resources that are needed for a campaign.  </p>
<p><strong>Campaigns need context and connection</strong></p>
<p>If you are using an integrated marketing automation service like CoreMotives or MarketingPilot, designating a campaign is required.  But if your campaigns are not set up, or you don't connect downstream activity back to the campaign, then you cannot know your ROI.  At a minimum, campaign costs should be recorded on the campaign form.  This is sometimes imported in or included as part of an external system integration. It can also be rolled up from the total cost of campaign activities.  This is going to be the basis of your ROI calculation.   </p>
<p>
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301910264131c970c-pi" style="display: inline;"><img alt="image" class="asset  asset-image at-xid-6a00e54fb34b6f883301910264131c970c" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301910264131c970c-500wi" title="image" /></a></p>

At some point, the campaign cost need to be connected to the collection of opportunities that represent revenue.  This is where context comes in.  Campaigns are connected to mailing lists and mailings.  After a Campaign is launched, Campaign Responses come into the system.  This can be automated a couple of different ways (which is an entirely different blog post) but once in CRM, these response records can be converted to Leads, Contacts and Opportunities.  Once an Opportunity is closed, the actual or estimated revenue is ready for the ROI calculation. 
<p><strong>ROI reporting</strong></p>
<p>There is an ootb SSRS report called Campaign Performance ROI that you can run that can give you a clear view of what is happening in ROI.  It is not a side-by-side view and for a large data set it may be unruly.  In order to create a new side-by-side view chart that clearly visualizes ROI, we made the following modifications.</p>
<ol>
<li>On the Opportunity form, create a new field called ‘Source Campaign Cost’</li>
<li>Create a simple workflow that writes the rolled up campaign cost to Campaign record (pictured).  You will be creating a lookup to {Total Cost of Campaign(Source Campaign)} and inserting that data dynamically into the new Source Campaign Cost field.  I created my workflow to be run on demand for this example.
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301910264132b970c-pi" style="display: inline;"><img alt="image" class="asset  asset-image at-xid-6a00e54fb34b6f883301910264132b970c" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301910264132b970c-500wi" title="image" /></a> </li>
<li>Create a chart in Opportunity called ‘Campaign ROI’<ol>
<li>Chart type is Column.</li>
<li>Series should be ‘Actual Revenue’ and ‘Source Campaign Cost’</li>
<li>The Axis should be ‘Source Campaign’.  If you run the report at this time, you will have two revenue measures (left and right) that may not give you a true visual representation of cost vs. revenue.</li>
<li>In order to get secondary axis removed (and to get the column data to only correspond to the left revenue), you will need to export the chart xml and remove the YAxixType in the series below.</li>
</ol></li>
</ol>
<p>
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f88330192aa2c8189970d-pi" style="display: inline;"><img alt="image" class="asset  asset-image at-xid-6a00e54fb34b6f88330192aa2c8189970d" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f88330192aa2c8189970d-500wi" title="image" /></a> </p>
<p>Now you can run your workflow against the selected opportunity records.  Once you have done that, you can run the chart and it should look like the following:</p>
<p>
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301910264134a970c-pi" style="display: inline;"><img alt="image" class="asset  asset-image at-xid-6a00e54fb34b6f883301910264134a970c" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301910264134a970c-500wi" title="image" /></a></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/31iQJcFNV3k" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/05/show-marketing-campaign-roi-in-microsoft-dynamics-crm.html</feedburner:origLink></entry>
    <entry>
        <title>Use The Right Tool For The Job in Dynamics CRM</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/flsy3pu4gck/use-the-right-tool-for-the-job-in-dynamics-crm.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/05/use-the-right-tool-for-the-job-in-dynamics-crm.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833017eeae69696970d</id>
        <published>2013-05-15T14:47:00-04:00</published>
        <updated>2013-05-15T14:47:00-04:00</updated>
        <summary>Microsoft Dynamics CRM offers users a variety of methods for users to analyze data. Out of the box we have views, filters, advanced find,record counts on views, report builder, charts, dashboards, Excel exports, pivot tables, and other options. With all...</summary>
        <author>
            <name>Joel Lindstrom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Dynamics CRM 2011" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Microsoft Dynamics CRM offers users a variety of methods for users to analyze data. Out of the box we have views, filters, advanced find,record counts on views, report builder, charts, dashboards, Excel exports, pivot tables, and other options. </p>
<p>With all of these tools, it is important to have correct expectations and use the right tool for the job.</p>
<p>Remember the <a href="http://en.wikipedia.org/wiki/Golden_hammer">law of the instrument.</a> Just because a tool works well for one problem doesn’t mean that it will be the solution to all problems. Also, just because a tool doesn’t work for a given job doesn’t make it a worthless tool.</p>
<p>Take Advanced Find—the beauty of Advanced Find is that it is approachable by users who are not familiar with writing SQL queries. It allows just about any user to build personal views joining multiple entities together. It is both powerful and approachable.</p>
<p>But that doesn’t mean that Advanced Find is the answer to every query question. For very simple filters, Advanced Find may be too powerful, and something like the filter capabilities may be more appropriate.</p>
<p>For very large data sets and very complex filter logic, Advanced Find may also not be the complete answer. For example, Advanced Find returns a list of records, but does not aggregate them. If you want to get a total of how much money your customers spent on a specific product over the past ten years, Advanced Find will get you the list of orders, but will not total the amount spent.</p>
<p>Advanced find may be part of the answer, but in this scenario, it is not the entire answer. You can run the Advanced Find and then aggregate the totals using tools like charts or export to Excel and aggregate the totals, or save the Advanced Find and use it as the starting point of a report in the report wizard (which can give totals).</p>
<p>Some tips for determining the right tool for the job:</p>
<ol>
<li>Be aware of the limitations in various tools. For example charts are limited to 50,000 records and the view row counter only counts up to 5,000 records. These limitations are designed with performance in mind. If you increase the fetch limit to 500,000, your charts can aggregate<br />larger datasets, but dashboard and application performance will be less than desirable.</li>
<li>Discover what questions users will want to ask in CRM—this will help determine which tool is optimal for a given question. If users want a list of customers in their territory who have<br />purchased a product in the past year, Advanced Find is a great fit. If they want to know who has purchased product A but has not purchased product B, Advanced Find is not the best fit.</li>
<li>Once users query the data, what will they want to do with it? I can run an Advanced Find that returns one million records, but what do I want to do with those records? Typically someone isn’t going to want a granular export of 1,000,000 records, they want to aggregate or total the<br />results into an actionable number.</li>
<li>Don’t ignore the Pivot Table. My favorite reporting tool in CRM is the dynamic pivot table—I can take a list of records and group and pivot the table to quickly answer many different types of questions. Teach a user how to use pivot tables and you will vastly expand the possibilities of what he can do with the data in CRM and empower the user.</li>
<li>For larger data sets and more complex analysis, other Microsoft tools can be useful. This is where SSRS Reports, Analysis Services, and PowerPivot come in. Don’t be afraid of these tools.</li>
<li>Don’t overcomplicate things—use the tools mentioned in number 5 for more complex analysis and larger data sets, however, don’t use a report when a view will work. Use the right tool for the job.</li>
</ol>
<p>Microsoft Dynamics CRM includes very powerful out of the box business analysis capabilities and also works with other business intelligence tools in the Microsoft stack. By knowing what questions your users want to ask, you can choose your tools appropriately for the job at hand.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/flsy3pu4gck" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/05/use-the-right-tool-for-the-job-in-dynamics-crm.html</feedburner:origLink></entry>
    <entry>
        <title>IE Developer Tools  Three Quick Tips</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/pKnb14Ckm_g/ie-developer-tools-three-quick-tips.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/05/ie-developer-tools-three-quick-tips.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f883301901be4f1e1970b</id>
        <published>2013-05-13T07:46:00-04:00</published>
        <updated>2013-05-07T10:48:10-04:00</updated>
        <summary>Today’s post is for my fellow JavaScript junkies. If you aren’t using IE Developer Tools, then check out a few posts. I’d highly recommend checking out Microsoft’s pages to realize instant productivity gains. Seriously, it’s awesome. Changing Scope The first...</summary>
        <author>
            <name>Paul Way</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Best Practices" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Development" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Javascript" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Dynamics CRM 2011" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Microsoft CRM Tricks and Tips" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Today’s post is for my fellow JavaScript junkies. If you aren’t using IE Developer Tools, then check out a <a href="http://blog.customereffective.com/blog/2011/02/internet-explorer-developer-tools.html" target="_blank">few</a> <a href="http://blog.customereffective.com/blog/2012/02/xrm-2011-javascript-another-101-lesson.html" target="_blank">posts</a>.  I’d highly recommend checking out <a href="http://msdn.microsoft.com/en-us/library/dd565628(v=vs.85).aspx" target="_blank">Microsoft’s pages</a> to realize instant productivity gains. Seriously, it’s awesome.</p>
<p> </p>
<h2>Changing Scope</h2>
<p>The first tip I wanted to share, is the “cd()” command. This allows you to change your scope of the console. I wish I would have found this years ago! It may seem trivial, but when coding with IFRAMES it’s always frustrating to prepend your code with “frames[0].” all of the time.</p>
<p>Let me give you an example, you open an entity record with some new JavaScript in mind. The first thing you want to do is get your bearings and start testing various logic. You type in Xrm.Page.data.entity.getId() and get an immediate error…</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101daf421970c-pi"><img alt="clip_image002" border="0" height="420" src="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f195970b-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image002" width="688" /></a></p>
<p>Why? Oh, because you forgot you’re in the wrong scope. You could always hit [up], [home], and then prepend the line with “frames[0]” – which is what I have always done in the past.</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f19a970b-pi"><img alt="clip_image003" border="0" height="55" src="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101daf42d970c-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image003" width="375" /></a></p>
<p>This is fine for a couple one liners but when you’re using Developer Tools to test/write various functions, it’s rather tedious. Instead, you can change the scope of the console by using the “cd(frames[0])” command.</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101daf439970c-pi"><img alt="clip_image004" border="0" height="114" src="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f1a7970b-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image004" width="386" /></a></p>
<p>Now, I can test and execute code exactly how it will appear within my JavaScript web resources. Want to go back, just type “cd()” and you’re back to the main.aspx page.</p>
<p> </p>
<h2>Logging to the Console</h2>
<p>I’ve seen a lot of developers riddle their code with alert boxes to track down issues. While this is a fine approach, I find writing to the console to be more effective. There are times when the alert command makes more sense, but let’s delve into the console for a moment.</p>
<p>With writing to the console, you have four different message types: “log”, “info”, “warn”, and “error”. Here’s how they appear on the console:</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f1ad970b-pi"><img alt="clip_image005" border="0" height="268" src="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f1b2970b-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image005" width="417" /></a></p>
<p>I like to sprinkle these into my code during development. They offer sanity checks and are great when you are debugging. Most of the time, these statements aren’t pushed to production; however, if they accidentally do make it into UAT or PROD – these commands are much safer than alert messages nagging users unnecessarily.</p>
<blockquote>
<p><strong><em>When do alert messages make sense?</em></strong></p>
<p>Alert messages are useful for making sure the user is told something. I try to use alert messages sparingly since when given too many users generally ignore all of the alert messages.</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f1b7970b-pi"><img alt="clip_image006" border="0" height="192" src="http://blog.customereffective.com/.a/6a00e54fb34b6f8833017eeae288f6970d-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image006" width="482" /></a></p>
<p> </p>
</blockquote>
<p> </p>
<h2>Profiling – Making your Code Faster</h2>
<p>People often ask me how I get my JavaScript code to execute so quickly. Just kidding, no one has ever asked me that. But if they did, I would credit three things: Dub-step, Douglas Crockford, and the profiler built into Developer Tools. I’m sure you’ve heard of <a href="http://www.jslint.com/" target="_blank">JSLint</a> and you’re headphones are currently blaring some <a href="http://www.youtube.com/watch?v=IOaE4MV5IcM&amp;feature=youtube_gdata">dub-step</a>. You might be unfamiliar with using the profile in your JavaScript though, and I’d like to demonstrate an example for you about the profiler.</p>
<p>First, have you ever wanted to quantify the execution of your code within CRM? Well the profiler allows you to do this. Let’s say hypothetically you want to disable all of the fields on the form. There are several ways of doing this:</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101daf456970c-pi"><img alt="clip_image007" border="0" height="302" src="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f1c6970b-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image007" width="562" /></a></p>
<p>But which function would be the fastest? When comparing functions that provide the same results, it’s best to call the function more than once. So let’s call each function 100 times to quantify the speed of each call.</p>
<p>Additionally, let’s use this function to re-establish the form as fully enabled to make sure everything is consistent.</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101daf462970c-pi"><img alt="clip_image008" border="0" height="95" src="http://blog.customereffective.com/.a/6a00e54fb34b6f8833017eeae28901970d-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image008" width="494" /></a></p>
<p>Here’s an example of testing the various functions 100 times each:</p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833017eeae28906970d-pi"><img alt="clip_image009" border="0" height="321" src="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101daf474970c-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image009" width="505" /></a></p>
<p>After executing our code, switch to the Profiler tab. Choose the speed test example and change your view to the “Call tree”. Now we can see the cumulative time of each function.</p>
<p> <a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101daf47a970c-pi"><img alt="clip_image011" border="0" height="226" src="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901be4f1d8970b-pi" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image011" width="654" /></a></p>
<p>A one second difference between our fastest and slowest function at 100 times equates to an average savings of about 10 milliseconds when only ran once. Not really drastic, but hopefully this shows you how granular you can get.</p>
<p>Generally you won’t need to call each function 100 times. In this scenario, we were trying to save as many milliseconds as possible and comparing extremely similar functions. Typically you’d use the profiler for speeding up a slow form. By adding the profiling you can identify which functions are the culprit of any inefficiencies. Additionally, you can see if functions are inexplicably called more often than they are supposed to.</p>
<p> </p>
<h2>Summary</h2>
If you are developing JavaScript inside CRM 2011 and not using IE Developer Tools, I really hope this convinced you to check it out. If you’ve already been using Developer Tools, then I hope you learned something new. There are a ton of features within Developer Tools and I highly recommend taking advantage of them to improve your productivity and your code performance. I hope you enjoy!<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/pKnb14Ckm_g" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/05/ie-developer-tools-three-quick-tips.html</feedburner:origLink></entry>
    <entry>
        <title>Enhance Existing Teller Applications with Up-Sell and Referral Integration from Microsoft Dynamics CRM</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/iWvBj7Ipr4U/enhance-existing-teller-applications-with-up-sell-and-referral-integration-from-microsoft-dynamics-c.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/05/enhance-existing-teller-applications-with-up-sell-and-referral-integration-from-microsoft-dynamics-c.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833017eeaddc14f970d</id>
        <published>2013-05-10T09:10:00-04:00</published>
        <updated>2013-05-06T15:29:30-04:00</updated>
        <summary>Below is a 2-minute demonstration of how Microsoft Dynamics CRM can be integrated with a teller system. The scenario shows how a teller can receive next-best-product and eligible promotions directly in their teller system during a client transaction. The data...</summary>
        <author>
            <name>Brad Koontz</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Customer Effective News" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Customer Effective Success Story" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>    Below is a 2-minute demonstration of how Microsoft Dynamics CRM can be integrated with a teller system.  The scenario shows how a teller can receive next-best-product and eligible promotions directly in their teller system during a client transaction.  The data is being driven into the teller system from Microsoft Dynamics CRM built with Customer Effective: Banking.  For the teller, it's a seamless and familiar experience using the same teller system they have always used.  Once a teller gets the marketing messages delivered, they can create a referral in their teller system that gets passed to Microsoft Dynamics CRM.  </p>


<p>    By using Microsoft
CRM and Customer Effective's teller system integration toolbox, we are able to
leverage CRM automated processes and CRM's 360 view of customers and members
without having to navigate into the MSCRM
UI or being a full MSCRM licensed user. In this scenario, we are demonstrating Microsoft Dynamics CRM integrated with<a href="http://www.aciworldwide.com/en/What-we-do/Retail-payments/Online-mobile-branch-banking/Branch-banking.aspx" target="_self"> ACI's</a> branch banking teller solution.</p>
<p><iframe frameborder="0" height="270" src="http://player.vimeo.com/video/65570188" width="500" /> </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/iWvBj7Ipr4U" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/05/enhance-existing-teller-applications-with-up-sell-and-referral-integration-from-microsoft-dynamics-c.html</feedburner:origLink></entry>
    <entry>
        <title>Health Plan Marketing in the Era of the Affordable Care Act with Dynamics CRM</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/DxxPf2LJzfM/how-important-is-it-for-your-business-to-understand-what-motivates-your-customers.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/05/how-important-is-it-for-your-business-to-understand-what-motivates-your-customers.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833017ee868ceb2970d</id>
        <published>2013-05-08T09:35:51-04:00</published>
        <updated>2013-05-08T09:35:51-04:00</updated>
        <summary>Health Plan providers are working hard, not only to change the products they offer but the way they go to market. Because of Healthcare Reform, they will now have increased exposure to an entirely new market of consumers that previously...</summary>
        <author>
            <name>Denise Henke</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Best Practices" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Business Process" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Development" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Dynamics CRM 2011" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Microsoft CRM Implementation" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Microsoft CRM Reporting" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Microsoft CRM Tricks and Tips" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Health Plan providers are working hard, not only to change the products they offer but the way they go to market.  Because of Healthcare Reform, they will now have increased exposure to an entirely new market of consumers that previously didn’t exist. What is going to motivate and retain customers? Products? Price? Wellness Benefits? Coverage of Pre-Existing Conditions?  Disease Management Programs?
</p>

<p>Customer Effective has partnered with several leading health plan providers to prepare them to sail into this uncharted territory by leveraging Dynamics CRM across sales force automation, integrated marketing management, group adminstration, and more.  With one particular client, the first phase of the deployment is focused on the Campaign Management capabilities of Microsoft Dynamics CRM. This includes a seamless integration with the very popular marketing automation add-in, CoreMotives.  This allows them to obtain instantaneous campaign results such as delivery statistics, click-thrus, open- rates while managing bounce backs and opt-outs.  </p>
<p>
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017ee868ca74970d-pi" style="display: inline;"><img alt="Image1.jpg" border="0" class="asset  asset-image at-xid-6a00e54fb34b6f8833017ee868ca74970d" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017ee868ca74970d-800wi" title="Image1.jpg" /></a><br />
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017c36c58d59970b-pi" style="display: inline;"><img alt="Image2.jpg" border="0" class="asset  asset-image at-xid-6a00e54fb34b6f8833017c36c58d59970b image-full" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017c36c58d59970b-800wi" title="Image2.jpg" /></a><br /> <br /> This project also creates tight integration with their external website and customer portal, where customers can manage their own personal communication preferences. Customers have the ability, via self-service, to elect what information they want to receive and how they want to receive it - paper or electronically?  Once chosen, their CRM record is automatically updated for future campaign communications.   </p>
<p>MS CRM also centralizes their Segmentation, Do Not Contact requirements as well as Marketing List Management processes.  Until now, these were all disparate processes managed independently in multiple data sources. </p>
<p>CoreMotives provides additional functionality such as the ability to test different subject lines, displays visual heat maps where end users clicked on embedded images and allows you to collect<br />statistics throughout the end users entire visit, including each webpage viewed.</p>
<p>
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017c36c58f33970b-pi" style="display: inline;"><img alt="Image3.jpg" border="0" class="asset  asset-image at-xid-6a00e54fb34b6f8833017c36c58f33970b image-full" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017c36c58f33970b-800wi" title="Image3.jpg" /></a></p>
<p>This integrated technology allows our client to test segmentation models, content and messaging. This will ultimately drive what is relevant and meaningful to their customer base.  Visibility now stretches beyond just the Marketing Department.  It allows resources in Customer Service to view each communication a Member has received in order to speak intelligently about recent interactions with the overall Enterprise.  It is now the centralized repository for Compliance to establish consistency around the Brand.  It tracks and manages the entire creative process from concept to launch.  They now have a streamlined approach to their Marketing efforts, across channels, which<br />will allow them to shift direction and react instantaneously to Market demand.</p>
<p>Want to learn more? Join Customer Effective for a Health Plans Webinar on Marketing in the Era of the Affordable Care Act on May 23, 2013. <a href="http://www.customereffective.com/health-plans-webinar-marketing-in-the-er.php" target="_blank" title="May 23 - Webinar Registration Page">Click Here To Register</a></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/DxxPf2LJzfM" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/05/how-important-is-it-for-your-business-to-understand-what-motivates-your-customers.html</feedburner:origLink></entry>
    <entry>
        <title>Everybody has bad data: ensuring good data quality when moving to Microsoft Dynamics CRM</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/1Yga1XA6U7Y/everyone-has-bad-data.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/05/everyone-has-bad-data.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833017eeacaa7aa970d</id>
        <published>2013-05-08T08:11:00-04:00</published>
        <updated>2013-05-06T15:46:39-04:00</updated>
        <summary>I am often asked as we are beginning a project, “What are some of the most common pitfalls in implementing CRM?” Or, “What do people typically underestimate in a large CRM deployment?” A number of possible answers may come to...</summary>
        <author>
            <name>Michael Quattlebaum</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="CRM Best Practices" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Microsoft CRM Implementation" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>I am often asked as we are beginning a project, “What are some of the most common pitfalls in implementing CRM?”  Or, “What do people typically underestimate in a large CRM deployment?”  A number of possible answers may come to mind, but in my experience, the effort to cleanse and connect to enterprise data wins every time.  Everyone has bad data.  It’s the dirty little secret of enterprise systems.  The one that IT guys are embarrassed to explain to upper management. Systems store data in different ways, laid out in deferent architectures.  Some are legacy systems that have been around for years.  Some for 20 or more years.  Others are more current architectures, maybe with web services interfaces.  But the underlying problem is the same in each.  People key data with the constraints placed on them by the user interfaces and systems they interact with.  And when people interact with systems, data is not clean.</p>


<h4><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101c32ca9970c-pi"><img alt="image" border="0" height="138" src="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901bcd35dc970b-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="318" /></a></h4>
<h4>Surfacing Data from the Silos</h4>
<p>The natural evolution of data in an enterprise lends itself to forming silos.  It doesn’t happen on purpose.  But as a business grows new systems are implemented, with newer, more diverse architectures.  New business units make application decisions that support their processes.  Acquisitions occur with their own systems deployed.  And before we know it, we have silos of data with little to no integration between them.  We all recognize the need for those systems to talk in order to be more efficient, and to provide better metrics for the organization.  But the task of how to do it is too daunting.  In comes CRM, promising a 360 degree view of the customer.  Live metrics and dashboards to visualize customer data.  Executive management finally sees the solution to the enterprise data silo problem.  If only it were so simple.</p>
<h4>The Problem</h4>
<p>We have two systems that house basically the same data.  We assume that it’s just a matter of mapping the fields together, pushing it into CRM, and then we’re done, right?  If only it were so simple.  Yes, there is the aspect of making sure that customer attribute “First Name” from the “Contact” record in one data source matches to “FName” from the “CUSTOMER” record in the second data source.  That’s a critical first step, but we are a long way from being done.  Some fields are based off of lookups from other tables. Option sets may store a value in the data source is some obscure number or a unique identifier.  And in each of these scenarios, we must identify how to map the contents of one data source to the other.  Add to that the complexity of layout and formatting.  The first data source may have a field called “Name”, which should contain names in the format of “Quattlebaum, Michael”.  So when we connect these pieces of data, we much transform the data into two fields:  First Name = Michael and Last Name = Quattlebaum.  In that process, we inevitably come across a record that has “Michael Quattlebaum” instead.  So data scrubbing and exception handling must be part of our consideration.  Once we have data that we feel is mapped properly, and cleansed, we must also consider how to de-duplicate records.  The hope, of course, is that among the systems we have in place, the same customer exists in multiple systems.  And by combining elements of data from across those systems, we receive a more complete view of our interaction with that customer.  So defining the rules for how we match records is an important process.  Here are some examples for matching contact data, and the possible issues with each:</p>
<table border="1" cellpadding="2" cellspacing="0" width="500">
<tbody>
<tr>
<td valign="top" width="248"><strong>Potential Rule</strong></td>
<td valign="top" width="250"><strong>Problems</strong></td>
</tr>
<tr>
<td valign="top" width="248">Match against all available email addresses</td>
<td valign="top" width="251">         
<ul>
<li>Generic Email Addresses used </li>
<li>People enter invalid email addresses </li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="248">Match against name and address</td>
<td valign="top" width="251">         
<ul>
<li>People at the same address have the same name </li>
<li>There’s a “Michael Quattlebaum" </li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>This is just a simple example to show the complexities of defining de-duplication rules.  In the end, there are data integration and data migration considerations that must be addressed, and are inherently difficult to resolve.</p>
<h4>The Solution</h4>
<p>I know. Some of you skipped straight to this section to find out what the magic pill is.  I wish there was a simple answer that says, “just do this and all your data will be clean and lined up.”  There is no such solution, but there are a number of components, tools, and approaches to help with the problem:</p>
<ul>
<li>Plan on plenty of grunt work.  Whether you are creating cross reference tables in SQL, manually cleaning up data in Access or Excel, or using a sophisticated tool to help with the process, there will need to be people to review and correct data problems or create the rules around the automation of the process.     </li>
<li>Use a service provider to do some of the grunt work.  Inevitably, there will need to be a set of eyes on some of your data.  There are service providers that help with that, and often at a lower cost than you can provide internal resources.     </li>
<li>Use a tool that is rules-based, and can be used in an on-going effort to incorporate data.  <a href="http://www.trilliumsoftware.com/">Trillium Software</a> is a tool that I’ve used, and incorporates strategies for all of the complexities you may face with your data.      </li>
<li>Develop a Master Data Management strategy and platform.  There are a number of MDM platforms available.  And whether you use a tool for your strategy, or you just define a common schema and services communication approach across the enterprise, taking this approach can simplify all of your integration projects going forward.</li>
</ul>
<h4>What Now?</h4>
<p>Once you’ve gone through the effort and cost of migrating and integrating data, you want it to stay that way.  The problem is that people are still involved in the process.  So data cleanliness will continue to be problematic.  Customer Effective provides tools to review and approve data changes inside of Microsoft Dynamics CRM.  The Customer Effective Data Quality Management solution provides data stewards a user interface to review and accept or revert changes.  </p>
<p><a href="http://blog.customereffective.com/.a/6a00e54fb34b6f8833019101c32cbf970c-pi"><img alt="image" border="0" height="230" src="http://blog.customereffective.com/.a/6a00e54fb34b6f883301901bcd35ee970b-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" width="690" /></a></p>
<p>If your organization is interested in finding more out about the data cleansing process, or about our tools specifically, let us know by contacting us <a href="http://www.customereffective.com/contact.php">here</a>.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/1Yga1XA6U7Y" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/05/everyone-has-bad-data.html</feedburner:origLink></entry>
    <entry>
        <title>Data Types available with Microsoft Dynamics CRM 2011</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/0iFb2RphRgk/data-types-available-with-microsoft-dynamics-crm-2011.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/05/data-types-available-with-microsoft-dynamics-crm-2011.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833019101baf18e970c</id>
        <published>2013-05-06T11:32:30-04:00</published>
        <updated>2013-05-06T11:32:30-04:00</updated>
        <summary>When creating custom fields in Microsoft Dynamics CRM (CRM), the following data types are available to you as a customizer. Single Line of Text – This is the simplest field type and is a string attribute. The length can be...</summary>
        <author>
            <name>Mark Weilandt</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Dynamics CRM 2011" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Microsoft CRM Customizations" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>When creating custom fields in Microsoft Dynamics CRM (CRM), the following data types are available to you as a customizer.<br /><br />
<a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833019101baea44970c-pi" style="display: inline;"><img alt="CRM add field" border="0" class="asset  asset-image at-xid-6a00e54fb34b6f8833019101baea44970c" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833019101baea44970c-800wi" title="CRM add field" /></a><br /><strong>Single Line of Text</strong> – This is the simplest field type and is a string attribute.  The length can be defined between 1 and 4000 characters.  This field has special formatting if desired for storing Email, Text Area, Ticker Symbol, and Url.  Using email will create a mailto link for that field.  Ticker Symbol will provide a quote for the ticker entered into the field when the value is clicked.  Url will display a link to the value entered in the field.  Text Area can be displayed as more than one line on the form.<br /><br /><strong>Option Set </strong>– This is commonly referred to as a pick list or drop down field.  A user is only allowed to select from the choices provided.  A “blank” value is acceptable.  A default value can also be defined.  NOTE: If you have an option set that will be used on other entities in your deployment, you will want to create a global option set for system consistency.<br /><br /><strong>Two Options </strong>– This is similar to an option set but only contains two values, Zero (0) and One (1).  The display of those values can be changed to represent whatever you like. No (0) and Yes (1) are common display values for this field.  Another interesting note about this field is that it can be displayed on the form as a pick list, radio buttons, or check box.  The value is set in the form designer after the field is placed on the form.<br /><br /><strong>Multiple Lines of Text</strong> – This field is similar to Single Line of Text, however, it can store much more data than Single Line of Text.  This field will be displayed as more than one line on the form.<br /><br /><strong>Date and Time</strong> – This field stores date and time data.  You can choose to have both the Date and Time displayed or only the Date portion.<br /><br /><strong>Lookup</strong> – This field represents a link to another entity.  It will create a 1:N relationship in the database with this field representing the “1” side of the relationship.<br /><br />The fields below are different ways to store numerical values in CRM.  In all cases, you can set minimum and maximum values.  This is valuable if you want to constrain data entry to non-negative<br />values or from 0 to 100 for example.  The minimum and maximum values are different for each data type and are set at the minimum and maximum range when the field is created.<br /><br /><strong>Whole Number</strong> – This field allows you to store round (or whole) numbers, meaning no decimal points.  The whole number field has different types which can be selected for Duration (activity), Time Zone, and Language (multilingual support).<br /><br /><strong>Floating Point Number</strong> – This field allows for numeric values with up to five (5) decimal points.  The precision of this field is arbitrary, which means it can be used to represent both very large numbers as well as very small numbers.<br /><br /><strong>Decimal Number</strong> – This field stores numeric values with up to ten (10) decimal points.  The precision of this field is absolute.<br /><br /><strong>Currency </strong>– This field is used to store monetary values.  Based on your currency settings, the correct currency symbol is also displayed such as the dollar sign or euro symbol.  It can also hold up to four (4) decimal points.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/0iFb2RphRgk" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/05/data-types-available-with-microsoft-dynamics-crm-2011.html</feedburner:origLink></entry>
    <entry>
        <title>Turning on Yammer + CRM Integration? Move Your Post Data with a Simple Workflow</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/YN8OkBEAE0U/turning-on-yammer-crm-integration-move-your-post-data-with-a-simple-workflow.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/04/turning-on-yammer-crm-integration-move-your-post-data-with-a-simple-workflow.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833017eeaabfeb7970d</id>
        <published>2013-04-29T11:42:08-04:00</published>
        <updated>2013-04-29T10:16:05-04:00</updated>
        <summary>The Yammer-CRM integration is finally available for users of Microsoft Dynamics CRM Online. If you have logged on and looked at your Activity Feeds lately, you will see a ‘Get Yammer’ notice near you messages. One of the key things...</summary>
        <author>
            <name>Brad Koontz</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Yammer" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>The Yammer-CRM integration is finally available for users of Microsoft Dynamics CRM Online.  If you have logged on and looked at your Activity Feeds lately, you will see a ‘Get Yammer’ notice near you messages.  One of the <a href="http://blog.CustomerEffective.com/blog/2013/04/considerations-with-yammer-microsoft-crm-integration.html" target="_self">key things to consider before </a>you pull the trigger is that your activity feed user post data will not be accessible in from your record walls or your main ‘what’s new’ feed.  Yammer will replace this functionality.  The old post data will still live in the system and you can grab it with Advance Find or the SDK, but users will not see it on their walls.</p>
<p>So the challenge for current users of Activity Feeds is to get the legacy post data from the record wall and into the record.  We created a simple workflow to do so.</p>

<p><strong>1. Create the workflow. Entity is Post</strong>.  In Steps, <em>check condition</em> that Source=Manual Post.  Then <em>Create a Note</em> with relevant Post data.  We used Create By, Modified On and Text.  Regarding should be populated with dynamic data Regarding(post).  This will make sure the note is posted to the correct record.</p>
<p><strong>2. Activate and run the workflow</strong>. This will hit all Manual Posts in the system and push them to the Notes of the regarding record.</p>
<p> </p>
<div class="photo-wrap photo-xid-6a00e54fb34b6f8833019101a4a439970c" id="photo-xid-6a00e54fb34b6f8833019101a4a439970c" style="display: block; margin-left: auto; margin-right: auto; width: 500px;"><a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833019101a4a439970c-pi"><img alt="Process" class="asset  asset-image at-xid-6a00e54fb34b6f8833019101a4a439970c" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833019101a4a439970c-500wi" title="Process" /></a>
<div class="photo-caption caption-xid-6a00e54fb34b6f8833019101a4a439970c" id="caption-xid-6a00e54fb34b6f8833019101a4a439970c">Process and Note creation</div>
</div>
<br />
<div class="photo-wrap photo-xid-6a00e54fb34b6f883301901baed7ce970b" id="photo-xid-6a00e54fb34b6f883301901baed7ce970b" style="display: block; margin-left: auto; margin-right: auto; width: 500px;"><a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301901baed7ce970b-pi"><img alt="Before" class="asset  asset-image at-xid-6a00e54fb34b6f883301901baed7ce970b" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f883301901baed7ce970b-500wi" title="Before" /></a>
<div class="photo-caption caption-xid-6a00e54fb34b6f883301901baed7ce970b" id="caption-xid-6a00e54fb34b6f883301901baed7ce970b">Before - text on the wall</div>
</div>
<br />
<div class="photo-wrap photo-xid-6a00e54fb34b6f8833017eeaac40d1970d" id="photo-xid-6a00e54fb34b6f8833017eeaac40d1970d" style="display: block; margin-left: auto; margin-right: auto; width: 500px;"><a class="asset-img-link" href="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017eeaac40d1970d-pi"><img alt="After" class="asset  asset-image at-xid-6a00e54fb34b6f8833017eeaac40d1970d" src="http://blog.CustomerEffective.com/.a/6a00e54fb34b6f8833017eeaac40d1970d-500wi" title="After" /></a>
<div class="photo-caption caption-xid-6a00e54fb34b6f8833017eeaac40d1970d" id="caption-xid-6a00e54fb34b6f8833017eeaac40d1970d">After; text on the Note</div>
</div>
<br /><br />
<p> </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/YN8OkBEAE0U" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/04/turning-on-yammer-crm-integration-move-your-post-data-with-a-simple-workflow.html</feedburner:origLink></entry>
    <entry>
        <title>Considerations for Yammer + Microsoft Dynamics CRM Integration</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/BxCesvfYwzk/considerations-with-yammer-microsoft-crm-integration.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/04/considerations-with-yammer-microsoft-crm-integration.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833019101a0d5cc970c</id>
        <published>2013-04-29T11:41:52-04:00</published>
        <updated>2013-04-29T11:40:47-04:00</updated>
        <summary>Yammer integration with CRM allows users to collaborate on customer and opportunity records within the UI of both platforms. Yammer users are alerted to deal updates and changes to customer statuses regardless of their access to MSCRM. Users of Microsoft...</summary>
        <author>
            <name>Brad Koontz</name>
        </author>
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Yammer integration with CRM allows users to collaborate on customer and opportunity records within the UI of both platforms.  Yammer users are alerted to deal updates and changes to customer statuses regardless of their access to MSCRM.  Users of Microsoft CRM are able to post relevant customer information to Yammer from inside CRM records.  Below is a great demo of the possibilities of Yammer + CRM:</p>
<p>
<object data="http://www.youtube.com/v/d4r26XO0E_I?version=3&amp;hl=en_US&amp;rel=0" height="315" type="application/x-shockwave-flash" width="560">
<param name="data" value="http://www.youtube.com/v/d4r26XO0E_I?version=3&amp;hl=en_US&amp;rel=0" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="src" value="http://www.youtube.com/v/d4r26XO0E_I?version=3&amp;hl=en_US&amp;rel=0" />
<param name="allowfullscreen" value="true" />
</object>
 </p>
<p> If you are considering turning on your Yammer integration inside of CRM, there are a couple of key considerations.</p>
<p><strong>Yammer Edition:</strong> Do you have the right edition of Yammer?  The free version of Yammer is not eligible for direct integration within Microsoft CRM.  You will need the Enterprise version.  Why?  Yammer enterprise has enhanced admin and security privileges that are necessary to write data back and forth to Microsoft CRM.  Plans start at $3/pupm and you can <a href="https://www.yammer.com/about/pricing/">find them here</a>.</p>
<p><strong>Activity Feeds:</strong>  Do you actively use Activity Feed user posts?  They will go away when you install Yammer.  You will not be able to simultaneously use Activity Feed user posts and Yammer, and you cannot uninstall Yammer.  Your Activity Feed user posts will only be available via advanced find, but <a href="http://blog.CustomerEffective.com/blog/2013/04/turning-on-yammer-crm-integration-move-your-post-data-with-a-simple-workflow.htm" target="_self">we have developed a simple workflow </a>to move those posts to your Notes section of a form.  Read about it here.  Your auto posts will stay as-is.  This data will continue to live in CRM, although you can send this to a Yammer post if you like.</p>
<p><strong>Security:</strong>  Do you need to map your social collaboration system to your CRM security model?   If so, you may want to stay with Activity Feeds and not turn on Yammer inside of CRM.  Yammer posts live inside of Yammer; while Activity Feed posts live inside of CRM.  Conversations in Activity Feeds are limited to CRM users.  When you integrate CRM and Yammer, Yammer users (who aren’t necessarily CRM users) will be able to subscribe to and view post related to CRM records.</p>
<p>Stay tuned to the Customer Effective Blog for more information on Yammer. </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/BxCesvfYwzk" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/04/considerations-with-yammer-microsoft-crm-integration.html</feedburner:origLink></entry>
    <entry>
        <title>Managed Solution Replacement in Microsoft Dynamics CRM</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CustomerEffectiveBlog/~3/kDJffKzzKUA/managed-solution-replacement-in-microsoft-dynamics-crm.html" />
        <link rel="replies" type="text/html" href="http://blog.CustomerEffective.com/blog/2013/04/managed-solution-replacement-in-microsoft-dynamics-crm.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54fb34b6f8833017eea894a3b970d</id>
        <published>2013-04-24T15:02:29-04:00</published>
        <updated>2013-04-24T15:47:59-04:00</updated>
        <summary>Microsoft Dynamics CRM 2011 introduced the concept of solution management—packaging your customizations so they could easily be deployed to other environments. In CRM 2011, there are two types of solutions: Managed solutions, which prevent the solution from being modified in...</summary>
        <author>
            <name>Thomas Ledbetter</name>
        </author>
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.CustomerEffective.com/blog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Microsoft Dynamics CRM 2011 introduced the concept of solution management—packaging your customizations so they could easily be deployed to other environments. In CRM 2011, there are two types of solutions: Managed solutions, which prevent the solution from being modified in the environment to which it is imported, and unmanaged solutions, which allow for the solution to be modified after it is imported.</p>
<p>Customer Effective typically recommends that users deploying internal customization changes should do so using unmanaged solutions. Managed solutions are great for Independent Software Vendors (ISV’s) who are selling their intellectual property and don’t want it to be modified by their customers, but for internal customization of your base CRM solution, managed solutions can cause some challenges. Even in highly secure environments, there are typically some level of customization changes that need to be made in a CRM production environment, such as view, chart, and dashboard changes. Also, maintaining a managed solution requires that you preserve an unmanaged copy of that solution somewhere, since that is the only way you can update the solution or delete components.</p>
<p>For these reasons, we recommend that most clients use unmanaged solutions for their internal base customizations. </p>
<p>So what do you do if you configured your CRM base solution as a managed solution and you want to change it to an unmanaged version? </p>


<p>There are a couple of different options you could potentially choose in order to deal with this type of scenario. The option we will explore is the option of deleting the managed solution, and then reimporting an unmanaged version of the same components. This option assumes you have a separate development environment used to build the customizations where the unmanaged solution can be obtained. While every environment and situation will obviously contain its own unique characteristics, the following outline should be a helpful guide.</p>
<p>The removal of a Managed solution will do three things:</p>
<ul>
<li>Removes all custom entities and components contained within the solution
<ul>
<li>i.e. entities, web resources, processes</li>
</ul>
</li>
<li>Removes all customizations to system entities contained within the solution
<ul>
<li>i.e. fields, views</li>
</ul>
</li>
<li>Deletes the data that is held within these custom entities and fields</li>
</ul>
<p>We can now begin to plan how to rebuild our managed environment as unmanaged. </p>
<p><strong>Administrative User Setup</strong></p>
<p>Before beginning the process, you will want to create a new CRM administrative user in your CRM Production environment. This user will be the user account that you use to reimport the data. Log in as the user and set the user’s timezone settings to GMT/UAT.</p>
<p>The reason we want to set up a user with a timezone of GMT is because that is the base timezone for CRM. By reading the CRM data backup as this user and writing data to CRM as this user, all CRM time values will remain correct. Several years ago the date when Daylight Savings Time starts and ends in the US was changed. As a result, if you import the data back in for previous years as a user that is not on GMT, some of the records will be off by an hour.</p>
<p><strong>Data Preservation</strong></p>
<p>Back up your production MSCRM database and restore to SQL Server under a different name. This is the database that we will use to reload data into our custom fields and entities.</p>
<p><strong>Solution Replacement</strong></p>
<p>Before you can successfully delete the managed solution, you will need to remove any dependencies between the system and the components within your solution. This can include fields on forms, nav bar links on forms, or processes involving customized components. When attempting to delete a managed solution, you will be presented with a list of all dependencies tied to the solution. Using this list is the best way to determine what changes to make to your system in order to have a successful deletion. Once all of the dependencies have been removed, publish all customizations and delete the managed solution.</p>
<p>We strongly recommend that you attempt this first in a copy of your production environment prior to doing it in production.</p>
<p>You can now import the same solution, only unmanaged, to restore all customizations.</p>
<p><strong>Notes</strong></p>
<ul>
<li>Any personal views/charts/dashboards in any custom entities will be lost in the solution replacement</li>
<li>When you reimport the solution, custom entity object type codes will change in the database. If you have any reports or custom development that calls records using the OTC, this may break them. If this applies to you, I recommend updating your code to call hyperlinks using the entity name rather than OTC. See the CRM SDK for more details.</li>
<li>When you reimport the solution, you may find that some processes, such as workflows, cannot be published. This can happen because they reference a record that does not exist (because the data was deleted). Update these workflows after importing the data to fix any broken links, then re-publish.</li>
</ul>
<p><strong>Data Replacement</strong></p>
<p>You can now reimport the data to the custom entities and custom fields. We recommend using SSIS with the Kingswaysoft adapter, or Scribe Insight.</p>
<p>The reason we recommend using one of these tools is because both will automatically map the fields from source to target, so it makes it very easy to reimport the records.</p>
<p><strong>Notes :</strong></p>
<ul>
<li>Use your restored backup as your source and map to the environment where the solution was replaced</li>
<li>identify which entities include custom fields</li>
<li>Identify dependencies—which entities need to be imported before others. If you have a relationship between two entities, and one includes a lookup field to the other, you need to import these entities in the correct order.
<ul>
<li>In some cases, you have many relationships, and you cannot practically determine the order in which they should be imported. In this case, do a two-pass operation. First, import just the base fields, such as ID, name, owner, transactioncurrency (if applicable). Then, when all entities have been imported, do a second pass populating all of the other fields</li>
</ul>
</li>
<li>Be sure that you map the record ID/GUID fields when the records are created—if you don’t do this, your job will be much harder. If you map the GUID fields, all relationships will work when imported.</li>
<li>Be sure that you map createdon to overriddencreatedon. You can only populate this when the record is created, and this is what will set the created on date for the record to match the original version.</li>
<li>There are a handful of fields that you do not want to map, such as version number, import sequence.</li>
<li>There are several fields that you cannot import—you cannot overwrite modified by, created by, modified on.<strong> </strong></li>
<li>Custom data cannot be reimported for closed opportunities. This should be taken into consideration when following this approach. <strong /></li>
<li>By taking this approach, you should not have to reimport activities or activity parties, as these are system entities. However, if you have activities or notes where the regarding object is a custom entity, you will need to update the regardingobjectid on those entities and change the regardingobjectidtypecode to the new OTC for the entity. Some activity entities allow you to update regarding object on closed activities. For example, e-mail, appointment, and note all allow you to update regarding on a closed activity; however, task does not. In that case you will need to change the status of the task to open, update regarding object, then close the task.<strong /></li>
</ul>
<p><strong>Verification</strong></p>
<p>Once the solution replacement is finished, you will want to verify that the solution replacement and the data load were successful. I recommend the following checks</p>
<ul>
<li>SQL row counts—verify that every affected entity has the same number of rows as the backup database contains.</li>
<li>SQL data values—compare the data values between the backup database and the production MSCRM database to verify that values match. I recommend <a href="http://www.red-gate.com/dynamic/products/sql-development/sql-data-compare/download">Redgate Software SQL Data Compare</a>. It will quickly compare tables or views between two databases and identify where things are different. </li>
</ul>
<p>Note some differences are expected, and redgate will allow you to exclude specific columns. For example, with multi-currency deployments, frequently the base currency field values will be different. This is how CRM works with exchange rates. For example, when I create a record, the base money fields are populated with the current base currency values, based on the current exchange rate; however, if I reimport those records and the exchange rate has been changed, the value in the base currency fields will be different; however, the value in the currency field will match.</p>
<ul>
<li>CRM UI comparison—I recommend importing a copy of your backup database into a CRM environment and comparing several things inside the user interface with the production environment post solution replacement:
<ul>
<li>Verify that all custom forms behave the way they did before—check creating, updating, and saving a record</li>
<li>Verify security role assignments—if your solution includes security roles, when you remove the solution, the roles will get de-linked from the users to which they are assigned. Reimporting the unmanaged version of the solution will restore the security roles, but it will not re-link them to the appropriate users. By restoring a backup of your CRM environment, you can run the user summary report from each environment and compare and update the production environment appropriately</li>
<li>Verify duplicate detection rules and audit settings. When you reimport the solution, auditing will be disabled and duplicate detection rules will be unpublished. Compare your environment with the restored backup CRM environment and set duplicate detection and auditing to match.</li>
<li>Verify processes—compare the list of active workflows and dialogs in your environment with the backup environment—see if there are any unpublished that were published pre-solution replacement and publish them. Also see if there were any user-owned processes that were not defined in the solution, and import them if they are missing.</li>
</ul>
</li>
</ul>
<hr size="1" />
<p><a name="_msocom_1" /></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CustomerEffectiveBlog/~4/kDJffKzzKUA" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.CustomerEffective.com/blog/2013/04/managed-solution-replacement-in-microsoft-dynamics-crm.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 -->
