A user registers on a website and opts in to SMS. They provide a phone number and agree to the SMS Terms (as well as providing other unrelated for this scenario information).


The data flows into SMFC via API Event. Using this, I can set up a Journey to fire off communications.

HOWEVER, how do I achieve a "double opt" in. Send an SMS message that says "If you would like to subscribe, reply with Y, etc.". Then the user is subscribed and I can communicate with them. Is it possible to do this within a journey? Can the journey capture response data from a users device?

  • 1
    you can only send a sms to a customer in a journey if the subscriber is already opted in , you could do a queuemo API to send a the first of a double option message
    – EazyE
    Aug 10, 2020 at 16:38

2 Answers 2


Your scenario is not well suited to Journey Builder. In order to send the Double Opt-In message from Journey Builder, you'd have to opt the contact into a keyword. What you're trying to do is eminently achievable using other tools at your disposal within Marketing Cloud.

You have a variety of templates to choose from in MobileConnect. The one you would be interested in is the "Mobile Opt-In" Template. The normal workflow is you provide a call to action somewhere, like "To receive updates, text OPTIN to ...", the consumer's mobile number is opted in to your keyword and you say "Thanks for opting in" in your Confirmation Message.

This is the single optin workflow. If you read the documentation on the Mobile Opt-In template, there are three flavours workflow:

  1. Single Opt-in - Requires users to text once to opt in.
  2. Double Opt-in - Requires users to text twice to confirm opt-in.
  3. Double Opt-in with Age Confirmation - Requires users to text in their age or date of birth after texting to opt in. If the user's age is above the minimum, MobileConnect accepts the opt-in.

For the Double Opt-In workflow (2), you'd normally expect you consumer to send an SMS to initiate the workflow. Your sign up page could emulate this part of the process on behalf of the subscriber using the QueueMO REST endpoint where you basically do the texting of "OPTIN", or whatever keyword, for them.

The last part of your use case is to inject into Journey Builder once the contact's successfully double opted in. For that, use an SSJS Script in the Double Opt-In's Confirmation Message. There are plenty of examples of this on StackExchange.

  • It sounds like you are saying that no matter what, we need to use QueueMO to trigger the double opt message, but then on the response to the double opt use scripting to add to JB. It sure would be nice if there was a scripting option in JB.
    – Dough Boy
    Aug 11, 2020 at 17:54
  • You could conceive of a complex arrangement of a Journey to opt your contact into a keyword and send them an SMS supported by some type of Automation to unsubscribe unconfirmed contacts sent the SMS using a Mobile Import Activity, I guess.
    – Macca
    Aug 11, 2020 at 23:28

If I understood correctly, you have a "form" in your website where the customer agree with the terms to receive SMS messages that is connected with a API event related with a Journey (consequently connected with a Data Extension) and you would like to create a Double Opt in scenario, Am I right?

In this case, you can create a new field (e.g. doubleOptIn (boolean)) in Data Extension attached to this journey send a SMS (using AMPScript) to get the response of your customer, and update this field

Here you can find some useful resource to accomplish your requirements:

Update Data Extension from text response



  • This does not appear that it is requiring the use of QueueMO correct?
    – Dough Boy
    Aug 11, 2020 at 17:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .