Recipes
Retail

Build a customer loyalty program for high-value customers

In this recipe, we’ll learn how to identify customers with the potential for high LTV and enroll them in a loyalty-focused SMS program.

Segment

Made by Segment

Braze

Made by Braze

What do you need?

  • Javascript or Mobile source to track and collect events

  • Braze - a Customer Engagement Platform

Build a customer loyalty program for high-value customers

With a huge integration catalog and plenty of no-code features, Segment provides easy-to-maintain capability to your teams with minimal engineering effort. Great data doesn't have to be hard work!

Get started for free

Savvy marketers know that it’s easier to keep a happy customer than find a new one. But building customer loyalty still requires brands to make good on the promise of delivering the right message at the right time, via the right channels. To make an impact, loyalty programs need to create personalized experiences between brand and customer. A Capgemini survey found that 75% of respondents who identified as highly loyal to a particular retailer expected that brand to deliver a differentiated shopping experience. 

SMS is a powerful component for any loyalty program because of its global reach, two-way interactions, and incredible (95+%!) open rates. Of course, with this kind of direct connection to your customers, brands must act wisely when sending SMS. To see this channel’s full value, brands should treat SMS as a value-add for customers, showcasing special promotions and exclusive offers. 

This recipe uses Twilio Engage (formerly Segment Personas) to create an audience of high potential lifetime value (LTV) customers. Then you’ll activate that audience in Braze, invite them to join an SMS-powered loyalty program, and deliver these loyal subscribers a special offer. 

Step 1: Set up data tracking in your app

The first step is to sign up or log in to the Segment App. Next, create a Source for your Mobile and/or Web Apps. After you set up your Source, you’ll begin to implement events. Events are essentially actions — such as screen views or button clicks — performed by your users on your App. You can implement events by bundling our Android, iOS, or Web SDK with your App. Check out these docs to learn more about setting up your source. 

We recommend you track the below events to understand what actions users are performing on your site.

eCommerce Funnel Events

In addition to the track events, we also require you to send an identify call each time a user registers, logs in, or updates their info. 

segment-source-debugger

Step 2: Connect Braze destination with Segment

In this recipe, we will be using Engage to create an audience of inactive users and send that info to Braze, a customer engagement platform that lets you send emails, SMS, and push notifications to users from a single interface.

The next step would be to enable the Braze Destination inside Segment. To do that, go to the Engage page and navigate to the Destinations section.

segment-personas-add-destination

Click “Add Destination” and then search for “Braze” within the Destinations Catalog and enter the API key details to enable the destination. Please see these detailed instructions if you need additional help.

segment-braze-destination-settings

Step 3: Create a new Audience in Personas and send to Braze

After you have successfully enabled the Braze Destination, the next step is to create an audience of high LTV (lifetime value) customers you’d like to invite to sign up for SMS Loyalty programs.  Navigate to the Audiences page within Engage, click the “New Audience” button to create a list of users or accounts that match your criteria, and send that information to Braze and other marketing tools.

Keep in mind that: 

  • You can build an Audience from any of the events that are connected to Personas. This includes any track, page, or screen calls.

  • You can use the property button to refine the Audience on specific event properties as well. Select and not who to indicate users that have not performed an event.

  • You can also specify two different types of time-windows, “within” and “in-between”. “Within” lets you specify an event that occurred in the last X number of days. In-between allows you to specify events that occurred over a rolling time-window in the past.

In this Recipe, we are building an Audience of users who have purchased from the app more than twice in the last 90 days and who have a lifetime revenue of over $300. You can construct your audience query and preview the results. Click on any user to get a 360-degree view of their profile.

personas-audience-builder

Next, select the Destination(s) you would like to sync the Audience information with—Braze, in this case.

segment-personas-braze-destination

Finally, give your Audience a name and description that will allow you to identify your users inside Segment and in your Destinations. Hit the “Create Audience” button.

segment-personas-create-audience-save

Your audience will now be saved as a Custom Attribute on user profiles within Braze.

Step 4: Add your custom SMS Opt-In keyword to Braze 

In order to opt users into your loyalty-focused SMS program, the first step is to add your custom keyword — in this recipe, we’re using “LOYALTY” — to your “Opt-In” keyword category. Navigate to the “New Subscriptions” page and click into the relevant SMS subscription group. Click the pencil icon next to your “Opt-In” keyword category and add in your custom keyword.

braze-subscription-groups

This step ensures that when users text the custom keyword to your shortcode, they are not only opted-in to the relevant SMS loyalty subscription group but they also automatically receive the required opt-in SMS reply message.

In this recipe, we are going to use “LOYALTY” as our Opt-In keyword.

braze-opt-in-keyword-builder

Step 5: Create a Canvas

In this recipe, we will use Canvas, a unified interface within the Braze platform where marketers can build a series of messages and steps to form a cohesive user journey. To learn more about Canvases visit Braze Canvas documentation.

The first step is to create a Segment of relevant users you’d like to target inside Braze. Navigate to the “Segments” page and click the “New Segment” button to define your target users. Add a descriptive name to your Segment and use the dropdown to filter by Custom Attributes. Select the high potential LTV audience name we created in Segment Personas, and save the Segment. Once you’ve clicked “Save” you’re ready to start messaging your users.

