Thursday, May 1, 2008

Marketing Automation - A critical segment of CRM

Every business defines a marketing system, either manual or automated. Some emerge as giants, while others, either give up on business or constantly struggle to keep their heads above the water. So, what are the variables that make or mar the success of an organization?

The successful enterprises have the capacity to address the market needs by using right marketing automation tools and analytics, which enact as time and money saving mechanisms and help in making good business decisions.

Marketing automation, an integral component of customer relationship management (CRM) involves using a software application to automate marketing processes such as customer segmentation, customer data integration (CDI) and campaign management. Marketing automation allows manual processes to be performed much more efficiently and conceiving some new ones.

It's Functions

Most companies have taken to marketing automation tools in order to tune their customer marketing efforts to acquiring and retaining customers and generating new sources of revenue. Marketing-automation application allows you to: -

1.Perform critical, real-time market analysis that lets businesses gauge the effectiveness of marketing initiatives. 2.Build, execute and measure their marketing campaigns. 3.Update information on customer segments and profiles based on the constant input of new data. This information can come from click stream analysis of customer behavior on a Web site or from response patterns across multiple campaigns such as direct mail, conferences and training initiatives. 4.Collect, analyze, disseminate and act on a wide range of data, with greater speed without greasing your elbows.

The core of this technology lets you streamline your data as per categories such as - which information goes where, which messages are sent to whom and likewise. From the very first step, marketing automation allows you to carefully segment your in-house list. Accordingly, no entry can be made without being classified. Thereon, every single action taken by an individual, from every clickable link to slightest piece of information, all gets recorded under one central database. Whether you're sending out your first email or fifteenth, every person's record is updated instantly.

Knowing the Answers

By analyzing the volume of data (open rates, clickthroughs, form completions, expressed and implied preferences...) accumulated by your data marketing automation system, you as a marketer, can find answers to some of your most persistent queries such as:

1.By the designated category, which prospects are the most and least active responders? 2.What has been your response rate over the past 6 months for one email type communication versus another? 3.What number of prospects responded to the current month's product promotion compared to the one executed 2 months ago?

Knowing your Prospects

You can better understand your prospects by letting them choose the type and level of communications they do / don't want to receive from your end. Such communications might include:

1.Product announcements 2.Corporate press releases 3.Event announcements 4.Broad informational resources

Once your prospects have expressed their preferences, the information gets stored in the centralized database, supported by your marketing automation, which further lets you capture your prospect/s professional interests.

Advantages

With marketing automation application, you enjoy a number of benefits:

1.You spend more time on the tasks that you like to do, which usually are those that got you into the business in the first place. 2.Instead of you having to chase clients, they come to you already knowing about your products / services. 3.While you are occupied entertaining existing clients, you're still getting the word out about your services allowing you make informed decisions about your company' 4.You get the leverage to accelerate your business growth.

Most marketing-automation applications let users design, schedule, execute and evaluate multi-channel marketing campaigns. Major components to be considered under marketing-automation are: -

1.Marketing analytics is important for companies that do not have a sophisticated data-management infrastructure. Companies that are new to data analytics might want a marketing-automation tool that can generate data models. 2.Campaign management is another key piece of marketing automation that supports campaign design, scheduling and execution capabilities across multiple channels, including direct mail, E-mail, Web, phone, fax and events. 3.Real-time decision support helps marketing managers track campaigns and make tweaks on the fly in response to customer activities. 4.Learning algorithms track and predict customer behavior. 5.Finally, response management and reporting lets business managers review the results of their campaigns.

Any major marketing automation project must be initiated with a strategy and process evaluation. Many companies attempt to redesign processes in the middle of an automation effort. This is can significantly increase costs and induce delays. Strategy, process and automation - in that order - deliver the best and most predictable results.

Selecting the best product is often a matter of aligning with a company's CRM infrastructure or selecting the most viable software vendor. While functionality is important, products should offer maximum support for most marketing processes. A number of CRM vendors offer marketing automation as part of larger offerings that may include sales-force automation or customer-service capabilities.

