MessageId Confusion

There are two Ids connected to a message: their id connected to the campaign or story and when it is send out the dispatch id, which is a unique id for a specific dispatch for this user.

Example:

messageId =  453951
messageDispatchId = 245a7cd0-bf0f-11f0-9d76-4dbc5a1220e5

Both of these ids are connected to the mail.send-event, but unfortunately they are named differently in different places, which can be confusing. 

Examples

Story Message Node

messageId = Message ID

messageid_story.png

User Event History

messageId = channelConfigId
messageDispatchId = messageId

messageid_profile_public.png

Segmentation

messageId = channelConfigId

messageid_segment.png

Export API

messageId = messageId
messageDispatchId = messageDispatchId

{
  "companyId": 135, 
  "sessionId": "7a6bc916-ebf0-4154-8894-d0df7e0e0c2e", 
  "eventId": "c2d03620-af38-11f0-9fb5-0501fa8aeeff", 
  "eventTime": "2025-10-22T11:17:56.994Z", 
  "userId": "85336676-b3d8-4962-9765-81bba2c74a38", 
  "eventClass": "message.sent", 
  "eventType": "SYSTEM", 
  "data": {
      "storyId": "5513", 
      "campaignRunId": "320519", 
      "provider": "sendgrid", 
      "channel": "mail", 
      "messageId": "450043", 
      "journeyExtId": "092ab388-93a1-482f-a1d8-8866ab9d95e1", 
      "messageDispatchId": "c2948cb0-af38-11f0-9fb5-0501fa8aeeff"
  }}

 

Practical Example: Handlebars

Apart from obvious confusion that things are named the same but different, this also leads to some other curious ways our system works with it. One example is using the messageId in a handlebar.

Example:

  • Story starts with “mail.send”-event and since the UI shows the messageId as “channelConfigId” it is reasonable to think that it is used like this:
    {{story.blocks.[48371762853549413].[channelConfigId]}}
    But the handlebar to insert the id of the message is actually:
    {{story.blocks.[48371762853549413].[messageId]}}
  • similar when a campaign message is sent with links that include a UTM-parameter with the messageId:
    ?utm_medium=email&utm_source=crossengage&utm_campaign={{campaignId}}_{{messageId}}