MobileConnect / Journey SMS Troubleshooting
Trace an SMS from account configuration and consent through Journey execution, tracking status and held-number state.
Evidence tier describes my hands-on relationship with the content. Official sources describe platform contracts/documentation. Production observations should not automatically be treated as official limits.
Confirm channel availability
Verify MobileConnect/Content Builder/Journey Builder capabilities and that the SMS activity is available in the account.
Validate mobile identity and consent
Check mobile number formatting and _SMSSubscriptionLog state for the relevant program/keyword.
Validate Journey personalization
Preview using realistic entry-source data; Journey Builder can fall back to MobileConnect demographics when entry attributes are unavailable.
Inspect _SMSMessageTracking
Look for the message record, status code/description, mobile number, JBDefinitionID/JBActivityID and timestamps.
Interpret shared-code delivery carefully
On shared codes, tracking status can prove aggregator delivery rather than final handset delivery.
Check _UndeliverableSMS
If messages are missing or repeatedly fail, see whether the mobile number is held/undeliverable.
Check STOP edge cases
Do not assume every opt-out has SubscriberKey/SubscriberID; a net-new number can STOP without a contact being created.