Get winning results with Salesforce.com

As a global leader in on-demand customer relationship management (CRM), Salesforce.com provides closed-loop marketing automation application. Understanding the importance of integrated sales and marketing, Salesforce Marketing Automation helps you advocate multi-channel campaigns. Real-time analytics and reporting tools help marketers to evaluate campaign results and make necessary tweaks to enhance their performance.

Salesforce.com's comprehensive on-demand marketing automation offers you: -
Integrated marketing and sales application with automated lead conversion. Real-time analytics to measure and optimize campaigns for positive results. Multi-channel campaign management and analysis. Simple-to-use and rapid deployment encouraging better and faster user experience.

Want to get quality results? Choose Salesforce.com for award-winning functionality, proven integration, point-and-click customization, global capabilities and more. Free Trial & Demo - Apply Today!

For more information contact us at: Sales Force

Labels: , , , ,

Sunday, March 2, 2008

Defining CRM

Customer Relationship Management, also known as CRM, has been around for quite some time. It all started back several years ago when someone decided that combining both Sales & Marketing with Service & Support, would be a great idea, and it was. According to many accounts, Tom Siebel is the mastermind behind CRM. He extensively developed and marketed CRM until it became a well used "tool of the trade" so to speak.

Another related industry application, Sales Force Automation (SFA), is one of the earliest players in the CRM field, as is customer support. SFA is used to support the sales process of a company or organization, and it offers Lead Management, Opportunity Management, Account & Contact Management, Sales Pipeline Management, Sales Forecasting, Sales Analytics, as well as many other features, depending on the application.

Corporations have learned that by utilizing technology in their day to day processes, they can automate virtually their entire sales force teams and save countless hours that would otherwise be wasted. CRM and SFA are becoming more popular with time, and even Microsoft has expanded to include CRM in their list of many bells and whistles. CRM includes all aspects of interaction a company has with its customer, whether it be sales or service related.

It is certain, new technology has changed the way businesses and organizations approach their CRM strategy, and this has paved the way for new trends and customer growth. Businesses are able to customize their customers' experiences and therefore grow at a steady rate. CRM is a vital part of any business plan, and the technology just keeps getting better.

http://www.emaximation.com

Labels: , , , ,

Thursday, February 7, 2008

Microsoft CRM Customization: MS Exchange Transport SMTP Event Sink

Microsoft CRM has variety of customizations options and tools. The official and the most popular is Microsoft CRM SDK: collection of C#.Net and partially VB.Net classes, methods and code samples. Here we would like to give you more complex case, when you call CRM SDK customization from custom MS Exchange event handler we are improving the functionality of MS Exchange MS CRM connector.

Imagine the case when you want outgoing email to be captured and placed into CRM, attached to Contact, Account or Lead they should belong to. If this is realized your salespeople can use any email tool to send their messages, they do not have to do it in CRM or Outlook Client for CRM.

MS Exchange OnSyncSave database event cant work with Sent folder it doesnt fire when message goes to Sent folder. The reason is described here:

PRB: Store Events Do Not Fire on the Outbox or Sent Item Folders

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q297274

Please, see SMTP Event Sink example in this article: http://support.microsoft.com/default.aspx?scid=kb;en-us;317327. Event handler works OnArrival event:


void ISMTPOnArrival.OnArrival(CDO.IMessage msg, ref CDO.CdoEventStatus EventStatus)

{

log = LogManager.GetLogger(typeof(ShieldsUp));

DOMConfigurator.Configure(new FileInfo(Environment.SystemDirectory + "/CustomerApp/log.config"));

try {

ProcessMessage(msg);

}

catch (Exception ex) {

log.Debug(ex.Message + " " + ex.StackTrace);

}

finally {

LogManager.Shutdown();

}

}


The class:


// ComVisible enables COM visibility of this class. The default is true.

