Wednesday, September 23, 2015

How to enable read receipt for CRM emails


In CRM, it would be nice if we have read receipt of emails send. It will help us to manage marketing in better way. It will provide improved email delivery reporting for managing campaigns in better way. 
Most of the third party Bulk e-mail management products having this features.

How do we achieve this in CRM

Let’s go directly to solution.


Everything looks simple except tracking the action of opening the mail.

Here is my thought on it.

Include an image in your email template. It can be transparent gif file which will load from a public faced image URL

Ex: Add an image control in HTML body part of the email

   <img alt="test.jpg" src="http://<server>/PicContent.aspx?<pass the identification>" />

In server side we will manage email tracking part.
  Here it is: http://<server>/PicContent.aspx?<pass the identification>"

“onload” event of  PicContent.aspx you can write any logic to track the email actions in server side.



Sample code fro onload event of PicContent.aspx
----------------------------------------------------------------------
     var messageId = Request.QueryString[“messageid”];

            if (!string.IsNullOrEmpty(messageId))
            {
               // Do any tracking activities
            }
            Response.ContentType="text/plain";

            Response.ContentType = "image/gif";
            Response.WriteFile(Request.MapPath("~") + "\\" + "test.jpg");
            Response.End();
-----------------------------------------------------------------------

So whenever end user open the email, for loading picture content it will post back to your service. You can manage any action on your service.

J Of course. You might be thinking on the limitations… Yes, there are some limitations,
We assume user has internet connectivity while opening their emails and opening their email as HTML content.

Happy Coding :-)