I am on Sitecore 9.1. I am able to send emails and emails sent and open are being recorded but no emails clicks are being recorded.

  • The links in the email are being sent through the RedirectUrl.aspx page.
  • My site has enableTracking="true"
  • My Sitecore.Xdb.config has <setting name="Xdb.Enabled" value="true" />
  • When I look into my collections database I see EmailSent events and EmailOpenEvents but no EmailClickEvents.

So while it seems things are configured correctly it looks like no click events are getting into the collections database.

My logs have a few things in them but I am not sure how they relate.

28588 13:43:15 ERROR Exception: System.Net.WebException
Message: The remote server returned an error: (500) Internal Server Error.
Source: System
at System.Net.HttpWebRequest.GetResponse()
at Sitecore.Modules.EmailCampaign.Core.WebContent.DoDownloadString(String url, Boolean useIisCredentials, String userAgent)

ERROR Failed to download string content, URL: <myurl>/?sc_itemid=%7BE37BFB68-72DD-45E7-A91A-B2EAB6B50CE6%7D&sc_lang=en&sc_device=%7BFE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3%7D&ec_database=master&ec_id=34D51A59ED5A44C0A932F8BD3937187B&ec_message_id=186D238F41A7468DBB8E55FA6856B80F, Use IIS Credentials: True, UserAgent: ECM Dispatch
Exception: Sitecore.EmailCampaign.Model.Web.Exceptions.NonCriticalException

ERROR Task agent 'recipient_list_management_task_pool' failed to retrieve tasks for processing from the database.
Exception: System.Data.SqlClient.SqlException
Message: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - The wait operation timed out.)
Source: .Net SqlClient Data Provider
  • Clicks (as well as opens) are done on the Content Delivery server, so you would want to check the logs there (the above look like CM logs). Do you have a copy of an email and have you inspected the url to ensure its at least hitting the redirecturl.aspx page and then redirecting? Jan 8 '19 at 21:56
  • Thanks, @PeteNavarra. This is on my local machine so CM and CD running together. I have check the URL (see bullet point 1 above) to verify the click is routing through the RedirectUrl. I have done some more isolated testing of just when I click through an email. Those tests did not generate any of the above logs. In fact, it generates no logs other then a GeoIP lookup failure. Working to get GeoIP lookup either enabled in the app center or the lookup disabled (have not found where you turn that off).
    – ToddB
    Jan 8 '19 at 22:48
  • GeoIP wouldnt be the issue. You also need to make sure that xconnect is working. For clarity, I have EXm running on 9.1 just like you, and vanilla install is running just fine. But click tracking also needs xconnect to be working. So check all your xconnect logs as well. Jan 8 '19 at 23:17
  • Also, check your web.config session timeout. If default it is set to 20 minutes. You will want to bring that down to 1 minute. Otherwise, it will take 20 minutes from the time ypu close the browser that the click was performed with, before it reaches the xConnect collection db. And in the event something happens during that default 20 minutes, like you running a local build of VS or making a config change, or restarting the app pool, you'll lose that click info. Jan 8 '19 at 23:27

Wanted to follow back up on this in case someone else runs into this issue. The root cause of this was actually that we had some code in the Global.asax we have not ported out yet. Having the code in global.asax was not the issue. The issue is that if you are going to put code in there that class needs to inherit from Sitecore.Web.Application not the standard base class. The Sitecore base class holds some key functionality and in the case the key one not getting called was session end processing. Once we updated that all was good.

Not the answer you're looking for? Browse other questions tagged or ask your own question.