Founding merchants lock in lifetime founder pricing.
Docs

Channels

SMS & Push Notifications

Bring your own Twilio account for SMS and RCS, and switch on browser push, which is unlimited on every plan.

Email is just one channel. xUpsell also lets you reach customers through text messages (SMS/MMS) and push notifications. This page covers how to set up both.


SMS & MMS (Text Messages)

SMS lets you send text messages directly to your customers’ phones. It’s one of the most effective marketing channels — SMS messages have a 98% open rate compared to ~20% for email.

What You Need

To send SMS through xUpsell, you need a Twilio account. Twilio is the messaging service that handles the actual delivery — xUpsell connects to it and sends messages on your behalf.

Why Twilio?

Twilio is the industry standard for business text messaging. It’s used by companies like Airbnb, Uber, and Shopify itself. It gives you:

  • A real phone number to send from
  • Reliable delivery worldwide
  • Support for both SMS (text) and MMS (pictures)
  • Compliance with US messaging regulations
  • Pay-per-message pricing (no monthly minimum)

Setting Up Twilio — Step by Step

Step 1: Create a Twilio Account

  1. Go to twilio.com
  2. Click Sign Up
  3. Enter your email and create a password
  4. Verify your phone number
  5. Complete the short onboarding questionnaire

Twilio’s trial credits: Twilio gives new accounts credits to test with. While you’re on those credits, Twilio only delivers to phone numbers you’ve verified in your Twilio console. Upgrade your Twilio account when you’re ready to send to customers.

Step 2: Get Your Credentials

You need two pieces of information from Twilio:

  1. Log into your Twilio Console
  2. On the dashboard, you’ll see:
    • Account SID — your account identifier (starts with “AC”)
    • Auth Token — your secret key (click to reveal)
  3. Copy both values

Keep your Auth Token secret. Treat it like a password. Don’t share it or put it in emails.

Step 3: Connect Twilio to xUpsell

  1. In xUpsell, go to Settings → SMS & Communications
  2. Click Connect — the Enter Twilio Credentials window opens
  3. Enter your Account SID
  4. Enter your Auth Token
  5. Click Save
  6. The card now shows your Account SID and “Account connected” ✅, and the first step of the Twilio setup progress bar is ticked

You only enter these two values — Account SID and Auth Token. There is no separate phone-number field to fill in; xUpsell reads your numbers directly from your Twilio account once connected. Your Auth Token is validated and stored server-side — it’s never exposed back to the browser.

Once connected, a View Usage Statistics link appears on the card. It shows your Twilio account balance and usage records (SMS, MMS, calls, phone numbers) for the last 7, 30 or 90 days, or all time — handy for checking what Twilio is actually charging you.

Step 4: Get a Phone Number

You need a Twilio phone number to send messages from. Once your account is connected, xUpsell automatically lists any numbers already on your Twilio account. If you don’t have one yet, you can buy one without leaving xUpsell:

  1. Go to Settings → SMS & Communications
  2. Click Buy Number (on the Active Phone Numbers card, or in the setup progress bar)
  3. Choose a country — United States, Canada, United Kingdom or Australia — and optionally a type (Local or Toll-Free). You can also type digits to search for numbers containing them
  4. Click Search. Each result shows its location, its capability badges (SMS, MMS, Voice), whether an address is required, and the monthly Twilio price
  5. Select one number, then confirm the purchase

Make sure the number you pick has the SMS badge (and MMS too if you plan to send images).

The number you buy is purchased on your own Twilio account and appears in your Active Phone Numbers list automatically — ready to send from.

Releasing a number: select it in the Active Phone Numbers list and choose Remove number(s). This releases it in Twilio, so Twilio stops charging you the monthly fee. It cannot be undone.

Which number do messages come from? If you own several numbers, xUpsell sends from the first one with an In Use status. (If you enable RCS, sending goes through your Messaging Service instead — see below.)

