There are two data views with limited/no documentation (as of time of writing) that store SMS data that can be accessed by a Query Activity:
| Field Name | Data Type (Length) | Required (Y/N) | Data Default |
| :- | :- | :-: | :- |
| _ContactID | Text | Y |...
So, the field names are correct (though not a complete list). They contain an underscore before each of them in the Data Extension. This makes things difficult when pulling the fields out using SELECT * because fields in [user created] Data Extensions cannot have a leading underscore.
So if you want to pull all the records from _MobileAddress you will need ...
So Mobile lists are DEs (which you can't see in the UI) and you can query them using a query activity. With this you can query the subscriberkey into a target DE which you can leverage elsewhere.
From [name of MobileConnect/MobilePush filtered list name]
Other attributes are not accessible through the query activity though
The InsertDE() function only works with email messages per the documentation:
This function applies to email messages at send time only.
Instead, you should use UpsertData: i.e. UpsertData('SendDE',1,'_SubscriberKey',_SubscriberKey,'DateSent',NOW())
Use this function with landing pages and SMS messages only.
This is as per design - only outbound templates are supported. Refer the official documentation where it states
How to Configure MobileConnect for Use with Journey Builder
steps below to properly configure your MobileConnect messages for use
with Journey Builder:
Contact your Salesforce Marketing Cloud relationship manager to ensure
your account ...
That's a great question. We've tried using the bit.ly shorten API method in conjunction with an AMPscript HTTPGet function (to make a request to the API) to shorten a URL. This works well, but the problem was that we quickly hit a rate limiting issue where we started receiving a 403 HTTP Status codes back from bit.ly.
It turns out that bit.ly has a monthly ...
Currently there is not a data view which would allow access to attribute X in your example.
In the MC January 2019 release, two MobileConnect data views were made available.
Relating the two objects in MobileConnect Demographics is not necessary and would not allow for personalization from table Y to pull through to an SMS send. You could utilize an ...
Yes, absolutely you can. I've documented the procedural steps below.
Regarding setting the short/long code and keyword, refer to #10 and #11 of Step 2.
Step 1: Create a MobileConnect List
While Contact Builder enables the creation of Contact Records and configuration of a Contact data model (through linked Attribute Sets), when sending SMS messages from ...
That is correct, opt-in can only be done manually, or opt-in from mobile or via API.
Opt-out can be done via Import in Mobile - All contact and populate the Status field with the value Unsubscribe (MobileConnect Demographics).
Once a message is marked inactive after 180 Days it will be deleted by the system. This is covered in this help doc: Inactivate a Message
NOTE After 180 days, MobileConnect archives inactive messages and removes them from view. You can still review information on archived messages in the calendar on the day the message was sent.
Support would not be able ...
Within MobileConnect you can find/setup Id by creating a message with Outbound type where you have to choose Send Method as API Trigger.
If you're setting up a new message then you can find the Id during the Activation phase in a small confirmation window.
If you're looking to find Id of an exisiting Outbound API Trigger then you can view it by selecting ...
Maybe this will help someone else, as I had some trouble to find this in the documentation.
If you want to save or further process an inbound SMS, you can use MSG(01) variable. Help (https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-programmatic-content.meta/mc-programmatic-content/mobileVariables.htm)
tells us "Use this function to return ...
In case you're wondering about the data types and such:
| Field Name | Data Type (Length) | Required (Y/N) | Data Default |
| :- | :- | :-: | :- |
| _ContactID | Text | Y | |
| _MobileNumber | Text(15) | Y | ...
Here is the query we are using to retrieve most recent unsubscribes from our MobileConnect
a._MobileNumber AS MobileNumber,
a._MobileSubscriptionID AS MobileSubscriptionID,
a._OptOutDate AS OptOutDate,
b.Contact_Key AS ContactKey
FROM _MobileSubscription a
JOIN Contacts b ON a._MobileNumber = b.PhoneNumber
JOIN Permissions c ON b....
Yes, in short.
MobileConnect can be provisioned in one of two ways:
A single shared instance where contacts and codes are shared by all BUs.
Separate siloed instances for each Business Unit.
If this is a new Marketing Cloud account and the former method sounds like the best fit for you, then I'd raise a case to Support to have the provisioning done with a ...
The Marketing Cloud SDK would be the right way to accomplish this. The setup is simple, both iOS and Android are supported and there are a number of ways for integrating messaging in a broader system.
Docs are here:
Best of luck,
You will need a short/long code before you can use MobileConnect.
When an account is initially provisioned, it doesn't include a short/long code, even if this is included in your licence. This has to go through a separate process as the short/long code assignment process varies by country (as different countries use different aggregators).
To initiate the ...
Opt-out can be done via Import in Mobile - All contacts and populate the Status field with the value Unsubscribe (MobileConnect Demographics). So this is a update from opt-in to opt-out. Opt-out to opt-out can not be done via import.
or Mobile opt-in through phone.
Yes, Long Codes are meant for 1:1 meaningful conversations, not mass messaging. The 1 message per second restriction is correct.
What I would talk to SFMC about is looking to get a short code AND a long code. Use the short code for the bulk stuff in US, etc. and then Long Code for everyone else. This should help reduce the turn time for your SMS campaigns.
Keyword level opt-out for SMS is not available yet. I wondered what's the use of having multiple keywords for opt-outs in that case. Figured out that this feature is only available in Australia. Hopefully they enable it for everyone.
Here's the idea for the same. Please upvote.
1 = active
-1 = unspecified
2 = bounced
3 = held
4 = unsubscribed
0 = opted-in
1 = opted-out
0 = opted-out
1 = Opt-In Pending
2 = opted-in
Yes _MobileAddress and _PushAddress data views are available via SQL queries
There is API available to update ...
The confusion is understandable, because keywords serve a dual purpose:
they act as sort of code words that let the system know what should be done with an inbound message (STOP, HELP and custom keywords that trigger Info Capture, Text Response messages, etc.)
at the same time they are treated like subscription lists where people can get opted-in and opted-...
I would recommend you to use AttributeValue AmpScript function to check FirstName field value.
SET @Firstname = AttributeValue("FirstName")
IF Not Empty(@Firstname) Then
IF Length(@Firstname) > 8 Then
SET @Name = "Dear Customer"
SET @Name = ConCat('Dear',' ',@Firstname)
Refer to this page for a complete list of personalization strings available within MobileConnect.
Retrieving Email Subscriber details from MobileConnect
The good news is that SubscriberId in Email Demographics matches the ContactId in the Contact model. So to retrieve the Subscriber Key of the Contact in an SMS, you can lookup the _ContactID from the ...
The support came back with a more definitive reply:
"I have checked your concerns with the team and they have explained that each MobileNumber associated with a particular contact would log the information about things sent to it under the MobileNumber that they had come from. As there can be multiple MobileNumbers per contact that information would just be ...
For send logging to a Data Extension, SFMC added the SMS Send Log Data Extension template last year. There's a knowledge base article that covers what it is an how to use it.
One of the challenges would be that MobileConnect has a separate data model where in order to send an SMS, the contact has to be subscribed to a MobileConnect keyword. So, in order to ...
@Nikhil Jaitly Typcially, the STOP keyword applies to the long code or short code sent from, so if you have a single instance set up or MobileConnect where your long code is shared across BUs, the STOP will suppress the contact across all sends from that long code, irrespective of BU.
Please check you mapping in the import definition. On some occasions, the "Map by Header Row" is failing. Even though the mapping looks correctly in the UI, it fails to map the fields properly. Switching it to "Map Manually", even though it is the exact same mapping, sometimes solves the issue.
I have come across this situation before where MobileConnect Outbound SMS wouldn't respect the spaces and I guess your reg trademark is related to same issue.
The workaround this is by using the ASCII characters within the SMS. Here is the table of the ASCII characters.
Also I'd use the AMPscript Char that returns the ASCII character specified by the ASCII ...