// Explicitly setting this attribute to true, as shown below, is useful

// if ComVisible is set to false for the namespace and you want the

// classes to be accessible individually.

[ComVisible(true)]

public class ShieldsUp: CDO.ISMTPOnArrival

{


Next the handling works similar to SyncSave handler:


private void ProcessMessage(CDO.IMessage msg)

{

string sFrom;

string sTo;

string sSubject;

string sBody;

string sSensitivity;

try

{

log.Debug("Firing Up ProcessMessage()");

sSubject = msg.Subject;

sBody = msg.TextBody;

sFrom = msg.From;

sTo = msg.To;

if (msg.Fields["urn:schemas:mailheader:sensitivity"].Value != null)

sSensitivity = msg.Fields["urn:schemas:mailheader:sensitivity"].Value.ToString();

else

sSensitivity = "Normal";

log.Debug("Message From: " + sFrom);

log.Debug("Message To: " + sTo);

log.Debug("Subject: " + sSubject);

log.Debug("Sensitivity: " + sSensitivity);

log.Debug("Body: " + sBody);


In deployment you should consider the following the handler will work only in the case of SMTP protocol delivery. If you use Outlook or Outlook Web Access, then delivery uses MAPI and OnArrival doesnt fire. Please see this article: http://support.microsoft.com/default.aspx?scid=kb;en-us;273233

The elegant fix is two SMTP gateways, find it here http://support.microsoft.com/default.aspx?scid=kb;en-us;Q288756

Boris Makushkin is Lead Developer in Alba Spectrum Technologies USA nationwide Great Plains, Microsoft CRM customization company, based in Chicago, California, Colorado, Arizona, New York, Texas, Florida, Georgia and having locations in multiple states and internationally (www.albaspectrum.com), he is Microsoft CRM SDK, Transact SQL, C#.Net, Crystal Reports and VB.Net developer. Boris can be reached: 1-866-528-0577, borism@albaspectrum.com.

Labels: , , , ,

Monday, January 28, 2008

Microsoft CRM in Latin America: implementation, customization, support overview for consultant

Microsoft Business Solutions CRM is present several years on the US software market plus it makes advances in Europe.  We expect substantial number growth of Microsoft CRM implementations across South and Central AmericaMicrosoft Business Solutions CRM is present several years on the US software market plus it makes advances in Europe.  We expect substantial number growth of Microsoft CRM implementations across South and Central America

 

  • Sales.  Microsoft CRM in opposite to former CRM leaders, such as Siebel, Onyx, Saleslogix doesnt need hard pushing sales efforts.  It also should probably not be sold to the company top management, but rather to IT department enthusiasts, who are in charge for specific legacy business system support and data fixing.  Microsoft CRM is very simple from business logic and intuitively understood by IT group.  It is rather very simplified version of full-featured CRM, such as again Siebel.
  • Installation.  Microsoft CRM should be either hosted or installed by in-house IT group.  And this is due to the fact, that MS CRM utilizes all the resent Microsoft technologies: MS Exchange Server 2003/2000, Active Directory, MS SQL Server, Crystal Reports Enterprise, MS Outlook client, Microsoft IIS, .Net components, etc.  This makes installation sensitive to existing setup of the above components
  • Implementation.  The crucial in the implementation is Workflow design, which should be probably done by consultant with IT in-house specialist.  This process doesnt require a lot of business consulting knowledge and in our experience company middle management actually makes suggestions in the time of initial presentation.  In the case of MS CRM Sales module the workflow should organize leads processing up to the point of closing the deal and following invoicing.  When workflow is realized sales team works as excellent orchestra.
  • Customization.  Usually MS CRM ties together existing legacy business systems and replaces large portion of them.  Typical case if you are freight forwarding client and have cargo tracking system you should more likely have lookup from the MS CRM account screen to the customer current shipments statuses.  This is usually made as small web application, created in Visual Studio.Net with MS CRM SDK and SQL queries to legacy database.
  • Support.  Because MS CRM is web application it can be used by remote users and automate operations across the whole South America and even Worldwide.  The same should be said about MS CRM support your Microsoft Business Solutions CRM Partner can support your installation remotely from say office in San Pablo as if it is located across the street.

Good luck implementing, customizing and reports designing and if you have issues or concerns we are here to help!  If you want us to do the job - give us a call in San Pablo: 55-11-3826-3449, 55-113825-2586! help@albaspectrum.com


Author is MS CRM Specialist in Microsoft Business Solutions Partner Alba Spectrum Technologies ( http://www.albaspectrum.com ) Navision, Great Plains, Microsoft CRM customization company, serving client in Mexico-city, Buenos Aires, Montevideo, Bogota, Caracas, Panama, San Jose, Lima, Quito, Madrid, Barcelona

Labels: , , , , ,

Thursday, January 17, 2008

Lotus Notes Domino and Microsoft CRM Integration

Well, even if  the combination might look very unusual, we see the coexistence of these two systems, especially in large corporations, non-profit organizations.  Technically Lotus Notes Domino has parallel structure, including Domino email server.  Lotus is extremely flexible and you can program your own CRM or purchase CRM for Lotus, however Microsoft CRM has Microsoft SQL Server database and very simple Sales automation module.  Lets look at the integration reasons and scenarios. 

Well, even if  the combination might look very unusual, we see the coexistence of these two systems, especially in large corporations, non-profit organizations. Technically Lotus Notes Domino has parallel structure, including Domino email server.  Lotus is extremely flexible and you can program your own CRM or purchase CRM for Lotus, however Microsoft CRM has Microsoft SQL Server database and very simple Sales automation module.  Lets look at the integration reasons and scenarios.  Be sure that each specific case requires custom programming, tuning and support.

  • Why Lotus & MS CRM?  There are several reasons to combine the two.  First Lotus Domino has very long history and is present on the market over 15 years.  Corporations might have business system built upon the Lotus Notes Domino platform and it is not desirable or even feasible from the complexity standpoint to phase it out.  The second reason is possible IT strategy to balance multiple platforms to avoid over-dependence on one vendor (such as Microsoft).  There might be also licensing issue if corporation has several hundred Lotus licenses it doesnt want to lose them and pay for 200 Microsoft CRM users.  In this case MS CRM might be the solution for Sales department and all the other departments should stay on Lotus.
  • Lotus Domino as Messaging for MS CRM.  There is no need to program this custom piece, just use MS CRM Lotus Domino connector, supported by Alba Spectrum Technologies.  It has advanced functionality, versus standard MS CRM Exchange connector.  Instead of using GUID in the email header, it scans Contacts, Accounts, Leads emails for matching.
  • Lotus Workflow.  Workflow is possible in Lotus and MS CRM.  In Lotus, however workflow is the most advanced.  You can use Lotus Workflow and then upon the completion it can transfer control to Microsoft CRM.  This is typical Microsoft CRM SDK (to program MS CRM) and Lotus Java Agent programming from the side of Lotus.  Lotus workflow may work with integration to your ERP/Accounting application, such as Microsoft Great Plains, Navision, Axapta, however this is outside of the scope of this article.
  • Lotus/CRM Activities Synchronization.  One of the popular requirements is the synchronization of Microsoft CRM Activities: Appointment, Phone Call, Fax, etc. with Lotus TOTOs.  This should allow users work on the same project sharing Lotus and MS CRM data space.

If you need help in the integration or customization, feel free to call us: 1-630-961-5918, 1-866-528-0577, help@albaspectrum.com


Andrew Karasev is Chief Technology Officer at Alba Spectrum Technologies ( http://www.albaspectrum.com ) - Microsoft Business Solutions and IBM Lotus Domino Partner, serving corporate customers in the following industries: Aerospace & Defense, Medical & Healthcare, Distribution & Logistics, Wholesale & Retail, Chemicals, Oil & Gas, Placement & Recruiting, Advertising & Publishing, Textile, Pharmaceutical, Non-Profit, Beverages, Conglomerates, Apparels, Durables, Manufacturing and having locations in multiple states and internationally.

Labels: , , , , ,

Tuesday, November 27, 2007

Microsoft CRM Customization secrets second edition

This article is for advanced Microsoft CRM SDK C# developers. It describes the technique of direct SQL programming, when SDK doesn't have the functionality to do the job.

Introduction. Looks like Microsoft CRM becomes more and more popular, partly because of Microsoft muscles behind it. Now it is targeted to the whole spectrum of horizontal and vertical market clientele. It is tightly integrated with other Microsoft Business Solutions products such as Microsoft Great Plains, Solomon, Navision (the last two in progress).

Here we describe the technique of creating closed activity-email using MS CRM SDK and direct SQL programming.

Imaging something like this. You need to handle incoming email before it is committed to MS Exchange database. You need to analyze if incoming email doesn't have GUID in its Subject (GUID will allow MS CRM Exchange Connector to move email to Microsoft CRM and attach it to the Contact, Account or Lead) - then you still need to lookup MS CRM in case if one of the accounts, contacts or leads has email address that matches with sender email address - then you need to create closed activity-email in MS CRM, attached to the object and placed into general queue.

How to create MS Exchange handler is outside of the scope, please see this article:


http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm

Now the code below is classical MS CRM SDK and it will create activity email:


 

public Guid CreateEmailActivity(Guid userId, int objectType, Guid objectId, string mailFrom, CRMUser crmUser, string subject, string body) {

try {

log.Debug("Prepare for Mail Activity Creating");

// BizUser proxy object

Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials credentials = new NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = credentials;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

// CRMEmail proxy object

Microsoft.Crm.Platform.Proxy.CRMEmail email = new Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = credentials;

email.Url = crmDir + "CRMEmail.srf";

// Set up the XML string for the activity

string strActivityXml = "";

strActivityXml += "";

strActivityXml += "") + "]]>";

strActivityXml += "";

strActivityXml += userId.ToString("B") + "";

strActivityXml += "";

// Set up the XML string for the activity parties

string strPartiesXml = "";

strPartiesXml += "";

strPartiesXml += "" + crmUser.GetEmailAddress() + "";

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

strPartiesXml += ""+ crmUser.GetId().ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "" + mailFrom + "";

if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml += ""+ objectId.ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

log.Debug(strPartiesXml);

// Create the e-mail object

Guid emailId = new Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

return emailId;

}

catch (System.Web.Services.Protocols.SoapException e) {

log.Debug("ErrorMessage: " + e.Message + " " + e.Detail.OuterXml + " Source: " + e.Source);

}

catch (Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

return new Guid();

}

Our credits to Anna Osborn (so obviously small pocket aquarium goes to her smile!), she let us know how to close MS CRM Activity:

//creates the activity

strActivityId = oActivity.Create(userAuth, strXml, activityPartyXml);

//closes it as long as the relevant fields are complete oActivity.Close(userAuth, strActivityId, -1);

But in any case whatever you find below could help you to do whatever CRM SDK cant.

Now I would like to share the trick with you - there is no method to make this activity closed in MS CRM SDK 1.2 (if somebody knows the one - I owe you small pocket aquarium - smile!). Obviously Microsoft doesn't support if you do direct SQL programming bypassing SDK. However I would say this is not direct objects creation - this is rather flags correction. So here is what we have - this procedure will do the job and make activity closed:

public void UpdateActivityCodes(Guid emailId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE ActivityId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("ActivityId", emailId));

log.Debug("Prepare to update activity code " + emailId.ToString("B") + " in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}


Happy customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, Arizona, California, Colorado, Texas, New York, Georgia, Florida, Canada, UK, Australia and having locations in multiple states and internationally , he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer


akarasev@albaspectrum.com

Labels: , , , , , ,