WhatsApp Message Categories and Costs
WhatsApp Business API messages are priced by Meta based on message category and the recipient's country. CustomerFlows passes Meta's costs through at cost with no markup. This page explains how pricing works, what's free, and how to monitor your usage.
Message Categories
Meta classifies every WhatsApp message into one of four categories:
| Category | Who Initiates | US Cost per Message | When It's Used |
|---|---|---|---|
| Service | Customer messages you first | Free -- no cap | Customer asks about your services, requests a quote, reports an issue |
| Utility | You send a transactional update | ~$0.005 | Appointment confirmations, job status updates, invoice notifications |
| Marketing | You send a promotional message | ~$0.035 | Seasonal promotions, maintenance reminders, re-engagement campaigns |
| Authentication | You send a verification code | ~$0.009 | Account verification (rarely used by contractors) |
The most important takeaway: When a customer messages you first, the entire conversation is free. This is the primary use case for contractors -- a homeowner reaches out, the AI chatbot qualifies them, and the conversation costs $0.
The Free Service Window
When a customer sends you a message, a 24-hour service window opens. Within this window:
- You can respond with unlimited messages at zero cost
- The AI chatbot's qualifying conversation happens entirely within this free window
- The window resets every time the customer sends a new message
Example: A customer messages at 9 PM. The chatbot qualifies them. At 10 AM the next day, your team follows up with additional details. At 2 PM the customer replies with a question. The window resets for another 24 hours. All of this is free.
When the window matters: If you want to message a customer more than 24 hours after their last message, you must use a pre-approved template message (utility or marketing category), which has a per-message cost.
Click-to-WhatsApp Ad Bonus
Leads from Click-to-WhatsApp Facebook and Instagram ads get a 72-hour free messaging window -- three times longer than the standard 24 hours. Ad-generated leads can be qualified and followed up extensively without any messaging cost.
Included Messages by Plan
Each CustomerFlows plan includes a monthly messaging allowance for outbound template messages. Inbound service conversations are always free and don't count against the allowance.
| Plan | Included Outbound Messages | Overage Rate |
|---|---|---|
| Starter ($49/mo) | 1,000/month | $0.005 per message |
| Growth ($149/mo) | 5,000/month | $0.005 per message |
| Scale ($349/mo) | 15,000/month | $0.005 per message |
Counts against allowance: Utility messages, marketing messages.
Does NOT count: Inbound service conversations (always free, unlimited), your replies within the 24-hour window (free), AI chatbot messages during qualification (free -- happens within service window).
Cost Modeling for a Typical Contractor
Most contractors spend very little because the primary use case (inbound lead qualification) is free.
| Activity | Monthly Volume | Category | Cost |
|---|---|---|---|
| Inbound lead conversations (AI chatbot) | ~200 messages | Service (free) | $0 |
| Appointment confirmations | ~50 messages | Utility | ~$0.25 |
| Post-job review requests | ~30 messages | Utility | ~$0.15 |
| Seasonal marketing broadcast | ~30 messages | Marketing | ~$1.05 |
| Total estimated cost | ~$1.45/month |
Compare this to SMS ($0.01-0.05 per segment) or an answering service ($200-500/month).
Template Messages
When messaging customers outside the 24-hour service window, you must use a template message pre-approved by Meta.
What is a template? A pre-written message submitted to Meta for review. Templates can include variables (like the customer's name or appointment date) that are filled in dynamically.
Example templates:
- Appointment confirmation (Utility): "Hi {{name}}, your appointment with {{company}} is confirmed for {{date}} at {{time}}. Reply CHANGE to reschedule."
- Review request (Utility): "Hi {{name}}, thanks for choosing {{company}}! If you had a good experience, we'd appreciate a quick review: {{link}}"
- Seasonal promotion (Marketing): "Spring is here! {{company}} is offering $99 AC tune-ups this month. Reply BOOK to schedule."
Creating templates:
- Go to Settings, then WhatsApp, then Templates
- Click New Template
- Choose the category (Utility or Marketing)
- Write your message with variables in double curly braces
- Submit for Meta review (typically approved within 24 hours)
- Once approved, the template is available in automations and broadcasts
Meta's approval rules: Templates must clearly identify the sender, marketing templates require opt-in, and content cannot be misleading. Rejected templates include a reason code so you can edit and resubmit.
Monitoring Your Usage
In CustomerFlows: Go to Settings, then WhatsApp to see messages sent this month vs. your allowance, breakdown by category, and estimated cost.
On your monthly invoice: WhatsApp messaging appears as a separate line item:
Plan: Growth -- $149.00
WhatsApp messaging: 847 of 5,000 included -- $0.00
WhatsApp overage: 0 additional messages -- $0.00
Total: $149.00
If you exceed your allowance:
Plan: Growth -- $149.00
WhatsApp messaging: 5,000 of 5,000 included -- $0.00
WhatsApp overage: 312 messages x $0.005 -- $1.56
Total: $150.56
Spending Caps
To prevent unexpected charges, set a monthly spending cap:
- Go to Settings, then WhatsApp, then Spending Cap
- Set a maximum monthly spend (e.g., $10)
- When the cap is reached, outbound template messages pause until next billing cycle
- Inbound conversations (free) are never affected by spending caps
- You receive an email alert at 80% of your cap
See WhatsApp Spending Caps for detailed configuration.
FAQ
Are inbound messages really free with no cap? Yes. Since November 2024, Meta does not charge businesses for inbound service conversations. There is no monthly cap. This applies to all CustomerFlows plans.
What happens if I exceed my included messages? Overage is billed at $0.005 per message (Meta's cost, no CustomerFlows markup). Set a spending cap to prevent unexpected charges.
How do I know if a message is Service (free) or Utility (paid)? Service messages are responses within the 24-hour window after a customer contacts you. If you initiate a message using a template outside this window, it's Utility or Marketing depending on the template category.
Does CustomerFlows add markup to Meta's messaging costs? No. CustomerFlows passes through Meta's per-message fees at cost. The $0.005 overage rate is what Meta charges.
Can I send marketing messages to all my contacts? Marketing broadcasts require the recipient to have opted in. Meta enforces this and may restrict your messaging if you send unsolicited marketing. Start with small batches to engaged customers.
Related
- Connecting Your WhatsApp Number -- Initial setup
- Sending Template Messages -- Creating and using templates
- WhatsApp Spending Caps -- Setting cost limits
- Billing and Invoices -- Understanding your monthly charges
- WhatsApp Business API Guide -- Full guide
Need help? Email [email protected] or ask in r/CustomerFlows.