Use this article when a patient says they did not get an appointment reminder. The first step is always the same: open the patient's conversation history in TrackStat and confirm whether a reminder was generated. The following three scenarios are often confused. Treat them as separate workflows.
Always start here
Open the Patient Card (conversation history) before changing campaign settings, validating numbers, or assuming a carrier issue.
If no reminder appears in conversation history, TrackStat did not send a message. Do not troubleshoot delivery status.
If a reminder does appear, use the message status (Delivered vs Failed / Undelivered) to choose the correct path below.
Identify which scenario you are in
To open conversation history: use the Patient Search box, enter the patient’s first or last name, then click the patient’s name to open the Patient Card. Look for an appointment reminder text or email around the expected send time. Conversation can also be found in the Inbox.
Scenario | What you see in TrackStat | What it means |
1. Reminder was not generated | No appointment reminder text or email in the patient's conversation history for that appointment. | Nothing was sent from TrackStat. Fix contact info, opt-out flags, campaign targeting, or appointment timing. |
2. Sent, status Failed or Undelivered | Reminder is visible in conversation history. Status is Failed or Undelivered. | TrackStat created the message, but the carrier or destination rejected it. Fix the number, opt-out, or content/carrier block. |
3. Sent, status Delivered - patient says they never got it | Reminder is visible in conversation history. Status is Delivered. | The patient's cell carrier confirmed delivery. TrackStat did send it. The issue is almost always on the phone, filtering, or the number belonging to someone else. |
Scenario 1 - Reminder was not generated (nothing was sent)
Confirm this first. If there is no reminder in conversation history for that appointment, TrackStat did not generate or send a message. Delivery status does not apply.
Check the patient's contact information and opt-out settings
Make sure the patient has a valid cell phone number and a valid email address.
On the Patient Card, click Validate next to the cell phone number and/or email if you are troubleshooting a specific patient. Validating phone numbers is only for troubleshooting. It is not required in order to send text messages.
If the patient has opted out, the Disable Email and/or Disable Text boxes may be checked. Campaign reminders will not send when those boxes are checked.
The cell phone number must be in the Cell field, not a home or work field.
The email address must be in the Email or Home Email field in the EHR. For ChiroTouch Classic (Server), this information must be consistent across ALL of the patient's cases.
Inconsistent first name, last name, date of birth, email, or cell number across multiple cases can prevent messaging or split the Inbox. Correct the inconsistencies in the EHR, then allow time for TrackStat to sync.
Check appointment reminder campaign setup
If contact information is correct and the patient is not opted out, review the appointment reminder campaign:
Confirm the campaign includes the correct provider, case type, and appointment purpose for this appointment.
Confirm text and/or email is enabled on that campaign.
Review appointment template configuration so messages are sent for all relevant appointment types.
Check when the appointment was created versus when the reminder was scheduled to send
If the appointment was created after the reminder was already scheduled to send, the message may not be generated. Examples of send timing:
Dynamic Time 24 hours prior
Dynamic Time 2 hours prior
Set Time, such as 2:00 PM
Using Dynamic Time with the sweep setting in Appointment Reminder campaigns is the best way to still send reminders when the appointment was created after the original send time.
Important: If a reminder was already sent for this same appointment and you only change the appointment time, TrackStat will not send a second reminder for that same appointment. Create a new appointment or reschedule the appointment if another reminder needs to go out. For a handful of patients who need an extra reminder, use Appointment Reminder Exceptions instead of expecting a second automatic send.
Confirm the appointment history in the EHR
If targeting and contact information look correct, check the EHR audit log to see when the appointment was created or changed.
ChiroTouch Classic (Server)
Go to the CT Maintenance app → System Auditing → Reports, then:
Actions performed between MM/DD/YYYY and MM/DD/YYYY (last 30 days or the relevant range)
Actions performed by = leave blank
Which actions = leave blank
Which patient = select the patient and relevant case type from the dropdown list
Print → Select report destination = Preview report on screen
Export and save as PDF if you need to share with support
Review log details
ClinicMind (Genesis, Billing Dynamix, Vericle)
Search for the patient in the Schedule
Click Patient
Select the Sched tab
Select View
Select Logs
Search for the patient and appointment by date
Scenario 2 - Reminder was sent and the status is Failed or Undelivered
The reminder message is visible in the patient's conversation history, so TrackStat generated and attempted to send it. Failed means the message could not be sent. Undelivered means the message left TrackStat but was not delivered (often carrier filtering or the destination handset).
What each text status means
Status | Meaning |
Queued | The message has been created and is waiting to send. |
Sent | The message has been sent from TrackStat to the carrier. |
Delivered | The cell carrier confirmed delivery to the destination. This is not the same as “the patient opened or noticed the text.” |
Undelivered | The message was not delivered. Common causes include carrier content filtering or the destination handset being unavailable. |
Failed | The message could not be sent. |
Common causes of Failed or Undelivered
Number or destination problems:
Invalid, mistyped, or badly formatted number (missing country code, extra digits, wrong format)
Number is disconnected, cancelled, or no longer in service
Destination is a landline, home phone, or other non-SMS line
Destination is VoIP or another service that does not accept SMS
Recipient previously opted out by replying STOP (or a similar keyword)
Opt-out and account issues:
Disable Text is checked on the Patient Card
Patient replied STOP. Staff cannot send individual texts after a STOP. The patient must text START to your texting number to opt back in. If STOP was a mistake, ask them to send START.
Prepaid line out of credit or account suspended (may also appear as undelivered)
Carrier and content filtering:
Carrier spam or fraud filters blocked the message
Message contains a public short link (bit.ly, tinyurl, goo.gl, and similar shorteners)
Content looks promotional or like phishing (ALL CAPS, “FREE,” “urgent,” “act now,” shady URLs)
High sending volume, high opt-out rate, or low reply rate on the clinic texting number
Words and topics that commonly trigger carrier blocks, including cannabis, CBD, and gummies
A shared list of words that can flag a sending number is available here: https://docs.google.com/spreadsheets/d/1zb5MaU93W_aKc49wxd_X3CfDABeVJJoOAkwVZ0s0nSQ/edit?usp=sharing
What to do in Scenario 2
Confirm the cell number is in the Cell field and is a mobile number, not a landline.
Correct typos and make the number consistent across every EHR case.
Check Disable Text and scroll through the conversation history to see whether the patient ever replied STOP.
If they opted out by mistake, have the patient text START to your office texting number.
Remove shortened URLs, all caps, and high-risk words from the template, then send a short test or wait for the next reminder window.
If needed, send the reminder from a different approved channel (email or phone call) so the patient still has the appointment details.
Scenario 3 - Reminder was sent, status is Delivered, patient says they did not receive it
If the reminder is in conversation history and the status is Delivered, the patient's cell carrier confirmed that the message was delivered to that number. TrackStat sent the message successfully. Do not edit the campaign or assume “it never went out.”
Critical distinction
Delivered means the carrier accepted and delivered the message to the destination number. Device-side filters (Unknown Senders, Silence Unknown Callers, carrier spam inbox, Truecaller, Focus/DND) usually do NOT change the status to Failed. The carrier can still report Delivered while the patient never sees the text.
Why a Delivered text can still be invisible to the patient
Wrong or outdated number - the text was delivered to someone else
Phone is off, in airplane mode, out of coverage, or temporarily unreachable
Network congestion, routing delay, or a temporary carrier outage
Recipient blocked your office number
Messages from unknown / non-contacts are routed to spam, junk, or Unknown Senders (iPhone Filter Unknown Senders; Google Messages or Samsung spam folders)
Do Not Disturb or Focus modes hide notifications
Device storage or SMS (text) inbox is full
Device or messaging-app glitch, SIM issue, or SMS (text) reception turned off in the messaging app
Carrier-level spam filtering that still returns a delivered report
Suspicious link in the message (bit.ly, goo.gl, or other public shorteners)
Two patients share the same cell number, so the thread is attached to a different patient in TrackStat (see shared-number rules below)
What to do in Scenario 3
View the Delivered reminder message in conversation history, including date/time and the number it was sent to.
Confirm the patient's mobile number is correct.
Ask the patient to save the office texting number as a contact in their phone.
Ask the patient to text START to your texting number. This confirms the thread is open and can clear some carrier filters.
Ask the patient to check Unknown Senders, Spam & Blocked, and filtered message folders.
On iPhone: Settings → Messages → turn off Filter Unknown Senders if it is on. On Android: review Spam & Blocked in Messages.
Ask them to restart the phone and confirm the device is not in airplane mode, has storage space, and is not on DND/Focus.
If they still cannot see it, send a short one-to-one text that includes {{OfficeName}} and {{OfficePhone}} and encourages a reply. A reply helps future deliverability.
Email reminders
Use the same first question: does an email reminder appear in the patient's conversation history?
If no email appears, treat it as Scenario 1: confirm Email / Home Email, Disable Email is unchecked, campaign targeting, and send timing.
Email must be consistent across all EHR cases.
If an email was generated, ask the patient to check Spam, Junk, Promotions (Gmail), and quarantined mail.
A patient who opted out of marketing in the EHR may still be excluded from promotional emails. Appointment reminders are separate from marketing opt-out, but both should be checked if the patient receives nothing at all.
Related messaging behavior staff often confuse with “reminder didn’t send”
Patient opted out by texting STOP
If a patient opted out of campaign texts by replying STOP, you cannot text them individually until they opt back in. The patient must text START to your texting number. That restores text messages.
You can see the number and email but cannot message the patient
The patient likely has inconsistent information across multiple cases. Check and correct email and cell phone number inconsistencies in the EHR.
A reply appears as a separate line item in the Inbox
TrackStat identifies patients by first name, last name, and date of birth. Inconsistent name or DOB across cases causes split conversations. Correct the EHR data so future replies attach to the same patient.
Two patients share a cell phone number
If one patient is under 18, inbound messages are linked to the older patient (assumed parent or legal guardian).
If both patients are 18 or older, messages are linked to the patient with the most recent appointment date and time.
Message history for someone added to the EHR later
If a message was sent to a person who was not yet in ChiroTouch, and that person is added later with contact information that matches exactly, the records merge. Allow up to 24 hours for conversation history to merge.
How to give an extra reminder to a specific patient
Use Appointment Reminder Exceptions to create an additional reminder for the small group of patients who need a second reminder. Changing the time on an appointment that already received a reminder will not generate another reminder.
Patients opted out of marketing in ChiroTouch Classic (server)
There is no report of patients excluded from the call list in CT Contact Manager. You can run a list of patients whose marketing box is unchecked in CT Patient Information:
In the Front Desk app, click Billing Statements & Reports
Click Labels/Lists
In Label / List Type, select Patient List
In Options, select Patient Marketing
Tag FALSE
Click ADD, then PREVIEW
Export or print the report. In TrackStat, assign a tag and/or disable those patients from marketing messages.
How patients know the text is from your office
When sending a text, identify the clinic in the message. Use merge fields such as {{OfficeName}} and {{OfficePhone}}. Ask patients to save the office texting number as a contact. Unrecognized numbers are the most common reason a Delivered reminder is never seen.
Text message credits and message length
Each TrackStat subscription plan includes a set number of text message credits each month. Clinics should choose a plan that covers typical monthly texting volume for the best rate. Texting needs can change from month to month because of seasonality, special announcements, or events. If you go over the included credits, you can still send messages without interruption. Overage credits are $0.03 each and are purchased automatically in bulk. The credit counter resets at the beginning of each month.
Remaining credits for the current month can be seen by hovering over the Inbox or in Account Settings. Website plan pricing applies only to the credits included in the subscription. The $0.03 rate applies only to overages after included credits are used.
Always keep text messages under approximately 145 characters, including spaces. That is one message segment that uses 1 message credit.
Incoming and outgoing messages are counted separately.
Special characters, emojis, and hard returns count as more than one character. Avoid emojis if you are concerned about credit usage.
Merge fields such as {{PatientFirstName}} change the final length of each message. Write templates short enough that the longest likely merge values still stay under approximately 145 characters.
For blast and drip campaigns, keep each message under approximately 145 characters when possible.
Tips that improve deliverability
Ask the patient to save your office texting number as a contact.
Ask the patient to text START to your texting number.
Ask the patient to check device message filtering (Filter Unknown Senders on iPhone; Spam & Blocked on Android).
Send texts that encourage a reply. Low reply rates increase carrier filtering.
Include the clinic name and phone number in templates.
Keep messages short and clear, under approximately 145 characters per credit. Avoid public short links, ALL CAPS, heavy punctuation, and high-risk keywords.
Do not overwhelm patients. Stick to essential reminders (for example 24 hours prior and, if needed, 2 hours prior).
Quick checklist for support and front desk
Open the Patient Card / conversation history.
Was a reminder generated for that appointment? If no → Scenario 1.
If yes, what is the status? Failed or Undelivered → Scenario 2. Delivered → Scenario 3.
Verify Cell field, Email / Home Email, Disable Text, Disable Email, and STOP history.
Verify campaign provider, case type, appointment purpose, and send timing (including sweep).
If the appointment time was only edited after a reminder already sent, do not expect a second automatic reminder.
Use Appointment Reminder Exceptions when one patient needs an extra reminder.
Here is a list of words that could flag your number: click here
