"Failed to get campaign" error in EXM logs when messages are sent in the non-default language


Description

In the Email Experience Manager (EXM), when a message is sent in the non-default language, the following error might appear in the logs:

ERROR [SentMessageHandler] unhandled exception in pipeline'.
Exception: Sitecore.EmailCampaign.Model.Web.Exceptions.MessageEventPipelineException
Message: Failed to get campaign for Sitecore.EmailCampaign.Cm.Pipelines.HandleSentMessage.HandleSentMessagePipelineArgs
Source: Sitecore.EmailCampaign.Cm
   at Sitecore.EmailCampaign.Cm.Pipelines.HandleSentMessage.IdentifyCampaign.Process(HandleSentMessagePipelineArgs args)
   at (Object , Object )
   at Sitecore.Pipelines.PipelineMethod.Invoke(Object argument)
   at Sitecore.Pipelines.CoreProcessor.Invoke(Object argument)
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args)
   at Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args)
   at Sitecore.Modules.EmailCampaign.Core.PipelineHelper.RunPipeline(String pipelineName, PipelineArgs args)
   at Sitecore.EmailCampaign.Cm.Handlers.SentMessageHandler.CreateSentInteractions(SentMessage message)

In this case, statistics are not collected for the sent email campaign.

Solution

To resolve the issue, consider one of the following options: