diff --git a/apps/docs/contribute/guides/blog.mdx b/apps/docs/contribute/guides/blog.mdx index b7e77ecfdc..72f81a0429 100644 --- a/apps/docs/contribute/guides/blog.mdx +++ b/apps/docs/contribute/guides/blog.mdx @@ -39,6 +39,8 @@ By default the og image is generated from the title of the blog post. If you wan All images need to be placed under the `public/images/blog/` folder where `` is the name of the mdx file you are creating/editing. The image file name should be in lowercase and separated by `-`. It is best if the image width is no more than 800px. +All links to other blog posts should look like `/blog/`. + Here are all the components you can use in your blog post: - `Image`: To display an image. `width` and `height` props are required and must match the actual size of the image. Example: `My awesome image` diff --git a/apps/landing-page/public/images/blog/whatsapp-business-api-pricing/whatsapp-business-conversation-categories.jpg b/apps/landing-page/public/images/blog/whatsapp-business-api-pricing/whatsapp-business-conversation-categories.jpg new file mode 100644 index 0000000000..850fed9620 Binary files /dev/null and b/apps/landing-page/public/images/blog/whatsapp-business-api-pricing/whatsapp-business-conversation-categories.jpg differ diff --git a/apps/landing-page/src/app/blog/add-chatbot-to-wordpress/page.mdx b/apps/landing-page/src/app/blog/add-chatbot-to-wordpress/page.mdx index 2938c7b3ba..a3dbfd08ab 100644 --- a/apps/landing-page/src/app/blog/add-chatbot-to-wordpress/page.mdx +++ b/apps/landing-page/src/app/blog/add-chatbot-to-wordpress/page.mdx @@ -192,7 +192,7 @@ A chatbot's success hinges on engaging your users. Here are some strategies to m - **Quick Replies**: Speed up conversations with buttons for common responses, actions, or links. This reduces friction and keeps users engaged. - **Interactive Elements**: Incorporate images, GIFs, or short videos to liven up your chatbot’s responses and retain user interest. -More strategies in our [chatbot best practices guide](/chatbot-best-practices). +More strategies in our [chatbot best practices guide](/blog/chatbot-best-practices). **Common Pitfalls to Avoid** diff --git a/apps/landing-page/src/app/blog/chatbot-script-examples/page.mdx b/apps/landing-page/src/app/blog/chatbot-script-examples/page.mdx index 6d99bdaf65..21b867dfda 100644 --- a/apps/landing-page/src/app/blog/chatbot-script-examples/page.mdx +++ b/apps/landing-page/src/app/blog/chatbot-script-examples/page.mdx @@ -439,6 +439,6 @@ Crafting powerful **chatbot scripts** requires understanding your audience, clea From **sales-boosting conversations** to efficient customer support interactions, well-designed scripts can enhance user engagement and drive business results. -By leveraging tools like Typebot and AI assistants, and following [best practices](/chatbot-best-practices) for natural, personalized conversations, you can create chatbot experiences that meet user needs and leave a lasting positive impression of your brand. +By leveraging tools like Typebot and AI assistants, and following [best practices](/blog/chatbot-best-practices) for natural, personalized conversations, you can create chatbot experiences that meet user needs and leave a lasting positive impression of your brand. diff --git a/apps/landing-page/src/app/blog/create-whatsapp-chatbot/page.mdx b/apps/landing-page/src/app/blog/create-whatsapp-chatbot/page.mdx index c8b196dcec..36de2e98bb 100644 --- a/apps/landing-page/src/app/blog/create-whatsapp-chatbot/page.mdx +++ b/apps/landing-page/src/app/blog/create-whatsapp-chatbot/page.mdx @@ -45,7 +45,7 @@ Engage your audience with: If you need inspiration, we gathered some [chatbot script - exampes](https://typebot.io/blog/chatbot-script-examples) to help you get + exampes](/blog/chatbot-script-examples) to help you get started. There are best practices, tips, and prompts to help you create a successful chatbot. @@ -214,9 +214,15 @@ Once published, share the designated WhatsApp number or group link with your cus Remember, even after publishing, continue monitoring your chatbot's performance, gathering user feedback, and making ongoing improvements. This ensures a consistently engaging and valuable experience. + + Did you know that WhatsApp charges for each conversation window? We've put + together a [WhatsApp pricing calculator](/blog/whatsapp-business-api-pricing) + to help you estimate the cost of your WhatsApp chatbot. + + ## Designing an Engaging WhatsApp Chatbot Experience -Now that you've set up the technical foundation for your WhatsApp chatbot, it's time to focus on crafting an engaging and memorable experience for your users. Here are some [best practices](/chatbot-best-practices) and strategies to consider: +Now that you've set up the technical foundation for your WhatsApp chatbot, it's time to focus on crafting an engaging and memorable experience for your users. Here are some [best practices](/blog/chatbot-best-practices) and strategies to consider: ### Best Practices for Conversational Design diff --git a/apps/landing-page/src/app/blog/upsell-using-ai-chatbot/page.mdx b/apps/landing-page/src/app/blog/upsell-using-ai-chatbot/page.mdx index ba0bb844db..1ab59a7836 100644 --- a/apps/landing-page/src/app/blog/upsell-using-ai-chatbot/page.mdx +++ b/apps/landing-page/src/app/blog/upsell-using-ai-chatbot/page.mdx @@ -180,7 +180,7 @@ In our case we will keep the initial flow simple. The real magic happens when we - Offer easy outs: Always give users a way to start over or end the conversation. - Use visuals: Typebot lets you add images. Use them to showcase products or add some personality to your bot. -More strategies in our [chatbot best practices guide](/chatbot-best-practices). +More strategies in our [chatbot best practices guide](/blog/chatbot-best-practices). ### Setting the Current Product in a Variable diff --git a/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/WhatsAppPricingCalculator.tsx b/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/WhatsAppPricingCalculator.tsx new file mode 100644 index 0000000000..d700de943e --- /dev/null +++ b/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/WhatsAppPricingCalculator.tsx @@ -0,0 +1,139 @@ +"use client"; + +import { + Box, + Flex, + NumberDecrementStepper, + NumberIncrementStepper, + NumberInput, + NumberInputField, + NumberInputStepper, + Select, + Text, + VStack, +} from "@chakra-ui/react"; +import { isNotDefined } from "@typebot.io/lib/utils"; +import type React from "react"; +import { type ChangeEvent, useState } from "react"; +import { pricingData } from "./pricingData"; + +const messageTypes = [ + "Marketing", + "Utility", + "Authentication", + "Service", +] as const; + +export const WhatsAppPricingCalculator = () => { + const [selectedCountry, setSelectedCountry] = + useState<(typeof pricingData)["markets"][number]["market"]>(); + const [selectedMessageType, setSelectedMessageType] = + useState<(typeof messageTypes)[number]>(); + const [messageCount, setMessageCount] = useState(1); + const [price, setPrice] = useState(); + + const updatePrice = () => { + if (isNotDefined(selectedCountry) || isNotDefined(selectedMessageType)) + return; + + const countryData = pricingData.markets.find( + (market) => market.market === selectedCountry, + ); + if (!countryData) return; + + const typePrice = + countryData[ + selectedMessageType.toLowerCase() as keyof typeof countryData + ]; + setPrice( + typeof typePrice === "number" ? typePrice * messageCount : undefined, + ); + }; + + const updateCountry = (event: ChangeEvent) => { + setSelectedCountry( + event.target.value as (typeof pricingData)["markets"][number]["market"], + ); + updatePrice(); + }; + + const updateMessageType = (event: ChangeEvent) => { + setSelectedMessageType(event.target.value as (typeof messageTypes)[number]); + updatePrice(); + }; + + const updateMessageCount = (_: string, value: number) => { + setMessageCount(Math.max(1, value)); + updatePrice(); + }; + + return ( + + + + + Select Country: + + + + + + Select Message Type: + + + + + + Number of Messages (optional): + + + + + + + + + + {price && ( + + Estimated Price: + + {new Intl.NumberFormat("en-US", { + style: "currency", + currency: "USD", + minimumFractionDigits: 4, + maximumFractionDigits: 4, + }).format(price)} + + + )} + + + ); +}; diff --git a/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/page.mdx b/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/page.mdx new file mode 100644 index 0000000000..5e4dbb3e3a --- /dev/null +++ b/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/page.mdx @@ -0,0 +1,227 @@ +import Post from "@/features/blog/components/Post"; +import { generateMetadata } from "@/features/blog/helpers"; +import { WhatsAppPricingCalculator } from "./WhatsAppPricingCalculator"; + +export const post = { + title: "WhatsApp Business API Pricing Explained for 2025", + description: + "Discover WhatsApp Business API pricing for 2025. Learn about conversation types, regional variations, and upcoming changes to optimize your messaging strategy and budget.", + postedAt: new Date("2024-10-23"), +}; + +export const metadata = generateMetadata(post); + +export default (props) => ; + +Navigating WhatsApp Business API pricing can feel complex. **With over 2 billion users, [WhatsApp has become essential for businesses](https://typebot.io/blog/whatsapp-business-benefits).** + +Yet, understanding its pricing structure may seem like decoding a cryptic message. This article breaks down WhatsApp's conversation-based pricing, regional variations, and upcoming changes that will impact business budgets for 2025 and beyond. + +## Overview of WhatsApp Business API Pricing + +The WhatsApp Business API lets companies communicate with customers at scale. Unlike the free WhatsApp Business App, the API offers advanced features for larger operations. **However, this enhanced functionality comes with a price tag**. + +### Conversation-Based Pricing Model + +WhatsApp Business API uses a **conversation-based pricing model**. Businesses are charged for each 24-hour conversation window, not per message sent. **Costs fluctuate based on the message type and the recipient's location**. + +### Categories of Conversations + +There are four main categories of conversations: + +- **Service** +- **Marketing** +- **Utility** +- **Authentication** + +Each category serves a different purpose and comes with its own pricing. For example, a **marketing message promoting a new product costs differently than a service conversation initiated by a customer**. + +### Regional Variations + +Regional variations add complexity to pricing. A conversation with a customer in **India might cost less than a similar interaction** in the United States. This disparity reflects differences in market conditions and economic factors across regions. + +## Conversation Categories + +Whatsapp Business Conversation Categories +WhatsApp Business API categorizes conversations into four types, each with its own +purpose and pricing implications. **Understanding these categories helps businesses +optimize communication and manage costs**. + + + Message templates determine conversation categories: marketing templates start + marketing conversations, utility templates initiate utility conversations, and + authentication templates start authentication conversations. + + +### Service Conversations + +**Service conversations** are user-initiated interactions for inquiries, concerns, or support requests. **Starting November 1, 2024, service conversations will be free**, replacing the previous model of 1,000 free conversations per month. + +This change aims to encourage customer-business interactions without financial barriers. + +### Marketing Conversations + +**Marketing conversations** are business-initiated messages to promote products or services. They include **promotional offers, product announcements, and event invitations**. Pricing for marketing conversations is higher due to their potential for driving business growth. + +For example, in Saudi Arabia, a marketing message costs about $0.17, more than other conversation types in the same region. + +### Utility Conversations + +**Utility conversations** deliver transactional information like order confirmations, shipping updates, and appointment reminders. **These business-initiated messages are often priced lower than marketing messages**. + +In India, a utility conversation might cost around ₹0.160, while a marketing conversation could cost ₹0.882 in the same region. + +### Authentication Conversations + +**Authentication conversations** involve security and verification. They include one-time passcodes (OTPs) for user authentication or transaction verification. + +**Pricing for authentication messages varies**, especially for international authentication. Starting February 1, 2025, WhatsApp plans to reduce international authentication rates in new and existing markets. + +### Categorization Process + +Message templates determine conversation categories: + +- **Marketing templates start marketing conversations**. +- **Utility templates initiate utility conversations**. +- **Authentication templates start authentication conversations**. + +User-initiated interactions are classified as service conversations. If a template combines utility and marketing content, **WhatsApp categorizes it as a marketing conversation to avoid ambiguity**. + +Understanding these categories and their determination is crucial. To maximize the value of the WhatsApp Business API, companies should align message types with their business objectives. This approach also helps manage expenses effectively. + +## WhatsApp Pricing Calculator + +Navigating WhatsApp Business API pricing can be challenging, especially with country variations and different conversation types. **To simplify this, we've developed an interactive tool that provides quick and accurate pricing information based on your specific needs**. + + + +### How the Pricing Calculator Works + +This pricing calculator lets you select your country and the type of conversation. **It then displays the current pricing for that combination**, giving you a clear understanding of costs in your region. + +### Comparing Costs Within a Country + +Using this calculator, you can compare costs of conversation types within your country. For example, in Brazil, a marketing conversation costs $0.0625, while a utility conversation costs $0.0080. **This difference highlights the importance of categorizing messages correctly to optimize spending**. + +### Understanding Regional Pricing Variations + +The tool also helps with regional pricing variations. For instance, you might see that **authentication messages in India cost $0.0014**, while in Indonesia, they're $0.0300. This insight is valuable for **businesses operating in multiple countries, aiding in accurate budgeting for WhatsApp communication strategies**. + +### Staying Updated with Pricing Changes + +While this tool provides current pricing information, remember that the WhatsApp Business API pricing structure can change. **Significant changes are planned for 2024 and 2025**, so check back regularly for the most up-to-date information. + + + Are you building a WhatsApp chatbot? We've put together a comprehensive guide + to walk you through the process of [creating your very own WhatsApp + chatbot](https://typebot.io/blog/create-whatsapp-chatbot). + + +## Pricing Structure + +WhatsApp's pricing for its Business API is flexible to meet various business needs and market conditions. **Understanding this structure helps businesses budget and optimize their WhatsApp communication strategies**. + +### Conversation-Based Pricing Explained + +WhatsApp's model charges based on conversation windows, not per message. **Businesses get billed for each 24-hour conversation window**, encouraging natural conversations without per-message costs. + +A conversation starts when a business sends a message to a user. It includes all messages exchanged within the next 24 hours. If the conversation continues beyond that timeframe, a new 24-hour period starts, and the business gets charged again. **This can be cost-effective for businesses with lengthy interactions**. + +### Regional Variations in Pricing + +WhatsApp's pricing varies significantly by region. Costs reflect market conditions, user behavior, and economic factors. + +For example, a service conversation in India might cost $0.0040, while in France, it could be $0.0859. **Marketing conversations emphasize this disparity even more**, with India at $0.0107 and France at $0.1432. + +These differences mean businesses operating in multiple countries need to customize their WhatsApp strategy per market. **A cost-effective campaign in one country could be expensive in another**. + +### Sample Pricing + +Here’s a look at sample pricing for different conversation types across various countries: + + + +### Insights from Sample Pricing + +From the samples, **marketing conversations are the most expensive across all countries**. However, costs for other conversation types vary. In Egypt, service conversations are pricier than authentication, while in Germany, authentication conversations are cheaper than service ones. + +**Absolute price differences between countries are also stark**. A marketing conversation in India is cheaper than a service conversation in many other places. **This underscores the need to tailor strategies to specific markets**. + +### Importance of Understanding Pricing Nuances + +Understanding these pricing nuances is crucial for businesses. By carefully considering the **types of conversations and the regions they operate in**, companies can optimize their use of the WhatsApp Business API for cost-effective and impactful customer communication. + +_To gain deeper insights into optimizing your chatbot strategy, be sure to check out our [article on the best WhatsApp chatbots available](https://typebot.io/blog/best-whatsapp-chatbot)._ + +## Upcoming Changes to Pricing + +WhatsApp is set to introduce significant changes to its Business API pricing over the next couple of years. **These changes aim to simplify the pricing model and provide more value to businesses**. Let's explore these modifications in detail. + + + By July 1, 2025, WhatsApp will fully implement a new charging model where all + businesses will be charged per template message instead of per conversation + window. + + +### November 1, 2024: Free Service Conversations + +Starting November 1, 2024, **all service conversations will be free**. This is a major shift from the current model, which allows 1,000 free service conversations per month. By removing charges for service conversations, WhatsApp encourages businesses to offer more responsive and comprehensive customer support without cost worries. + +This change might lead companies to: + +- **Expand support hours** +- **Increase response depth** +- **Proactively reach out with service-related information** + +These actions could improve customer satisfaction and loyalty. + +### February 1, 2025: Changes to Authentication Rates + +From February 1, 2025, WhatsApp will adjust international authentication rates. This involves: + +1. **Expanding authentication rates to new markets** +2. **Reducing rates in existing markets** + +While specific markets haven't been detailed, **this move aims to make authentication more accessible and cost-effective globally**. For international businesses, this offers more predictable costs for security-related communications. + +### April 1, 2025: Free Utility Templates and New Charging Model + +Effective April 1, 2025: + +1. **Utility templates will be free within a 24-hour window** +2. **Phase 1 businesses will be charged per template message instead of conversation-based pricing** + +Free utility templates within a 24-hour window benefit businesses sending transactional messages like order confirmations or shipping updates. **This allows timely, relevant information without extra costs**. + +The shift to per-template message charging for Phase 1 businesses means more granular cost control. **Businesses will be charged based on the exact number of messages sent rather than per conversation window**. + +### July 1, 2025: Full Rollout of New Charging Model + +By July 1, 2025, WhatsApp will fully implement its new charging model. **All businesses will be charged per template message**, ending the conversation-based pricing for business-initiated communications. + +This shift to per-template message pricing might lead businesses to: + +- Use more **concise messaging to reduce costs** +- Engage in more **frequent, focused communications** as the 24-hour window constraint is lifted + +### Preparing for the New Pricing Structure + +These changes are a significant evolution in WhatsApp's approach to business communications. The new pricing aims to create a **more flexible and cost-effective environment for businesses**. + +Companies using or planning to use WhatsApp Business API should start preparing now to take full advantage of the new structure when it comes into effect. + + diff --git a/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/pricingData.ts b/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/pricingData.ts new file mode 100644 index 0000000000..a89fd6b156 --- /dev/null +++ b/apps/landing-page/src/app/blog/whatsapp-business-api-pricing/pricingData.ts @@ -0,0 +1,292 @@ +export const pricingData = { + markets: [ + { + market: "Argentina", + currency: "$US", + marketing: 0.0618, + utility: 0.034, + authentication: 0.0367, + authenticationInternational: null, + service: 0.0316, + }, + { + market: "Brazil", + currency: "$US", + marketing: 0.0625, + utility: 0.008, + authentication: 0.0315, + authenticationInternational: null, + service: 0.03, + }, + { + market: "Chile", + currency: "$US", + marketing: 0.0889, + utility: 0.02, + authentication: 0.0527, + authenticationInternational: null, + service: 0.0454, + }, + { + market: "Colombia", + currency: "$US", + marketing: 0.0125, + utility: 0.0002, + authentication: 0.0077, + authenticationInternational: null, + service: 0.006, + }, + { + market: "Egypt", + currency: "$US", + marketing: 0.1073, + utility: 0.0052, + authentication: 0.0618, + authenticationInternational: null, + service: 0.0644, + }, + { + market: "France", + currency: "$US", + marketing: 0.1432, + utility: 0.03, + authentication: 0.0691, + authenticationInternational: null, + service: 0.0859, + }, + { + market: "Germany", + currency: "$US", + marketing: 0.1365, + utility: 0.055, + authentication: 0.0768, + authenticationInternational: null, + service: 0.0819, + }, + { + market: "India", + currency: "$US", + marketing: 0.0107, + utility: 0.0014, + authentication: 0.0014, + authenticationInternational: 0.028, + service: 0.004, + }, + { + market: "Indonesia", + currency: "$US", + marketing: 0.0411, + utility: 0.02, + authentication: 0.03, + authenticationInternational: 0.136, + service: 0.019, + }, + { + market: "Israel", + currency: "$US", + marketing: 0.0353, + utility: 0.0053, + authentication: 0.0169, + authenticationInternational: null, + service: 0.018, + }, + { + market: "Italy", + currency: "$US", + marketing: 0.0691, + utility: 0.03, + authentication: 0.0378, + authenticationInternational: null, + service: 0.0386, + }, + { + market: "Malaysia", + currency: "$US", + marketing: 0.086, + utility: 0.014, + authentication: 0.018, + authenticationInternational: null, + service: 0.022, + }, + { + market: "Mexico", + currency: "$US", + marketing: 0.0436, + utility: 0.01, + authentication: 0.0239, + authenticationInternational: null, + service: 0.0105, + }, + { + market: "Netherlands", + currency: "$US", + marketing: 0.1597, + utility: 0.05, + authentication: 0.072, + authenticationInternational: null, + service: 0.0891, + }, + { + market: "Nigeria", + currency: "$US", + marketing: 0.0516, + utility: 0.0067, + authentication: 0.0287, + authenticationInternational: null, + service: 0.031, + }, + { + market: "Pakistan", + currency: "$US", + marketing: 0.0473, + utility: 0.0054, + authentication: 0.0228, + authenticationInternational: null, + service: 0.0142, + }, + { + market: "Peru", + currency: "$US", + marketing: 0.0703, + utility: 0.02, + authentication: 0.0377, + authenticationInternational: null, + service: 0.0179, + }, + { + market: "Russia", + currency: "$US", + marketing: 0.0802, + utility: 0.04, + authentication: 0.0429, + authenticationInternational: null, + service: 0.0398, + }, + { + market: "Saudi Arabia", + currency: "$US", + marketing: 0.0455, + utility: 0.0115, + authentication: 0.0226, + authenticationInternational: null, + service: 0.0195, + }, + { + market: "South Africa", + currency: "$US", + marketing: 0.0379, + utility: 0.0076, + authentication: 0.018, + authenticationInternational: null, + service: 0.0168, + }, + { + market: "Spain", + currency: "$US", + marketing: 0.0615, + utility: 0.02, + authentication: 0.0342, + authenticationInternational: null, + service: 0.0369, + }, + { + market: "Turkey", + currency: "$US", + marketing: 0.0109, + utility: 0.0053, + authentication: 0.0083, + authenticationInternational: null, + service: 0.003, + }, + { + market: "United Arab Emirates", + currency: "$US", + marketing: 0.0384, + utility: 0.0157, + authentication: 0.0178, + authenticationInternational: null, + service: 0.019, + }, + { + market: "United Kingdom", + currency: "$US", + marketing: 0.0529, + utility: 0.022, + authentication: 0.0358, + authenticationInternational: null, + service: 0.0388, + }, + { + market: "North America", + currency: "$US", + marketing: 0.025, + utility: 0.004, + authentication: 0.0135, + authenticationInternational: null, + service: 0.0088, + }, + { + market: "Rest of Africa", + currency: "$US", + marketing: 0.0225, + utility: 0.0061, + authentication: 0.0144, + authenticationInternational: null, + service: 0.0363, + }, + { + market: "Rest of Asia Pacific", + currency: "$US", + marketing: 0.0732, + utility: 0.0157, + authentication: 0.0425, + authenticationInternational: null, + service: 0.0224, + }, + { + market: "Rest of Central & Eastern Europe", + currency: "$US", + marketing: 0.086, + utility: 0.0353, + authentication: 0.0557, + authenticationInternational: null, + service: 0.025, + }, + { + market: "Rest of Latin America", + currency: "$US", + marketing: 0.074, + utility: 0.0113, + authentication: 0.0445, + authenticationInternational: null, + service: 0.0423, + }, + { + market: "Rest of Middle East", + currency: "$US", + marketing: 0.0341, + utility: 0.0157, + authentication: 0.0178, + authenticationInternational: null, + service: 0.0218, + }, + { + market: "Rest of Western Europe", + currency: "$US", + marketing: 0.0592, + utility: 0.03, + authentication: 0.0378, + authenticationInternational: null, + service: 0.0397, + }, + { + market: "Other", + currency: "$US", + marketing: 0.0604, + utility: 0.0077, + authentication: 0.0304, + authenticationInternational: null, + service: 0.0145, + }, + ], +} as const;