Step 5: A2P 10DLC Registration (US Only)

If you’re sending SMS in the United States, you need to register for A2P 10DLC. This is a requirement from US mobile carriers — without it, your messages may be filtered or blocked.

What is A2P 10DLC?

A2P stands for “Application-to-Person.” 10DLC stands for “10-Digit Long Code.” It’s a registration system that tells carriers your business is a legitimate sender, not a spammer.

How to register:

  1. Log into your Twilio Console
  2. Go to Messaging → Trust Hub
  3. Register your business:
Information NeededDetails
Business nameYour legal business name
Business typeSole proprietor, LLC, corporation, etc.
EIN / Tax IDYour US business tax identification number
WebsiteYour store URL
Use caseSelect “Marketing”
  1. Register your brand
  2. Create a messaging campaign (describe your SMS use case)
  3. Submit for approval

Approval time: Usually 1–5 business days. You can still send to verified numbers while waiting, but delivery to unverified numbers may be limited.

Step 6: Send a Test Message

There are two ways to check your setup end to end:

If you’ve enabled RCS (see the next section), use the Send test button on the RCS Messaging card. Enter your own phone number with its country code and xUpsell sends a real message to it.

Otherwise, send a campaign to a single subscriber:

  1. Go to Subscribers and open your own subscriber record (it needs a phone number on its profile)
  2. Click Send campaign — the campaign is pre-filled to target only that subscriber
  3. Add your SMS message and run it
  4. Check your phone

Test messages are real messages. They go out through Twilio (so Twilio bills you) and they count as one send against your xUpsell plan limit, exactly like any other SMS.

If the test arrives, your SMS setup is complete.


RCS Messaging (Optional Upgrade)

RCS (Rich Communication Services) is a modern upgrade to standard texting. Instead of a plain message from an unknown number, your customers see a branded message — with your business name, logo, and support for rich media. It looks polished and trustworthy, which can improve engagement.

RCS is optional. If you don’t set it up, your text messages still send normally as SMS/MMS.

How It Works

When RCS is enabled, xUpsell sends every text message through your Twilio Messaging Service, which tries RCS first. If a customer’s phone or carrier supports RCS, they get the branded rich message. If it doesn’t, Twilio delivers that same message as a regular SMS instead — provided your Messaging Service’s Sender Pool also contains a phone number. That number is what the fallback is sent from. With an RCS Sender alone in the pool, customers without RCS receive nothing. xUpsell guards against that twice: it checks for the number when you enable RCS and tells you if it’s missing, and it checks again every time a text is about to go out — if the pool has been emptied in Twilio since, the send stops with a message naming the problem instead of failing silently at Twilio’s end.

Setting Up RCS

RCS is configured on its own card in Settings → SMS & Communications, below your Twilio connection and your phone numbers. Until you set it up, the card shows a Not configured badge. You’ll need a Twilio Messaging Service that has an RCS Sender attached.

  1. In your Twilio Console, create an RCS Sender (Twilio Console → RCS → Senders)
  2. Create a Messaging Service (Twilio Console → Messaging → Services)
  3. Add your RCS Sender and phone number to that Messaging Service
  4. Copy the Messaging Service SID — it starts with “MG” and is 34 characters long
  5. Back in xUpsell, paste it into the RCS Messaging card and click Enable RCS

xUpsell verifies the SID with Twilio before saving it — three checks: the service exists, it has an RCS Sender in its Sender Pool, and it has a phone number there for SMS fallback. A service with no RCS Sender is refused with a message telling you where to add one. A service with an RCS Sender but no phone number is accepted, and the card shows a No SMS fallback warning. That warning appears in the session where you entered the SID — after a page reload the card no longer knows the result and stops showing it, so don’t take its absence as confirmation that a fallback number exists. Re-enter the SID to check again. Once accepted, the card shows a Connected badge along with your Messaging Service name, and three buttons: Send test, Change and Disable.

What Changes Once RCS Is On

