If your cleaning company sends SMS to customers in the United States, the TCPA (Telephone Consumer Protection Act) and 10DLC (10-Digit Long Code) rules apply. The penalties for getting this wrong are $500-$1,500 per unsolicited message, and the FCC has been enforcing aggressively in 2024-2026.
This guide walks through the complete compliance setup. Not legal advice — for specific situations, talk to a TCPA-specialized lawyer. But for typical residential and commercial cleaning operators, following these steps keeps you safely inside the rules.
Step 1: Understand what TCPA actually requires
Two things you must do:
- Get explicit opt-in consent before sending non-transactional messages.
- Honor opt-out requests immediately.
Plus a third thing the FCC clarified in 2023:
- Your opt-in language must clearly disclose what you’ll text about, how often, and how to opt out.
The distinction between transactional and marketing matters because the consent bar differs:
Transactional messages (lower bar — implicit consent OK): booking confirmations, reminders, “your crew is on the way”, payment receipts, review requests tied to a service just delivered. The customer providing their phone number for the service counts as implicit consent.
Marketing messages (higher bar — explicit written consent required): promotional offers, upsells, recurring conversion pitches, referral program prompts, birthday promos, win-back lapsed sequences.
Most of the most valuable cleaning automations are marketing messages by FCC definition. You need explicit opt-in for these.
Step 2: Build a compliant opt-in flow
The Cleaning Services GHL Snapshot’s instant quote form captures opt-in like this:
After the customer enters their phone, an unchecked checkbox appears:
[ ] Yes, send me text messages about my booking (reminders, confirmations) AND promotional offers (discounts, referral rewards, seasonal promos). Up to 8 messages per month. Reply STOP to cancel. Msg & data rates may apply.
Critical rules:
- The box must be unchecked by default. Pre-checked is a TCPA violation.
- The disclosure must be visible at the moment the customer enters their phone. Not buried in a Terms of Service link.
- The language must disclose what they’ll receive, how often, how to opt out, and that data rates may apply.
- The opt-in must be separate from any other terms. A combined “I agree to receive marketing messages AND terms of service” doesn’t count as valid consent.
Store on submission:
- The exact opt-in text the customer saw (snapshot of the disclosure language)
- The timestamp (ISO 8601 with timezone)
- The IP address
- A boolean: opt-in checked = true/false
- The user-agent string
This is the audit trail you need if the FCC, FTC, or a TCPA plaintiff’s lawyer challenges you.
Step 3: Implement STOP handling
Every SMS from the snapshot includes “Reply STOP to opt out” in the footer (transactional messages can technically omit this, but the snapshot includes it as best practice).
When a customer replies STOP, HALT, CANCEL, UNSUBSCRIBE, or END (per carrier rules, all of these must work):
- Immediately mark the customer opted-out across all marketing categories
- Suppress all future marketing SMS to that number
- Log the STOP reply with timestamp, prior consent state, and the inbound message text
- Send a one-time confirmation reply: “You’ve been opted out. Reply START to re-enable.”
The STOP handling fires automatically through GHL’s workflow. There is no scenario where a STOP request gets missed because the office manager was busy — this is the #1 source of TCPA violations at cleaning companies running manual SMS through personal phones.
Step 4: Register your brand with The Campaign Registry
The major US carriers (Verizon, AT&T, T-Mobile) require all commercial SMS senders to register through 10DLC. Without registration, your messages get filtered as spam, throttled, or eventually blacklisted.
Brand registration submission (through GHL or your SMS provider):
- Legal business name (matches your EIN filing)
- EIN (employer identification number)
- Business address
- Business type (Sole Prop, LLC, S-Corp, C-Corp, Non-Profit, Government)
- Vertical (Professional Services for cleaning)
- Website URL
- Optional: D-U-N-S number (improves trust score and throughput)
Approval timeline: 1-3 business days. You’ll receive an email confirmation.
One-time fee: $4 to register the brand. Annual renewal fee is also typically $4.
Step 5: Register each campaign use case
After brand registration, register each “campaign” (use case) you’ll send under:
Campaign 1: Booking confirmations + reminders (mandatory)
- Use case: Mixed (transactional + service notifications)
- Sample messages:
- “Polished Maids: Your clean is confirmed for Tue Aug 12, 10 AM-noon. Reply RESCHEDULE to change. Reply STOP to opt out.”
- “Polished Maids: Reminder — your clean is tomorrow at 10 AM. Reply CONFIRM or RESCHEDULE.”
- Expected frequency: 4-8 messages per booked customer per month
- Opt-in method: web form with disclosure
Campaign 2: Marketing / promotional (if you’ll send any)
- Use case: Marketing
- Sample messages:
- “Polished Maids: Your home’s clean-iversary is next week — we’re throwing in a free inside-fridge clean on Tuesday. Reply STOP to opt out of promos.”
- “Polished Maids: Lock in bi-weekly cleaning at $145/visit. Tap to confirm: [link]. STOP to opt out.”
- Expected frequency: 1-4 messages per opted-in customer per month
- Opt-in method: separate checkbox at intake (described in Step 2)
Campaign 3: Customer service responses (mandatory if running two-way SMS)
- Use case: Customer Care
- Sample messages:
- “Polished Maids: Got your message. Our office will reply within 5 minutes during business hours. After hours, your message will be addressed first thing tomorrow.”
- Frequency: variable, response to customer-initiated messages
- Opt-in method: customer initiated the conversation
Campaign 4: Account notifications (e.g., payment recovery)
- Use case: Account Notification
- Sample messages:
- “Polished Maids: Your card on file didn’t go through for today’s clean. Tap to update: [link]. Questions? Reply HELP.”
- Frequency: as needed
- Opt-in method: customer provided card on file, implicit consent
Approval timeline: 2-5 business days per campaign.
Per-campaign fee: $10/month per campaign (varies slightly by SMS provider). For a typical cleaning operator running all 4 campaigns: ~$40/month.
Step 6: Set up sender identification and footer
Every SMS must:
- Identify the sender by business name (in the first line or clearly in the body)
- Include opt-out instructions (typically in the footer)
- For marketing messages, identify the message as commercial (the STOP language usually satisfies this)
Compliant booking confirmation example:
“Polished Maids: Your clean is confirmed for Tue Aug 12, 10 AM-noon. Reply RESCHEDULE to change. Reply STOP to opt out.”
Compliant marketing message example:
“Polished Maids: Your home’s clean-iversary is next week — we’re throwing in a free inside-fridge clean on Tuesday. Reply STOP to opt out of promos.”
The snapshot’s templates ship with compliant language. Don’t strip it to “make the messages cleaner.” The 12 characters of “Reply STOP to opt out” are cheap insurance.
Step 7: Test the compliance flow end-to-end
Before going live:
Test the opt-in flow:
- Submit a quote with the marketing opt-in box checked
- Check the customer record — confirm the opt-in timestamp, IP, and exact disclosure text are stored
- Submit another quote with the box unchecked
- Confirm marketing messages don’t fire for that customer (but transactional do)
Test the STOP flow:
- From your phone, reply STOP to a confirmation SMS
- Confirm the customer record updates to opted-out
- Confirm future marketing messages are suppressed
- Confirm the one-time confirmation reply was sent
- Reply START and confirm re-opt-in works
Test the footer:
- Verify every outbound message includes the business name and STOP language
- Check both transactional and marketing templates
Step 8: Document the compliance posture
Create a one-page compliance summary you can hand to legal counsel or produce in response to any TCPA inquiry:
- Brand registration confirmation (screenshot)
- Campaign registration confirmations (screenshot for each)
- Sample opt-in flow (screenshot of the form with disclosure visible)
- Sample STOP handling flow (description)
- Audit log retention policy (5 years recommended)
- Person responsible for compliance updates
Store this document in a known location and update it whenever the opt-in language or compliance flow changes.
Common mistakes that get cleaning companies in trouble
- Pre-checked opt-in boxes — clear TCPA violation
- Hidden disclosure language in tiny font or off-screen
- Texting purchased lists — never consented, clear violation
- Continuing marketing after STOP — even one message is a separate violation
- Personal phone + business SMS — doesn’t comply with 10DLC, eventually throttled
- Reusing the same number across multiple businesses — registration must match the legal entity
State-level considerations
Some states have stricter mini-TCPA laws beyond federal TCPA:
- Florida — the Florida Telephone Solicitation Act (FTSA) is particularly aggressive. Florida-based plaintiffs have driven significant litigation in 2023-2025.
- Washington — Washington’s RCW 80.36 includes specific call/text restrictions
- California — additional disclosure requirements for marketing messages
If you operate in any of these states, get a 1-hour consultation with a TCPA lawyer ($200-$400) to verify your setup. Cheap insurance.
When to escalate to legal counsel
Get a lawyer involved if:
- You’re sending more than 5,000 marketing SMS per month
- You operate in multiple states (especially FL, WA, CA)
- You’ve received any TCPA-related communication (demand letter, lawsuit, FCC notice)
- You’re acquiring customer lists from any third party
- You’re considering autodialer-style SMS (high-volume burst sends)
For typical residential cleaning operators with under 1,000 customers, the snapshot’s default flow plus the 10DLC registration covers you. But documenting your posture with a lawyer review is worth doing once.
Ongoing maintenance
Quarterly review:
- Audit a sample of opt-in records — are they being captured correctly?
- Audit STOP handling — any messages slipping through after a STOP?
- Update sample messages in your campaign registration if you’ve materially changed templates
- Renew brand registration (annual)
Get the snapshot for $997 (was $1697) — the TCPA opt-in flow, STOP handling, and 10DLC registration walkthrough are all included. Or book a demo to see the compliance posture live.