braze-segments-builder

Next, navigate to the Canvas builder by clicking “Canvas” in the left-hand navigation and click “Create Canvas” to create a two-step journey prompting users to join your loyalty-focused SMS program.

  1. Promotional Email Inviting Users to Sign-Up for the Loyalty Program

  2. Sending an Exclusive Offer for Loyalty Program Subscribers via SMS

Before we build this journey, we need to define a Conversion Event, Entry Schedule and Entry Audience

Define Your Conversion Event Braze lets you define conversion events in order to track whether a recipient of your Canvas performs a high-value action within a set amount of time after receiving your messaging. To keep things simple, we will keep the default “Start Session” as the conversion event to track whether signing up to the Loyalty program drives users into the app.

braze-conversion-event

Define Your Entry Schedule Then, choose the cadence at which your users will flow through the Canvas. We will be choosing the “Scheduled Delivery” type and setting this Canvas to run daily at 12pm. As new users flow into the High Potential LTV Segment, they will be added to the Canvas and receive the first step at 12pm in their local time on the next send.

braze-entry-schedule

Define Your Entry Audience Next, specify your target users by selecting the High Potential LTV Segment created at the beginning of Step #5. Within the “Entry Controls,” ensure that “Allow users to re-enter the Canvas” is not checked so users will only receive this Canvas once.

define-entry-audience

Finally, review the send settings and proceed to build out your Canvas steps!

Step 6: Build Two-Step Journey

Within the Canvas builder, click the “plus” icon to add the first step to your Canvas. This step will be an email encouraging users to sign up for your loyalty-focused SMS program by texting the custom keyword “LOYALTY” set up in Step #4—to your shortcode. Once your users text this custom opt-in keyword to your shortcode, you will be able to use SMS as a channel to communicate with that user in all future Campaigns and Canvases.

braze-canvas-builder

braze-campaign-journey

Build The first Canvas Step — Promotional Email Inviting Users to Sign-Up for the Loyalty Program

Choose “Email” as the messaging channel. Since all users who enter the Canvas should receive the first step immediately upon Canvas entry, no modifications will be made in the Step Delay or Audience tabs. 

Within the Messages tab, you can begin to compose your email. Either select an existing email template or create a new one from scratch. Check out these docs for more help with composing your email. 

braze-promotional-email-loyalty-signup

Once your email message is composed, proceed to the Advancement tab and choose “Advance When Message Sent”. This will ensure your users only move to the next step once this email has actually been sent.

braze-email-advancement-settings

Build the Second Canvas Step — SMS Exclusive Offer for Loyalty Program Subscribers

Add a second step to your Canvas to deliver an exclusive offer to newly opted-in loyalty members who have converted from the email sent in Step 1 of the Canvas.  Since this step should be triggered when the user texts the custom opt-in keyword—“LOYALTY”—to the shortcode, make sure you select “Action-Based” in the Step Schedule tab. Then set the action-based trigger to “Send inbound SMS to subscription group”, choose the appropriate subscription group, and set the keyword category to opt-in.

Because Braze allows you to set the time interval during which a user within the Canvas flow can receive the message after receiving the previous email step, we have chosen one week for this value. Additionally, add a delay of 30 seconds. This will ensure that the required SMS opt-in message — which is set within the subscription group opt-in keyword category — is sent to the user prior to them receiving the custom loyalty offer.

braze-canvas-step-two

Next, choose “SMS/MMS” as the messaging channel and compose your SMS message.  Similar to the previous Canvas step, the Audience will not be refined further. Set the step to “Advance When Message Sent” and you’re ready to review and launch!

braze-sms-preview-screen

Note: Ensure that the profile of the user entering the Canvas includes their phone number; if it doesn’t, the user will not meet the criteria for the second step in the Canvas and will not receive the SMS. We recommend doing this by capturing phone numbers at the time of sign-up.

Step 7: Launch Canvas and View Results

Click “Launch Canvas” to deploy. Once the Canvas is launched, Braze will deliver Canvas-level and step-level analytics; clicking on each step expands/collapses that step’s message performance.

braze-sms-campaign-results

Only users within the high-LTV Canvas audience who have opted-in to SMS will receive the second Canvas step. For this reason, by reviewing the step-level analytics for the SMS exclusive loyalty offer you can see the number of users who have converted and signed up for the SMS loyalty program from this Canvas.

braze-sms-campagin-results-breakdown

Wrapping up

Here’s what we’ve done in this growth recipe:

  • Created a Website or a Mobile Source for your eCommerce site to track events

  • Connected Braze destination with Segment Personas

  • Created an Audience in Engage to identify high LTV (lifetime value) customers and passed on this information to Braze as a Custom Attribute

  • Added a “LOYALTY” SMS Opt-In Keyword inside Braze and created a Canvas Campaign

  • Launched the Canvas Campaign to build your SMS Loyalty program and sent exclusive offers to subscribers

Getting started is easy

Start connecting your data with Segment.