Standard SMSWith RCS enabled
Message length in the editor160 characters1,600 characters
The step is labelledSMS/MMSSMS/MMS/RCS, with an RCS badge
Sent throughyour first active phone numberyour Messaging Service (RCS first, then SMS from the phone number in its Sender Pool)
If no number is availablethe step fails with “No active phone numbers available”the step fails with “Your Twilio Messaging Service has no phone number in its Sender Pool”

Turning RCS off: Use the Disable button on the RCS card at any time and confirm. Your messages go back to sending as standard SMS/MMS, and the editor’s limit returns to 160 characters. Your Twilio Messaging Service and RCS Sender are not affected, so you can re-enable RCS later by pasting the SID again.


Disconnecting Twilio

To unlink your Twilio account, click Disconnect on the Twilio card in Settings → SMS & Communications and confirm.

Disconnecting will:

  • Stop all SMS/MMS sending from xUpsell
  • Remove the Twilio account link from xUpsell

Disconnecting will not:

  • Release your phone numbers from Twilio
  • Stop Twilio from billing you for those numbers

Important: if you’re disconnecting to stop paying Twilio, release your phone numbers first — select them in Active Phone Numbers and choose Remove number(s). Once xUpsell is disconnected, you’d have to release them from the Twilio console instead. Reconnecting later is just a matter of entering your Account SID and Auth Token again.


SMS Best Practices

What to Do

PracticeWhy
Keep messages shortThe message editor stops you at 160 characters (1,600 with RCS enabled), so write tight
Identify your brandStart with your store name so customers know who’s texting
Include a clear call-to-actionTell customers exactly what to do (click this link, use this code)
Respect timingOnly send between 9 AM – 9 PM in the customer’s timezone
Include opt-out infoInclude “Reply STOP to unsubscribe” so customers know how to opt out

A note on consent and STOP handling: SMS opt-in and opt-out (STOP) are managed at the Twilio and carrier level, not by xUpsell. Twilio automatically honors STOP replies for your account and won’t deliver to numbers that have opted out. It’s your responsibility to only text customers who have consented, and to follow the SMS regulations that apply to you.

Personalization tags don’t work in messages. Text like {{user.name}}, {{cart_url}} or {{product.title}} would be delivered to your customer exactly as you typed it. {{discount_code}} works in SMS, email and push notifications alike — but only when a Discount step ran earlier in the same workflow, so there’s a code to insert. In SMS steps only, four link tags also work and are replaced with real URLs for your store: {{store}}, {{cart_page}}, {{checkout_page}} and {{product_page}}. Anything else you type in double braces is delivered to your customer exactly as written.

What Not to Do

AvoidWhy
Sending without consentIllegal in many jurisdictions. Customers must consent to SMS marketing before you text them
All caps messagesReads as shouting. Looks spammy
Too many messages2–4 SMS per month is the sweet spot. More causes opt-outs
Late night textsAnnoying and may violate regulations

Best Sending Times for SMS

Use CaseWhen to Send
Abandoned cart recoveryWithin 1–2 hours of abandonment
Promotional offersMidday (11 AM – 2 PM)
Flash salesWhen the sale starts
RemindersMorning (9–10 AM)

SMS Pricing

Twilio charges per message sent. xUpsell does not add any extra SMS fees — you only pay Twilio’s rates.

RegionApproximate Cost per SMS
United States~$0.0079
Canada~$0.0075
United Kingdom~$0.0420
Australia~$0.0525

Check twilio.com/sms/pricing for current rates in your region.

MMS (messages with images) costs more — roughly $0.02 per MMS in the US.

Two separate costs to keep in mind. Twilio charges you per message, and every SMS or MMS delivered also uses one of your xUpsell plan’s sends (100 on free, 500 on Basic, unlimited on Pro and Premium — shared with email). See Plans & Billing for how that pool works.


Push Notifications

