Text Messaging lets you send marketing texts to fans who have opted in, and shows you exactly what you sent, what it cost, and who you are still allowed to reach.
You'll find it in the admin under Communications › Text Messaging
The section has five tabs, and they run roughly in the order you'll want them:
Usage — what you've sent this month and what it costs
Consent — who you're allowed to text, and why anyone dropped off
Delivery — what actually happened to the texts you sent
Compose — write and send a text
Settings — how texting behaves for your program
Texting is billed per segment, not per message. A segment is a chunk of a text as the carriers count it, and a long text counts as more than one.
How many characters fit in a segment depends on which character set your message uses. The Compose page shows this live as an Encoding badge:
GSM-7 — plain text. 160 characters in a single-segment message, and 153 per segment once the message splits into more than one.
UCS-2 — unicode. 70 characters in a single-segment message, and 67 per segment once it splits.
A single emoji, curly quote, or other non-standard character switches the whole message to UCS-2 and cuts your per-segment budget by more than half. The composer warns you when this happens and names the exact characters responsible, so you can swap them for plain ASCII and drop the segment count — and the cost — straight back down.
Two more things that follow from this:
A blast to 1,000 fans that takes 2 segments is 2,000 billed segments. Segments multiply by recipient.
Attaching an image makes it an MMS, and an MMS bills as one unit per recipient regardless of length. That is usually more than a plain text, so watch the estimate change when you add one.
At the bottom of the Usage tab, Your Rates shows the tier table: a monthly volume band, an SMS rate per 1,000 segments, and an MMS rate per 1,000. Your total monthly volume selects one tier, and every segment that month bills at that tier's rate. The row you're currently landing in is highlighted and marked Your tier.
Because the tier is chosen by your whole month, a large send can move the entire month into a cheaper band. The cost estimate on the Compose page already accounts for this — it prices at the tier your projected month lands in, not the tier you're in right now.
This is the page your invoice reconciles against, so it's worth being precise about what each number means.
This is the single most important distinction on the page.
The current month is open. The tiles at the top — Segments This Month, Running Charge, Delivered, Failed — are computed live, right now, against the current rate table. The Running Charge tile says so directly: Estimate — finalizes after month end. It will keep moving as you send, and it can move if your rate tier changes because your volume grew.
A finalized month is a snapshot. Once a month closes and is finalized, its segment counts, its rate and its charge are locked. Later changes to pricing never restate a month that has already been issued. What you see for a finalized month is what you were billed, permanently.
You can tell them apart in the Monthly History table under the Status column: a green Finalized badge, or a yellow Open badge.
The history table gives you, per month: Month, SMS, MMS, Total Segments, Rate / 1,000, Charge and Status. It holds a rolling window of prior months, so a full season of history is visible without paging.
Segments This Month — your total billed segments so far, with the SMS and MMS split underneath.
Running Charge — the live estimate described above.
Delivered — how many of this month's sends the carriers confirmed, out of how many were sent.
Failed — not billed unless the carrier accepted it.
Segments Sent by Month charts SMS and MMS segments over time — the unit you're billed on.
Fans have to opt in. You cannot text a fan who hasn't given you a mobile number, verified it, and said yes to marketing. The Consent tab is where you see how that stands.
Consent is tracked per brand and per number.
Four tiles, each one a subset of the one to its left:
Numbers on File — fans who gave you a mobile number
Verified — confirmed by a texted code
Marketing Opted In — said yes to promotional texts
Marketing Reachable — your blast ceiling
Marketing Reachable is the number that matters. It means: opted in, verified, not carrier-stopped, on an active account, and not on the suppression list. It is the same figure the Compose page quotes as your audience, so the two pages can never disagree.
Below the funnel you'll see Sign-In Reachable, deliberately set apart. This is the set of fans who can receive sign-in and verification codes. Marketing consent is not required for those, so this figure is normally larger than your blast ceiling. It's the set your blast ceiling sits inside — not a step below it.
This trips people up constantly, so the page gives it its own card.
Marketing Opt-Out (in-app) — the fan turned the marketing toggle off in the app.
They still receive sign-in codes and verification codes
They receive no promotional texts
They can reverse it themselves, any time, in the app
Counted per fan
Carrier STOP (texted STOP) — the fan replied STOP to one of your texts.
All texts are blocked, including sign-in and verification codes
Those fans have to sign in by email instead
Only the fan texting START lifts it. You cannot lift it for them.
It is keyed to the number, so it blocks every account sharing that phone
Below the two opt-outs sits Suppressed Numbers — every number on your brand that is currently stopped, counted by number rather than by fan. This can legitimately be higher than the fan counts above it.
This list is what gets checked immediately before any text is handed to the carriers, which is why your two reachability figures already exclude everyone holding one of these numbers. That includes a second account on a household phone whose own consent was never turned off — it would otherwise look reachable and receive nothing.
List Growth Over Time — consent changes per day, cut midnight to midnight in your program's timezone. Opt-ins, in-app opt-outs and carrier STOPs are plotted as separate series and are never netted against each other. There's a fourth series, Consent reset (number changed): when a fan edits their mobile number, marketing consent is dropped until the new number is verified again. That isn't a fan opting out, so it's kept apart from the ones that are.
Where Opt-Ins Come From — your current marketing opt-ins broken down by where the fan said yes (sign-up, sign-in prompt, profile settings, texted in via START), with a share percentage.
Recent Consent Activity — the most recent changes, newest first, with the member, what changed, the source and the number. This is an append-only compliance record. It is never edited and never removed.
The Delivery tab is windowed by the 7d / 30d / 90d buttons in the header — everything on the page follows them.
The tiles:
Accepted by Carriers — messages handed to the carrier network, with the segments billed shown underneath. Remember that segments, not messages, are the unit on your invoice.
Delivered — confirmed by the carrier, with the percentage of accepted.
Delivery Unconfirmed — see below.
Failed — rejected outright: bad number, blocked, or carrier refusal.
In Flight — queued or sent, still waiting on a final result.
Inbound Received — texts fans sent you, like STOP, START and HELP. Never billed to you.
The carrier network took the message and never sent back a final receipt — some carriers simply don't return one. The message almost certainly arrived, and it is billed, because acceptance is the billable event.
Fanmaker deliberately doesn't fold these into Delivered. Delivered means a carrier actually confirmed it, which keeps your delivered rate honest rather than flattering. Treat unconfirmed as "probably fine". Only Failed means a message definitely did not arrive.
A table of the blasts that fanned out during the window, with per-blast outcomes: Sent, Message, Type, Messaged, Accepted, Segments Billed, Delivered, Unconfirmed, Failed, In Flight and State.
A few reading notes the page spells out for you:
Messaged is how many fans you actually texted. Fans who matched your targeting but had no usable consent were never messaged, and are shown separately as not textable.
Delivered, Unconfirmed, Failed and In Flight add up to Messaged.
Accepted can be lower than Messaged, when a number was rejected outright.
Segments Billed is the column your Usage page and your invoice add up.
A blast belongs to the window it sent in, not the window you typed it in. Something you composed last week and scheduled into this week appears in this week.
Transactional texts — sign-in codes, verification codes, keyword replies — are counted in the tiles above but have no blast row, so they never appear in this table.
By default, Compose targets every fan with a verified mobile number and an active marketing opt-in. There is no audience filter on the Compose page itself.
To send to a subset, go to the Members page, select the members you want or apply your filters there, and use its Text button. Compose then opens targeted at that set, with a banner naming it and a link back to change it.
The Who gets this panel on the right shows your eligible count and an Excluded, and why breakdown: no mobile number on file, number never verified, not opted in to marketing, replied STOP, and number is suppressed.
Type your text in the Your text box. There's an emoji picker, but bear the encoding cost in mind before you use it.
As you type, the panel below updates:
Segments each — the billing unit, and the number that matters
Encoding — GSM-7 or UCS-2, plus how many characters remain before the next segment
characters typed — labelled (not the billing unit), because it isn't
Every one of these figures is calculated on the server, not in your browser, so what you see is what you'll be billed on. If you edit the message after the figures are quoted, the Review and Send controls disable themselves until the new numbers come back.
Preview — what the fan receives shows the full body, including the brand name your program leads every text with.
Every marketing text gets a required opt-out line appended automatically. It is not editable, and it is part of the message that gets counted, so it contributes to your segment total. It is not free.
If you happen to write that sentence yourself, it isn't added a second time, and the page tells you so.
The Image (optional) card takes a public https URL. Attaching one turns the send into an MMS, which bills as one unit per recipient regardless of length. Your cost estimate updates accordingly.
Two options: Send as soon as I confirm, or Schedule it.
Scheduled sends are held at least 10 minutes out so there's time to cancel. If you pick something earlier, it's moved to the earliest allowed slot.
Anything you've scheduled appears in the Scheduled panel on the right, with a two-step Cancel this text control. Cancelling deletes the blast before it fires — nothing is sent and nothing is billed. Once a blast has started going out it can no longer be stopped from here.
This is a separate control from the main send, and it's worth using.
The Test it on your own phone first card sends one text — this exact body, the same required opt-out line, the same encoding — to your own fan account on your program. Nobody else receives it. It's the best way to check how the message actually renders on a handset before committing to the whole list.
A few details:
By default it matches your admin email to a fan account on your program, and tells you who it resolved to and at what number.
If your admin email isn't registered as a fan there — or you want to check a teammate's handset — type a user_id, email or username in Or send the test to.
The account still needs a verified number and an active marketing opt-in. A test never bypasses consent. If the account can't be texted, the control refuses and tells you why.
It's two-step: click Send one test text, then confirm.
The main send is deliberately gated behind a review step. Click Review & send and you get a modal showing, for exactly the body you typed:
Recipients and estimated cost
Segments each, and the encoding
Billed units
The exact text every fan receives
The audience, when it goes, the pacing, and your rate
Then click Send it.
You cannot skip the review. And if the message changes after you reviewed it, the send is refused and you're told the old and new segment counts so you can review the new cost.
The How fast it goes out panel shows your send rate, batch size, number of batches, and when the last fan gets texted.
This matters if you're timing a send around a game. The blast is paced so the carriers accept it, which means the last fan doesn't receive the text at the send time — they receive it at the end of the ramp. Plan for that.
The Settings tab is configuration only. Message content and audiences live under Compose.
At the top, a status callout tells you whether your program is Ready to send or Not sending, and shows what that verdict rests on: text messaging, sending number, brand name, help contact, and whether outgoing texts can be sent.
Two settings you control:
Require a mobile number at registration. On by default: a fan must add and verify a mobile number to finish signing up, and existing fans are prompted at their next sign-in. Turned off, the prompt can be skipped, and the skip is remembered so they aren't asked again.
Points for opting in to marketing texts. Awarded once per fan, the first time a marketing opt-in is verified — meaning the fan has opted in and confirmed their number. Opting in without verifying awards nothing, and opting out and back in never awards it a second time. Leave it at 0 or blank for no award.
A read-only preview of every automated message your fans see: the opt-in disclosure on the registration checkbox, the opt-in confirmation, a sample marketing message, a sample verification code, a sample login code, the STOP reply and the HELP reply.
These are registered with the mobile carriers from a single approved template and are the same across every program, so they aren't editable — only your brand name varies.
The carrier wiring for your sending number: brand name, help contact, sending number, messaging profile and send rate. This is managed by Fanmaker and set up during onboarding. Contact support if any of it needs to change.