Table of Contents |
---|
...
Twilio
...
Twilio is used to send text messages to your customers. You will use this to manage your company's SMS numbers.
Configuring Twilio
...
Info |
---|
If you are already using fulfillment SMS in your legacy instance of Blueshift, there is no need to do anything on the Twilio side as part of your migration to the refactored instance. |
Configuring Twilio
Logon to Twilio. You will come to the default dashboard page
Click the ellipsis under the house icon on the left-hand side
Under Super Network, go to phone numbers > manage numbers > active numbers. This will display all of the numbers your company can send SMS from. This is essentially an IP for an email.
Select a number
Info |
---|
The number of phone numbers that appear here will vary by client. Each phone number can only be assigned to one LLC. Splitting numbers across an LLC will break customer boundaries. |
5. Scroll down to Messaging. Messaging automation needs to be set up in order to for SignupApp to get the information.
Under Messaging complete the following fields:
...
CONFIGURE WITH | Select Webhooks, TwiML Bins, Functions, Studio, or Proxy | ||
A MESSAGE COMES IN | Select Webhook, then, copy and paste the URL below.
|
...
Required information for SUA to talk to Twilio:
...
Phone Number |
|
Account SID | Located on the main dashboard page in Twilio |
Auth Token | Located on the main dashboard page in Twilio |
...
Info |
---|
You won’t be setting up the adapters in Blueshift but you will need to provide the below information via a ticket to get it set up. |
Phone Number |
|
API Key SID | Located under settings in Twilio |
API Secret | This pops up when you create an API key. You will need to copy it save it then or else it will be lost. |
Account SID | Located on the main dashboard page in Twilio |
Auth Token | Located on the main dashboard page in Twilio |
...
You will need to coordinate the following with Twilio.
Blacklisting | You will need to coordinate with our Twilio rep, Dominique Kaittinat <dkiattinat@twilio.com> on the handling of your own opt-in/opt-outs. This needs to be setup correctly/requested appropriately on the application. "Correctly" in this instance means the blacklisting feature is NOT being utilized. SUA is handling the opt-ins/outs, not Twilio. |
Validation | You will need to add free Twilio validation service to the forms for your phone numbers to ensure the customer is added to correct list. This will ensure no international customers sign up to domestic lists. The following documentation from Twilio will help you set this up, but feel free to engage Dominique for direction first. |
SignupApp
...
Signup Errors
When an error occurs during sign-up, you will need to set up the Twilio information in SignupApp. SignupApp is used as the scaffolding know why the opt-in failed. These error statuses will appear on the dashboard in Twilio and will define why the customer didn’t make it on the list.
https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors
...
SignupApp
Next, you will need to set up the Twilio information in SignupApp. SignupApp is used as the scaffolding or the structure that is going to handle the lifecycle of people that get signed up for SMS campaigns. SignupApp will also manage the opt-ins for SMS signups.
SMS Code Setup
Log in to SignupApp
Select SMS lists at the top of the page then click on SMS CODE SETUP.
Click + sign in the lower right-hand corner of the screen to set up a new SMS code.
Complete the following fields:
...
SMS Provider | Select Twilio | |||
Twilio Account Token (Called "Auth Token" in Twilio) | Varies, copy and paste from the Auth Token field in Twilio. This will be found of the main dashboard. To copy, select Show, then select and copy the token. | |||
Twilio SID (Called "Account SID" in Twilio) | Varies, copy and paste from the Account SID field in Twilio. This will be found on the main dashboard. | |||
Code Type | Select Long for full length phone numbers and Short for short codes. | |||
SMS Code | Varies, copy and paste from the Phone number field in Twilio. | |||
Basic Default Messaging Keywords: | These messages will be sent as replies when the corresponding keyword is sent to the phone number. These default messages can by overridden, but all verbiage (including default messages) must be approved by legal before go-live. | |||
Save | A message will be sent instructing the customer to contact customer service. | |||
Help | This message provides the customer with instructions on unsubscribing when they request help. | |||
Info | This message will be sent to the customer when they request more info. They will be sent a link to the terms and conditions. | |||
Unsubscribe | Confirmation customer will receive when successfully unsubscribed.
| |||
Fallback | "Fallback" is used as a catchall and will be sent when SignupApp doesn't understand the request. |
...
To the far right of a record there is a button that allows you to unsubscribe the customer from the SMS list
...
Creating a Paid SMS List
Navigate to SMS LISTS.
Click + sign in the lower right-hand corner of the screen to set up a new Paid SMS List.
Complete the following fields:
...
List Code | Enter a list code for identification purposes. Customers will be required to include this list code in their text responses. The SMS codes (phone numbers) are most likely going to be used for multiple list. This will identify which list the customer is contacting us about. (Opt in, unsubscribes, etc) This is a free form field. | ||
List Description | Enter a descripiton of the list here. | ||
List Channel | This will default to SMS. | ||
List Type | The list type of Paid should be selected. | ||
SMS Code | Select the phone number (SMS code) set up previously. | ||
Item Number | Enter the paid list that this phone number will be supporting. This field is required for profile validation and is helpful when creating segments in Blueshift. If the item number is not added or is added incorrectly, it could be added to the wrong customer number and email pair.
| ||
Default Messages | These messages are specific to the individual list (rather than the phone number which might have multiple lists attached) and will be sent when a reply from the customer is required and/or when a reply from the customer is received. Update all of the placeholders within the default messages. All messages must include the list code. These default messages can be overridden, but all verbiage (including default messages) must be approved by legal before go-live. | ||
Opt In | Customers will be required to confirm or opt in to their subscription. They will be reqired to reply with "COMFIRM" followed by the list code. (Example: COMFIRM XYZSMS) There is no time limit to opt in, but failure to do so or failure to do so correctly will prevent the signup process from completing. If a customer attempts to signup again in the interim, the original signup and opt in will be replaced by the new one. If they have already opted in to the original signup, nothing will happen with the new signup. Customers will not exist in Blueshift until they opt in. | ||
Unsubscribe | Comfirmation customer will receive when successfully unsubscribed.
| ||
Welcome | Welcome message sent to a customer when they submit a signup. This message include various instructions including confirming a signup/opting in. Instructions to unsubscribe, get info, and get help are also included. If a customer is requesting to unsubscribe and replies STOP without a list following, they customer will be unsubscribed from all lists attached to that phone number instead this specific list. | ||
Info | This message will be sent to the customer when they request more info. They will be sent a link to the terms and conditions. | ||
Help | This message will be sent to the customer when they request help. The message includes information on how to unsubscribe, as well as customer service contact info. |
...
Info |
---|
An affiliate admin has the ability to delete a list. When this occurs every customer on the list will be unsubscribed. |
Website Plugin
...
You will need to set up the WordPress plugin for your website in order for your website to be able to talk to SignupApp. This plugin setup requires a token from SignupApp. Follow the instructions below to complete this setup.
Log into WordPress (threefold site) as an admin
Select 'Middleware 2' along the left-hand side
Info |
---|
You will need to have a Middleware plug-in set up for this to work. Make sure they are on the latest version of the plug-in so that the SUA integration is available. If it's not there then you will need to talk to threefold and upgrade to the latest version. Here are the instruction for tasks associated with upgrading the middleware plugin for SMS in the refactored Blueshift instances. |
...
Info |
---|
This code is not the same as the phone number 'shortcode' we have been referencing for SMS. This is a predefined snippet of PHP that can be reused throughout your website. This code is universal across clients with the exception of the list code which you will need to fill in. |
...
Signup Errors
When an error occurs during sign-up, you will need to know why the opt-in failed. These error statuses will appear on the dashboard in Twilio and will define why the customer didn’t make it on the list.
https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errorsIf there is an issue with a user signing up, SUA will determine which error code to display. You can customize the message the end user sees - instructions below.
/wiki/spaces/TCT/pages/43249008769
...
Signup Logic
To avoid a customer signing up to a new SMS list with a different phone number but the same email address, the logic was written such that it only checks the phone number against currently subscribed SMS list members with the same email address.
Meaning, if a customer is subscribed to an SMS list with email1@domain.com and phone number 123-456-7890 and tries to signup for another SMS list with the same email address (email1@domain.com) and new phone number 098-765-4321, they would not be able to signup since there is already an email to phone number relationship that exists in SUA2.
Blueshift
Next, you will need to set up the content, campaigns, and connection to Twilio in Blueshift. Blueshift is used to create SMS content and target subscribers. The content will then be sent from Blueshift and out through Twilio.
Creatives
SMS creatives aren't much different than Email creatives in Blueshift. Follow the instructions below to create an SMS creative.
Navigate to Creatives.
Select SMS.
To create a new SMS creative, click +TEMPLATE in the upper right corner of the screen.
Enter a name for your creative and click OK.
Enter any tag folder/tags you wish to use.
Click Content.
Add your content on the left side of the screen.
A preview of your content will appear on the right side of the screen. By default, you will be previewing the content as a customer named Jane Doe. You can search for and select a different customer if you choose to do so.
Click Save.
10. Click Test Send.
11. Send a test text by entering the phone number you want receive the test and click Send.
Events/Transactions
When a customer subscribes/unsubscribes to a fulfillment SMS list, the fulfillment_sms_subscribe/unsubscribe event is added to their profile. This event triggers an update to the subscription transaction, sets the sms_active to either true or false and adds the sms_list_code attribute (this is the SMS list code that’s being used in SUA2).
Additionally, the phone number attribute at the user level is updated with the phone number that was present in the fulfillment_sms_subscribe event.
Segments
Navigate to segments.
Click +SEGMENT
Under the “What type of segment do you want to create?” section select Basic or Advanced Segment
Under the “What do you want to segment on?“ section select the Transactions radio button and then subscriptions from the drop down menu
Enter a name for the segment.
Click + to add a condition.
Make the following selections:
...
...
Transaction is:
...
subscriptions
...
With the following attributes:
Info |
---|
This is just an example of a simple segment |
item_code | is equal to | [enter the pub code from SUA here]
AND
sms_active | is equal to | True
Info |
---|
|
SMS Campaigns
SMS campaigns are the basically same as email campaigns with one main difference: Instead of selecting email, you will select SMS.
However, if a customer subscribes and opts-in to an SMS list with email1@domain.com and phone number 123-456-7890, then opts-in to a different SMS list with a different email address (email2@domain.com) but the same phone number (123-456-7890), the signup will go thorough. In the event that a customer is opted-in to an SMS list, then subscribes to the same SMS list using a different email address but the same phone number, the new signup becomes the new record and the original record is unsubscribed. Additionally, the fulfillment_sms_unsubscribe event is sent to Blueshift for the original record. This way the customer would not receive two SMS messages to their phone for the same list.
In the refactored instances of Blueshift we are doing additional validation so, post migration, counts will differ from the legacy instances. In the legacy instances we were recording signups with email addresses regardless of whether they were associated with a subscription. For the initial data migration to the the refactored instances, we will only bring over email addresses tied to a subscription.
Post migration, we’ll make a MW API call and use the subscription reference to make sure the correct email address is associated with the signup. This will account for email and L type logins.
...
Blueshift
Next, you will need to set up the content, campaigns, and connection to Twilio in Blueshift. Blueshift is used to create SMS content and target subscribers. The content will then be sent from Blueshift and out through Twilio.
Creatives
SMS creatives aren't much different than Email creatives in Blueshift. Follow the instructions below to create an SMS creative.
Navigate to Creatives.
Select SMS.
To create a new SMS creative, click +TEMPLATE in the upper right corner of the screen.
Enter a name for your creative and click OK.
Enter any tag folder/tags you wish to use.
Click Content.
Add your content on the left side of the screen.
A preview of your content will appear on the right side of the screen. By default, you will be previewing the content as a customer named Jane Doe. You can search for and select a different customer if you choose to do so.
Click Save.
10. Click Test Send.
11. Send a test text by entering the phone number you want receive the test and click Send.
...
Events/Transactions
We have broken the SMS events out into two separate events. The first one for the initial signup (prior to opting in) and the second one is sent after the customer has completed the opt-in process by sending in the correct confirmation message. Doing this allows you to target customer via email if they have not completed the opt-in process. See the SMS Campaigns section below for more details.
When a customer subscribes to a fulfillment SMS list, the fulfillment_sms_subscribe event is added to their profile with the following attributes:
Code Block |
---|
{
"email": "emailaddress@email.com",
"phone_number": "+12345678900",
"event": "fulfillment_sms_subscribe",
"item_code": "XXX",
"subscribed": true,
"sms_list": "XXXSMS",
"sms_active": false,
"subscription_id": "000000000000"
} |
This event triggers an update to the corresponding subscription transaction, sets the subscribed
attribute to true along with adding the sms_list
(this is the SMS list code that’s being used in SUA2). However, on the subscription transaction, sms_active
is set to false because the customer has not completed the SMS opt-in process.
When the customer replies with the correct confirmation message (ex. CONFIRM PUB), the fulfillment_sms_optin event is added to their profile with the following attributes:
Code Block |
---|
{
"email": "ayeager@14west.us",
"event": "fulfillment_sms_optin",
"item_code": "SFT",
"phone_number": "+14434155221",
"sms_active": true,
"sms_list": "SFT_SMS",
"subscribed": true,
"subscription_id": "000061599367"
} |
This event triggers an update to the corresponding subscription transaction and sets sms_active
to true.
If a customer unsubscribes to the SMS list, the fulfillment_sms_unsubscribe event is added to the user profile and the sms_active
and subscribed
attributes are set to false.
Info |
---|
The phone number attribute at the user level is updated with the phone number that was present in the fulfillment_sms_subscribe event. |
...
Segments
Navigate to segments.
Click +SEGMENT
Under the “What type of segment do you want to create?” section select Basic or Advanced Segment
Under the “What do you want to segment on?“ section select the Transactions radio button and then subscriptions from the drop down menu
Enter a name for the segment.
Click + to add a condition.
Make the following selections:
...
Transaction is: | subscriptions | ||
With the following attributes:
| item_code | is equal to | [enter the pub code from SUA here] AND sms_active | is equal to | True |
Info |
---|
|
Note |
---|
SUA2 UI displays the initial signup regardless if they opted in or not and does not update the record if a customer unsubscribes. So, you will see a discrepancy if comparing counts between SUA2 and active SMS subscribers in Blueshift. |
...
SMS Campaigns
SMS campaigns are the basically same as email campaigns with one main difference: Instead of selecting email, you will select SMS.
Navigate to Campaigns.
Click +CAMPAIGN in the upper right corner of the screen.
Select One Time Send.
Enter a name for the campaign and click OK.
Start setting up the campaign as you usually would. Add tag folder/tags, select the start date and time, and select the segment.
Click Save
Click Add your first trigger and select SMS.
From there select the template you would like to use.
Select the Twilio adapter. Choices will be limited to SMS adapters only.
Info |
---|
If you need an adapter created, submit a support ticket and provide the information needed. |
10. Click Create Trigger
11. Click Launch
Non-Optin Campaign
Anchor | ||||
---|---|---|---|---|
|
Navigate to Campaigns.
Click +CAMPAIGN in the upper right corner of the screen.
Select One Time Send or Segment Triggered.
Enter a name for the campaign and click OK.
Start setting up the campaign as you usually would. Add tag folder/tags,
...
select the start date and time, and select the segment.
The segment would include customers who have the fulfillment_sms_subscribe and NOT the fulfillment_sms_optin event on their profile.
Click Save
Click Add your first trigger and select
...
Email
From there select the email template you would like to use.
Select the
...
email adapter
...
Info |
---|
If you need an adapter created, submit a support ticket and provide the information needed. |
...
to use for the mailing
Click Create Trigger
...
Click Launch
Omni-Channel Campaigns
Omni-Channel campaigns allow you to send messages to customers using different communication channels such as Email, SMS and Push. Here we are focusing on Email and SMS.
Navigate to Campaigns.
Click +CAMPAIGN in the upper right corner of the screen.
Select
...
Segment Triggered Send
Enter in the name of the campaign and click OK.
Start setting up the campaign as you usually would. Add tag folder/tags, select the start date and time
Click Save
At the Journey Start select a subscription transactional segment. (This should be a segment that does not already contain the sms_active criteria)
Click Add you first trigger and select Email
From there select the template you would like to use along with the appropriate adapter
Then click the + button on either the left or right of the email trigger
Note |
---|
Keep in mind that the campaign triggers are fired off from left top to rightbottom |
11. Select SMS
12. From there add a filter on the SMS trigger that uses the sms_active attribute and set that equal to true (see screenshot)
...
13. Click Save
14. Select the SMS Template for the SMS Trigger
...