To send Reconnect SMS messages to users, you must do the following:
- Step 1: Integrate with your SMS provider. You can integrate directly with your Twilio account, or set up a custom integration to trigger message events through any SMS provider.
- Step 2: Manage your opted-in users. Inform Dynamic Yield which users consent to receive messages.
- Step 3: Identify your users. Use any of our identification events—Login, Signup, Newsletter Subscription, or Identify User. You identify users by Phone Number, Email Address, or any custom type. Learn more about cross-channel identification.
- Step 4: Track engagement. Measure the success of your campaigns.
Step 1: Integrate a messaging provider
- In the Integrations tab, click Create Channel Integration, and then select the SMS channel.
- Select Twilio.
- Provide the following information from your Twilio account:
- Twilio account SID
- Twilio auth token
- Sender phone number or ID (an alphanumeric value that describes you as the sender, like your company name)
- Click Save. The Twilio integration appears in the Integrations tab.
You can integrate with any SMS provider that supports API-based messaging.
Prerequisites
Your SMS provider must:
- Offer a RESTful API for sending messages, using either a “Send SMS” endpoint or an API-based events service.
- Use one of the following authentication methods:
- No Auth
- Basic Auth
- OAuth2
- Accept JSON payloads.
Setting up the integration
- In Reconnect, go to the Integrations tab and click Create Channel Integration.
- Select the SMS channel, then select Other.
- Enter information in the integration wizard as described in the following steps.
Step 1: Configure
- Name: The integration name is included in your campaigns and their reports.
- HTTP Post URL: Your SMS provider's messaging endpoint.
- HTTP Header Parameters (optional): You can insert header parameters in a key:value format. Click the lock icon to encrypt the value. The value displays as masked, and is encrypted before it's saved to our database.
-
Identifier Type: Select the user identification method required by your SMS provider. The corresponding value is included in the message JSON when you use the User Identifier variable.
For example, if you select Phone Number, and insert the User Identifier variable into your JSON payload in a campaign, it's replaced with the user's phone number, which you provided as part of the identification process.
Click Next.
Step 2: Authenticate
Select the authentication method your SMS provider requires:
- No Auth: No authorization is required, so there are no additional parameters to configure.
- Basic Auth: Enter a valid username and password as provided by your SMS provider.
-
OAuth2: Enter a token URL, client ID, and client secret, as provided by your SMS provider.
- You can change the key names of the client ID and secret in the token header parameters section.
- By default, the client secret value is encrypted for security purposes.
When you click Next, the credentials are validated against the token URL. If they are invalid, an error appears.
Step 3: Test
To test your integration, send a test API call to your SMS provider:
- Request Headers: Displays the parameters you entered in the previous steps.
-
JSON Payload:
- Enter your message in the JSON format required by your provider.
- Click Test. An API call is sent to the SMS provider endpoint you defined earlier.
- Request Response: Review the SMS provider's response.
If everything works as expected, click Save. The integration appears in the Integrations tab.
Step 2: Manage your opted-in users
Make sure your users have given consent to receive marketing SMSs. You can inform Dynamic Yield of their opt-in status by uploading a subscriber list or by sending real-time API events. We strongly recommend using both methods to ensure that any newly opted-in users are captured and can receive messages immediately—without waiting for the next feed sync.
Option 1: Upload a subscriber list
The subscriber list is a CSV file that you upload to an AWS S3 bucket, and sync daily.
Important to know before you begin:
- Each section supports one subscriber list for each channel integration, in this case, SMS.
- You should upload a file of your current opted-in users once a day.
- You must use the same identifier type in the subscriber list as you defined in your provider integration. So if you set the integration identifier as a custom user ID (or email address), that's the identifier value you must use in the subscriber list file.
-
The identifier value you use to opt users in is passed as-is to your messaging provider in the message JSON, using the variable ${User identifier}. Learn more about user data variables
-
The identifier type you use in the opt-in feed and events must match what you share in the identification events and what you send to your messaging provider. For example, if you want to pass a plain-text email value to your provider as part of the Reconnect API call, set Email as your integration’s identifier, share plain-text email addresses in the opt-in feed and events, and make sure to add the email (as a hashed value) in your identify events.
Uploading and syncing your subscriber list
- In Reconnect › Integrations, on the relevant channel integration card, click Sync Now.
- Click Continue. An S3 bucket is generated.
- Click Copy Credentials and store the S3 bucket details and the credentials in a safe location so they don't get lost or exposed.
- Prepare your CSV file according to the following format:
- File type: CSV
- Encoding: UTF8 encoding
- File name: data.csv
- First row: "phone numbers"
- Remaining rows: Plain text phone numbers, one per row (up to 10 million rows). Each number should consist of the country code, area code, and subscriber number with digits only, in E.164 format.
Example:
Download a sample CSV file: data.csv
- Upload the CSV file to the following folder in the S3 bucket with the appropriate date information:
upload_yyyy-MM-dd_HH-mm
For example:
upload_2020-03-19_14-00 - Upon file upload, synchronization to Dynamic Yield is initiated within a few minutes.
After you upload the file to the designated S3 bucket, you can view the sync status of each subscriber list in the relevant integration card under Reconnect Integrations. You can also click Sync Settings to view your S3 bucket or to regenerate credentials (limited to 1 more time after initial generation. If you need to generate them again, contact Support).
Important: When the subscriber list is synced, it overrides any previous opted-in and opted-out information, including statuses derived from opt-in/opt-out events.
Option 2: Report opt-in/opt-out status via API events
When a user subscribes to SMS messages on your site, fire the Update Reconnect Opt-In server-side event:
POST /v2/userdata/channels/sms/opt-in
Headers: {
"accept": "application/json",
"content-type": "application/json",
"dy-api-key": "your-api-key"
}
Body: {
"identifier": {
"type": "IdentifierTypeHere (email|phoneNumber|custom)",
"value": "UserIdentifierValueHere"
}
}
When a user unsubscribes from marketing SMS messages on your site, fire the Update Reconnect Opt-Out server-side event:
POST /v2/userdata/channels/sms/opt-out
Headers: {
"accept": "application/json",
"content-type": "application/json",
"dy-api-key": "your-api-key"
}
Body: {
"identifier": {
"type": "IdentifierTypeHere (email|phoneNumber|custom)",
"value": "UserIdentifierValueHere"
}
}
Note: Use the active_consent_accepted parameter in every Experience API call (like Choose and Engagement) to indicate the user's consent status. Dynamic Yield treats requests without this parameter or with an incorrect value like the user has NOT opted in (value is False).
Step 3: Identify your users
Identify site visitors to associate a Dynamic Yield user ID (DYID) to all visitors with a hashed email address or external ID as a cross-channel unique customer ID (CUID).
You can identify users using any of our identification events: Login, Signup, Newsletter Subscription, and Identify User. Learn more about cross-channel identification.
Step 4: Track engagement
Dynamic Yield shortens SMS links to save space and reduce messaging costs. Each short link is automatically tracked by Dynamic Yield, enabling you to measure engagement and evaluate the performance of your SMS campaigns without any extra setup.