Appearance
SMS
CaptiFi supports SMS in three ways: SMS Marketing (campaigns and automations to your opted-in guests, powered by prepaid credits), guest welcome SMS (a welcome text to guests who share their number, via the Twilio integration) and staff SMS alerts (infrastructure notifications to your own phone).
SMS Marketing
Send one-off campaigns ("This weekend only...") or automated texts (welcome messages, review requests, win-back offers) to guests who have shared their mobile number and opted in to SMS. Find it under Marketing then SMS Marketing in the my.captifi.io sidebar.
Who receives your messages
A guest is reachable by SMS when all of these are true:
- They provided a phone number through your splash page or a contact import
- They gave permission to be texted (see below)
- They have not replied STOP or been manually opted out
Permission works in one of two ways, per venue:
- Without the SMS opt-in checkbox (the default): guests who accepted marketing when connecting, and imported contacts with marketing permission, can be texted. One consent covers your marketing, email and SMS alike, and the splash page shows the text message terms under your marketing question so guests know a yes covers texts.
- With the SMS opt-in checkbox enabled on your splash page: texting becomes strictly opt-in at that venue. Only guests who tick the SMS box can be texted, and leaving it unticked is treated as a "no" that CaptiFi respects even if the guest accepted email marketing.
To collect explicit SMS opt-ins, add a Phone number question and turn on the SMS opt-in checkbox in your splash page builder - see Collecting numbers for SMS Marketing.
As you build a campaign, the audience panel next to the composer shows you exactly who you are about to text before you send anything:
- Estimated recipients in total, and per venue
- A by-country breakdown based on each guest's phone country code, so you can see where your messages are going
- Excluded numbers: how many opted-out numbers were removed, and how many duplicates were removed when the same guest appears at more than one of your venues (each person is only texted once per campaign)
Credits and message cost
SMS Marketing uses prepaid credits: 1 credit = 1 SMS segment per recipient. Every destination currently costs the same. A segment is up to 160 characters for a plain-text message; longer messages are split into segments of 153 characters. Messages containing special characters or emoji are sent as unicode, which reduces each segment to 70 characters (67 when split), so plain text goes much further.
A short opt-out footer ("Reply STOP to opt out") is added to every marketing message automatically and is included in the character count you see in the composer.
The audience panel shows the full cost before you send: recipients x segments = credits required, alongside your current balance. If you do not have enough credits the send is blocked until you top up, and your campaign is kept as a draft so nothing is lost.
The account owner buys credits on the Credits and billing tab: packs of 500, 2,000 or 10,000 credits, paid by card. Each pack is priced in the currency your CaptiFi subscription is billed in (GBP, USD, EUR, CAD, AUD or NZD), and the price shown on the pack is the price charged. If you need your billing currency changed, email support@captifi.io. Your balance is shared across all of your venues, and every top-up, send and refund appears in the transaction history on the same tab. A team member with Manage marketing sees the balance and the transaction history on the same tab and sends campaigns and automations from the same balance; only the account owner can buy a pack.
Auto top-up keeps campaigns and automations running unattended: the account owner saves a card, picks a threshold and a pack, and CaptiFi charges that card for the pack whenever the balance drops below the threshold. Every automatic purchase appears in the transaction history like any other top-up. Only the account owner can save the card or change these settings.
Sending rules
- Quiet hours: marketing texts are not sent overnight (by default between 21:00 and 09:00 in the venue's local time); messages queued during quiet hours go out afterwards
- Opt-outs are instant: a guest replying STOP is suppressed across all your venues immediately, and failed messages are refunded to your balance
- Campaigns can be sent immediately, saved as drafts, or scheduled for later
- Test it first: send any draft to your own phone from the composer before texting guests; a test costs the same credits as one real message
- Change your mind: drafts can be edited or deleted, and a scheduled campaign can be cancelled any time before it goes out
- Delivery is tracked: the Delivered stat reflects real carrier receipts, and failures are refunded
Opt-outs
The Opt-outs tab lists every number that cannot be texted: guests who replied STOP, numbers you added manually, and carrier-level blocks. Add a number there to opt someone out on the spot (for example a guest who asks in person). Removing a manual entry lets that number receive texts again, but guests who replied STOP stay unsubscribed until they opt in again themselves.
Automations
On the Automations tab, set up texts that send themselves: welcome a guest after sign-up, wish them a happy birthday, or win back guests who have not been in for a while. Review requests by text are switched on from the Reviews page with Also ask by text message, which sends the same rating link as the review request email and shares its 90-day rule. The text channel is a switch of its own: it needs SMS Marketing and a review link for the venue, can always be switched off, and team members need the Manage marketing emails and texts permission to change it. Picking a trigger starts you off with a ready-made message you can edit, and each automation has its own venue targeting and audience rules (everyone, marketing consent only, first-time or repeat visitors).
Triggers only appear once the data behind them exists, so you are never offered an automation that cannot send:
- Birthday appears once you have birthdays on file (collected on your splash page, or included in a contact import). It only ever sends to guests with a birthday set, once a year, on the day.
- Review request appears once Google Reviews is connected with a review link, so guests are never sent somewhere they cannot leave a review. New setups should use Also ask by text message on the Reviews page instead; an automation created here earlier keeps running as before.
- We miss you (lapsed guest) asks for a number of days: a guest who has not visited for that many days gets the text once, not every day after.
- Welcome and welcome back send after a first visit or a return visit, with an optional delay.
- Points balance reached, Reward issued and Reward about to expire appear once Rewards is switched on for your account. Points balance reached asks for the balance, Reward about to expire for the number of days before the reward runs out (3 by default), and each comes with a ready-made message. Until Rewards is on they carry a needs setup badge. See Automations that start from rewards.
- Reservation attended appears once Reservations or Events and tickets is switched on and at least one reservation is on record; until then it carries a needs setup badge. It fires when a table booking is matched to a guest who has just connected, and when a ticket order is admitted at the door.
- When a guest buys a ticket appears once Events and tickets is switched on; until then it carries a needs setup badge. It texts the buyer once per order, so a second order texts again unless the automation is set to send once per guest. See Text messages.
- When a table is booked, Before a table booking, When a booked party arrives and When a booked party does not turn up appear once Table bookings is switched on; until then they carry a needs setup badge. Each comes with a ready-made message (Table booked, Booking reminder text, Welcome on arrival and Missed booking) and texts the booker once per booking. The booker's own confirmation and reminder texts, switched on under Bookings settings, are sent separately and need no automation. See Bookings in your texts.
Rewards in your texts
With Rewards on, the campaign composer and the automation builder each gain an Attach a reward offer picker, and the merge tag chips gain {reward_link}, {rewards_link} and {wallet_link}. Attach an offer and tap {reward_link} into the message: each recipient gets a reward of their own, and the link opens their reward page with its QR code and short code. A resend or a retry sends the same reward, a recipient the offer refuses is skipped, and a test send uses a sample link. The counter prices each reward link at 60 characters, so the segments and credits you see are the most a guest can cost. Without an offer the reward tags render empty; the line under the chips says so. {rewards_link} opens the guest's own rewards page and needs no offer, and {wallet_link} stays empty until wallet passes are switched on. The full guide is Rewards in your messaging.
Events in your texts
With Events and tickets on, eight tags put the event into a campaign or an automation text, in single braces: {event_name}, {event_starts}, {event_doors}, {event_venue}, {event_url}, {ticket_url}, {order_number} and {ticket_count}. They read the recipient's most recent ticket order at the venue and render empty for a guest who has none, so use them in texts to ticket buyers. The counter prices each tag at its longest, so the segments and credits shown are the most a text can cost. See The event merge tags.
Bookings in your texts
With Table bookings on, seven tags put the guest's table booking into a campaign or an automation text, in single braces: {booking_reference}, {booking_date}, {booking_time}, {booking_party_size}, {booking_venue}, {booking_area} and {booking_manage_url}. On a table booking automation they read the booking the text is about; elsewhere they read the guest's most recent confirmed table booking at the venue and render empty for a guest who has none, so use them in texts to bookers. The composer's counter prices each tag at its longest, so the segments and credits shown are the most a text can cost.
Compliance
Marketing texts need valid consent under GDPR and PECR, and the consent a guest gave must cover texting. With the default single marketing consent, the splash page shows the text message terms under your question whenever your form asks for a phone number, so guests are told a yes covers texts. If you want unambiguous, channel-specific consent, enable the SMS opt-in checkbox, which carries the same terms under your wording. CaptiFi adds the STOP opt-out footer for you and honours opt-outs automatically. See GDPR Best Practices.
Guest Welcome SMS (Twilio Integration)
Send an automatic welcome SMS to every WiFi guest who provides a phone number and opts in.
Setup
- Log in to my.captifi.io
- Go to Integrations and click Configure on the Twilio card
- For each venue you want to enable, enter your Twilio credentials (Account SID, auth token, and the Twilio phone number messages send from)
- Use Test connection — you'll be asked for a number to send a test message to
- Toggle the venue to Enabled and click Save
You'll need a Twilio account; message costs are billed by Twilio at their standard rates — CaptiFi adds no markup.
How It Works
- A guest connects and provides their phone number on your splash page (enable the phone field in the sign-in form section)
- They receive your welcome SMS automatically
- Messages are de-duplicated over 24 hours, so a guest reconnecting won't be texted twice
- Only guests who opted in are messaged
Staff SMS Alerts
Get a text when something needs attention: an access point going offline, a controller losing its connection, or a monitored address at your venue stopping answering.
SMS alerts are enabled per account by the CaptiFi team, so contact support to ask for them. Once enabled, an SMS Notifications section appears in the Alerts card on Account → Profile. Switch on Enable SMS Notifications, enter the number the texts should go to with its country code (for example +447700900000), click Save number, then move the switches for SMS Server Alerts, SMS URL Monitoring Alerts and SMS Access Point Alerts. The steps are under Alerts.
Email alerts
The same events can alert you by email at no cost, from the Email Notifications switches in the same card. Start there, and add SMS for the venues where you need to know immediately.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Welcome SMS not sending | Twilio not enabled for the venue | Check the venue toggle in the Twilio integration config |
| Welcome SMS not sending | Guest didn't provide a number or opt in | Enable the phone field on your splash page; consent is required |
| Test message fails | Wrong Twilio credentials | Re-check the SID/token/from-number against your Twilio console |
| Guest texted only once | 24-hour de-duplication | Expected behaviour — prevents spam on reconnects |
| Staff alerts not arriving | Number format or gateway credentials | Include the country code; verify credentials with your SMS gateway |
Related Features
- Integrations Hub: where Twilio is configured
- Splash Page Builder: enable phone number collection
- Access Points: the hardware behind AP alerts
- Rewards in your messaging: offers and reward links in texts, and the reward triggers
- Event messaging and automations: the ticket purchase trigger, the event tags in texts and the booking trigger at the door