We are trying to reterive data from the _SMSMessageTracking data view in order to populate another DE with undelivered and delivered statuses.

We've found there is a difference between Undelivered and Delivered fields - i.e. they are not always populated with the opposite values. In addition, there are records where Undelivered is null whereas Delivered = 1.

We did not find any explanation on the documentation for the differences observed above. Could anyone clear this up why is the difference?


  • 2
    There are a lot of issues with this data view. It serves both MobileConnect and TXM SMS sends. I'd suggest opening a support case and escalating until it gets acknowledged and addressed. Jan 9 at 22:50

I just closed a support case regarding this view (#41900016). Here's what I learned:

  1. Delivery fields are updated as the send process is occurring. If the delivery status changes the Sent, Delivered, Undelivered, and IsValid fields are updated on existing rows in this view. Any time an existing field is updated then the ModifiedDateTime is also updated. I've tested this scenario with valid & invalid mobile numbers and some custom AMPscript send logging in the SMS message.

  2. If there's a delivery issue, the code in SMSStandardStatusCodeID can be correlated with the error codes listed on the SMS Status Codes wiki page. The value in the Description field is helpful in this case.

  3. MobileMessageTrackingID is unique per Business Unit for each individual send.

  4. If these messages are being sent via the Transactional Message API, you can also do a retrieve on the delivery status endpoint using the messageKey from the original send response.

  5. There is also ongoing discussion to get messageKey added to this data view, so that TXM SMS sends can be correlated 1:1 for delivery status confirmation.

  6. There are some updates coming to the wiki page outlining the field lengths of the text fields. While you wait, here they are (in bold):

Field Name Data Type Length Primary Key Required
MobileMessageTrackingID Number TRUE TRUE
Mobile Phone FALSE TRUE
MessageID Number FALSE TRUE
KeywordID Text 16 FALSE FALSE
ConversationID Text 8 FALSE FALSE
CampaignID Number FALSE FALSE
Sent Boolean FALSE TRUE
Delivered Boolean FALSE FALSE
Undelivered Boolean FALSE FALSE
Unsub Number FALSE FALSE
OptOut Boolean FALSE FALSE
Outbound Boolean FALSE FALSE
Inbound Boolean FALSE FALSE
CreateDateTime Date FALSE TRUE
ModifiedDateTime Date FALSE TRUE
ActionDateTime Date FALSE TRUE
MessageText Text 160 FALSE FALSE
IsTest Boolean FALSE FALSE
MobileMessageRecurrenceID Number FALSE FALSE
ResponseToMobileMessageTrackingID Number FALSE FALSE
IsValid Boolean FALSE FALSE
InvalidationCode Number FALSE FALSE
SendSplitID Number FALSE FALSE
SendSegmentID Number FALSE FALSE
SendGroupID Number FALSE FALSE
SendPersonID Number FALSE FALSE
SubscriberID Number FALSE FALSE
SubscriberKey Text 254 FALSE FALSE
SMSStandardStatusCodeId Number FALSE FALSE
Description Text 512 FALSE FALSE
Name Text 256 FALSE FALSE
ShortCode Text 50 FALSE FALSE
SharedKeyword Text 50 FALSE FALSE
Ordinal Number FALSE FALSE
FromName Text 20 FALSE FALSE
JBActivityID Text 16 FALSE FALSE
JBDefinitionID Text 16 FALSE FALSE
  1. There's currently no way to correlate a native SMS Send Log data extension row to _SMSMessageTracking. You can use AMPscript in the SMS message to write to a custom SMS Send log, but it means that you'll need to generate your own messageKey.

Hope that helps. I know how frustrating it is.


I also found this KB article helpful in deciphering what columns in this view relate to which method of sending SMS. This data is sourced from multiple places.

  • Hi Adam, thanks so much for the detailed response and research. Do you specifically know why the Undelivered field is left NULL while the Delivered field value is TRUE in some scenarios? Thanks again
    – Barak
    Jan 13 at 23:03
  • I'm assuming that they just set the flags as the events occur. Jan 14 at 3:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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