Salesforce Marketing Cloud Data Views: SMSMessageTracking

The SMSMessageTracking data view in Salesforce Marketing Cloud (SFMC) is essential for gaining deep insights into SMS message activity. It provides detailed logs of message sends, deliveries, failures, opt-ins/outs, and more — making it one of the most comprehensive SMS analytics tools within MobileConnect.

This blog post outlines each field in this view, highlights use cases, and shares practical SQL queries to track and analyze your SMS campaigns.


What is the SMSMessageTracking Data View?

SMSMessageTracking captures granular data about SMS messages sent and received via MobileConnect, including engagement actions (e.g., opt-outs, replies), delivery results, and message metadata.

Key Benefits

  • Full Lifecycle Tracking: View send, delivery, bounce, and engagement events.
  • Audience Insights: Monitor opt-ins, opt-outs, and reply behavior.
  • Campaign Attribution: Tie messages to campaigns, keywords, and codes.
  • Error Debugging: Identify invalid messages or delivery failures.

Fields in SMSMessageTracking Data View

FieldTypeDescription
MobileMessageTrackingIdNumberUnique ID for the SMS message tracking event.
EIDNumberEnterprise ID. Identifies the top-level account.
MIDNumberMember ID (Business Unit) where the message was sent.
MobileTextThe mobile number the message was sent to.
MessageIDNumberUnique identifier of the SMS message.
MessageTypeIDNumberID indicating the type of message (e.g., standard, transactional).
KeywordIDTextIdentifier of the keyword used.
CodeIDTextCode associated with the message (e.g., shortcode or long code).
ConversationIDNumberID of the conversation the message belongs to.
CampaignIDNumberCampaign tied to the message.
SentNumberCount of messages sent.
DeliveredNumberCount of messages delivered.
UndeliveredNumberCount of messages not delivered.
UnsubNumberCount of unsubscribe actions.
OptInNumberCount of opt-in actions.
OptOutNumberCount of opt-out actions.
OutboundNumberCount of outbound messages.
InboundNumberCount of inbound messages (replies).
CreateDateTimeDateTimestamp when the record was created.
ModifiedDateTimeDateTimestamp when the record was last modified.
ActionDateTimeDateTimestamp when the message action occurred.
MessageTextTextContent of the SMS message sent.
IsTestTextIndicates if the message was a test (e.g., Yes/No).
MobileMessageRecurrenceIDNumberID for recurring messages. Useful for identifying batch sends.
ResponseToMobileMessageTrackingIDNumberReference to the message this was a response to.
IsValidTextIndicates whether the message was valid.
InvalidationCodeNumberCode explaining why the message was invalidated, if applicable.
SendIDNumberUnique ID for the send event.
SendSplitIDNumberID for the A/B test split, if used.
SendSegmentIDNumberID for the segment in the send.
SendJobIDNumberJob ID for the SMS send.
SendGroupIDNumberGroup ID associated with the send.
SendPersonIDNumberPersonalization ID tied to the send.
SubscriberIDNumberSFMC subscriber ID associated with the message.

When and Why to Use SMSMessageTracking

When to Use?

  • When analyzing message delivery and performance.
  • To measure campaign effectiveness by keyword or code.
  • When tracking unsubscribe and opt-in behavior.
  • To debug undelivered or invalid message issues.

Why Use It?

  • Track Engagement: Monitor opt-in, opt-out, and reply metrics.
  • Compliance & Consent: Verify SMS delivery and subscription activity.
  • A/B Testing: Analyze split performance with SendSplitID.
  • Multi-Send Campaign Analysis: Filter by SendJobID, CampaignID, or SegmentID.

Sample SQL Queries

1. Count of Delivered vs. Undelivered Messages

SELECT 
  SUM(Delivered) AS TotalDelivered, 
  SUM(Undelivered) AS TotalUndelivered 
FROM SMSMessageTracking

2. Opt-Outs by Keyword

SELECT KeywordID, COUNT(*) AS OptOuts 
FROM SMSMessageTracking 
WHERE OptOut = 1 
GROUP BY KeywordID

3. Messages Sent This Week

SELECT Mobile, MessageText, ActionDateTime 
FROM SMSMessageTracking 
WHERE ActionDateTime >= DATEADD(day, -7, GETDATE())

4. Count of Inbound vs. Outbound Messages by Campaign

SELECT CampaignID, 
       SUM(Inbound) AS InboundMsgs, 
       SUM(Outbound) AS OutboundMsgs 
FROM SMSMessageTracking 
GROUP BY CampaignID

Conclusion

The SMSMessageTracking data view is an indispensable tool for SMS campaign analysis in Salesforce Marketing Cloud. It allows you to track the lifecycle of every message and provides transparency into delivery, engagement, and system-level events.

Combine this view with SMSSubscriptionLog, UndeliverableSms, and SMSSendLog to get a 360-degree view of your SMS channel performance.