Skip to main content

WhatsApp Pricing on Telnyx

How WhatsApp conversation-based billing works on Telnyx, including categories and billing types.

Written by Telnyx Engineering
Updated today

Conversation-Based Billing

WhatsApp uses a per-conversation billing model, not per-message. When a conversation opens, you are charged once for that conversation category. All messages within that conversation for the next 24 hours are included at no additional per-message cost.

Conversation Categories and Rates

Rates vary by conversation category and the recipient's country. The four categories are:

Category

Initiated By

Typical Use

Marketing

Business (template)

Promotions, offers, product updates

Utility

Business (template)

Order updates, receipts, account alerts

Authentication

Business (template)

OTP, verification codes

Service

Customer-initiated

Customer support, inquiries

Marketing conversations are typically the most expensive, followed by Utility, then Authentication. Service conversations are usually the least expensive.

How Billing Type is Determined

Telnyx determines the billing type from the template category and the destination country. The billing_type field appears in delivery status webhooks (DLRs) with one of these values:

  • whatsapp_marketing — Marketing template conversation

  • whatsapp_utility — Utility template conversation

  • whatsapp_authentication — Authentication template, same country as WABA

  • whatsapp_authentication_international — Authentication template, different country from WABA

  • whatsapp_service — Service conversation (customer-initiated, free-form replies)

Free Entry Point Conversations

Conversations that start from certain entry points are free for the first 72 hours:

  • Click-to-WhatsApp ads on Facebook or Instagram

  • Facebook Page call-to-action buttons

After 72 hours, standard conversation rates apply.

Viewing Costs

You can track WhatsApp messaging costs in the Telnyx Portal under Messaging → Message Detail Records. Each record includes the billing_type field so you can see which conversation category was billed.

Related Resources

Did this answer your question?