Push notifications are browser-based alerts that appear on your customer’s desktop or mobile device — even when they’re not on your website.

The Good News: Nothing to Connect

Unlike email and SMS, push notifications need no external service — no API keys, no accounts, no per-message fees. There’s just one switch to flip in your theme.

Here’s what happens:

  1. Turn on the push notifications block in your theme. Go to Settings → Theme management and click Enable on Enable push notifications. Your Shopify theme editor opens in a new tab — activate the block there and save. (The Turn on browser notifications task in your Home Setup Guide opens the same editor.)
  2. Customers visit your store and see the browser’s notification permission prompt
  3. If they click Allow, they become a push notification subscriber
  4. You can now send them push notifications through workflows and campaigns

Back in Settings → Theme management the card shows “enable notifications enabled” once the block is active. Two other blocks live on the same tab — Lead magnet (the discount popup) and Enable custom events subscription — and work the same way.

Nothing sends until the block is live. With the block switched off, your store never asks for permission, so you collect no push subscribers and push steps in your workflows have nobody to reach.

Push Notifications Are Always Unlimited

Push is unlimited on every plan, including free, and it is excluded from your send total — a push notification never uses one of your email/SMS sends and is never billed. That also means push keeps working when your email and SMS sending is paused because you hit a plan limit, which makes it a useful safety net at the end of a billing period.

How Push Notifications Look

Push notifications appear as small banners on the customer’s device:

  • Desktop: Small popup in the corner of the screen
  • Mobile: Standard notification on the phone’s lock screen or notification tray

What you can put in one, straight from the notification step in the workflow editor:

FieldLimit
TitleUp to 65 characters (required)
MessageUp to 240 characters (required)
Logo / icon and imageOptional
ButtonsUp to 2, each with its own label and link
Click destinationThe page the notification opens

The editor shows a live preview as you type, so you can see how it will look before you save.

Using Push Notifications in Workflows

You can add push notification steps to any workflow. They work alongside email and SMS:

Example multi-channel abandoned cart workflow:

  1. Customer abandons cart
  2. Wait 1 hour → Send push notification: “You left something in your cart!”
  3. Wait 4 hours → Send email with cart details and product images
  4. Wait 1 day → Send SMS with a discount code

Push Notification Tips

TipDetails
Keep it shortYou have limited space — get to the point in 10 words or fewer
Use urgency”Your cart expires soon” works better than “Don’t forget your cart”
Don’t overuse1–2 push notifications per workflow is enough. Too many and customers disable them
Pair with other channelsPush works best as the first touchpoint, followed by email or SMS

Combining All Three Channels

The real power of xUpsell is using email, SMS, and push notifications together in a single workflow. Here’s why:

ChannelStrengthsWeaknesses
EmailRich content, images, links, detailed infoLower open rates (~20%), can land in spam
SMS98% open rate, immediate, personalCharacter limits, costs per message, opt-in required
PushInstant, free, no opt-in frictionLimited content, easily dismissed, requires browser permission

For abandoned cart recovery:

StepChannelTimingWhy
1Push notification1 hour afterInstant reminder, free, catches them while browsing
2Email4 hours afterDetailed reminder with product images and cart link
3SMS24 hours afterPersonal nudge with a discount code to close the deal

For welcome series:

StepChannelTimingWhy
1EmailImmediatelyWelcome message with brand story and what to expect
2Push notificationDay 2Quick reminder about a new arrival or bestseller
3EmailDay 4Product recommendations based on browsing
4SMSDay 7Exclusive first-purchase discount

Tip: Use Conditions in your workflows to check if a customer already purchased before sending the next message. No point sending a cart recovery email to someone who already bought.


Troubleshooting

SMS Issues

”Connection Failed”

  • Verify your Account SID is correct (starts with “AC”)
  • Verify your Auth Token is correct
  • Check that your Twilio account is active (not suspended)
  • Make sure you’re not on a free trial that has expired

”SMS Not Delivering”

CheckSolution
No plan selectedUntil you choose a plan in Settings → Plans & billing, all email and SMS sending is blocked. The free plan counts
Send limit reachedIf your plan’s sends are used up, SMS steps are skipped and marked failed. Check the Home page banner
No active phone numberYou need at least one number with an In Use status on your Twilio account, otherwise the step fails with “No active phone numbers available”
Subscriber has no phoneAn SMS step fails with “No phone number found” if that subscriber’s profile has no phone number. Only subscribers with a phone number can be texted
Phone number formatMust include country code: +1XXXXXXXXXX
Twilio balanceMake sure you have credits. Top up at twilio.com
A2P 10DLCRegister if sending to US numbers. Without it, carriers may filter messages
Twilio error logsCheck your Twilio Console → Logs → Errors for specific error codes
Recipient opted outIf someone replied STOP, Twilio blocks delivery to that number at the carrier level

”Invalid Phone Number”

  • Must include country code (+1 for US, +44 for UK, etc.)
  • Spaces, brackets and dashes are fine — xUpsell strips them before sending, so +1 (212) 555-1234 works as well as +12125551234
  • Some VoIP numbers (Google Voice, etc.) may not receive SMS

Push Notification Issues

”Customers Aren’t Getting Push Notifications”

  1. Make sure Enable push notifications is switched on in Settings → Theme management — and that you saved the block in the theme editor
  2. Customers must click Allow when prompted — if they clicked Block, they won’t receive notifications
  3. Check the Push notifications count on the Subscribers page. It counts only visitors who granted permission, so if it’s 0 nobody has said yes yet (visitors who declined still appear in the subscriber list, just without push)
  4. Some browsers (especially private/incognito mode) don’t support push notifications

Frequently Asked Questions

Do I need Twilio to use xUpsell?

No. Twilio is only needed for SMS/MMS. You can use xUpsell for email-only and push notification-only without Twilio.

How much does SMS cost?

Twilio charges per message (approximately $0.0079 per SMS in the US). xUpsell does not add any extra SMS fees. You only pay Twilio directly.

Do SMS count toward my xUpsell plan limit?

Yes. Email and SMS sends share one pool: 100 on free, 500 on Basic, and unlimited on Pro and Premium. A text to 50 subscribers is 50 sends. Only messages Twilio actually accepts are counted — failed sends don’t count. Push notifications never count.

Can I send MMS (text messages with images)?

Yes, if your Twilio phone number has the MMS capability. Add an image to the SMS step and it’s sent as an MMS. Note that MMS costs more than plain SMS at Twilio. Images, audio, video and file attachments on the step are all passed to Twilio as media — but whether a recipient actually receives them depends on their carrier and handset, and on your Twilio number supporting MMS.

How long does A2P 10DLC registration take?

Usually 1–5 business days. You can still send to numbers you’ve verified in Twilio while waiting.

Do customers need to opt in for SMS?

Yes. SMS marketing requires explicit customer consent in most countries, and it’s your responsibility to only text customers who have agreed to receive messages. Consent and STOP (opt-out) handling are managed at the Twilio and carrier level — Twilio automatically honors STOP replies and won’t deliver to numbers that have opted out.

Are push notifications free?

Yes. There’s no per-message cost, they’re unlimited on every plan (including free), and they don’t count toward your xUpsell send limit. They also keep working if your email and SMS sending is paused because you’ve hit a plan limit.

Do I need Twilio or SendGrid to use push notifications?

No. Push is the one channel with nothing external to connect — just switch on Enable push notifications in Settings → Theme management.

What if a customer blocks push notifications?

There’s nothing you can do — that’s a browser-level setting controlled by the customer. Focus on reaching them through email or SMS instead. This is why multi-channel workflows are so powerful.

Can I send push notifications on mobile?

Push notifications from web apps work on Android browsers. iOS support depends on the browser version and whether the customer added your site to their home screen.