On this page

Before a broadcast can send, VGraple CRM shows the exact estimated cost in rupees, priced by each recipient's country and the template's message category, and lets you send a real test copy to your own number first. This article covers how the estimate is calculated and how to use a test send to catch problems before they reach your real audience.
Cost estimate and test send: first 5 of 6 steps
- 1Build your audience and pick a template
- 2Open the Review & Send step to
- 3Check the daily limit line
- 4Send a test message before committing
- 5Check the test message on the actual
Before you start
- You need an audience built (see building a broadcast audience) and a template selected, since both feed the estimate.
- Know your plan's currency display: VGraple CRM shows costs in your organization's configured locale currency symbol, with the underlying calculation always in INR per Meta's published rate card.
- A test send goes to a real WhatsApp number and is billed at the normal message rate, so use a number you actually control.
Steps
- Build your audience and pick a template first. The cost estimate needs both to calculate anything: the audience determines how many recipients and which countries, the template determines the message category (MARKETING, UTILITY or AUTHENTICATION), which has a different price per country.

Open the Review & Send step to see the estimate. The recipient count and estimated cost are shown together: "Recipients: N" and "Estimated cost: Rs X.XX." This is calculated by grouping your actual audience by phone country code and pricing each group at Meta's rate for that country and category.
Check the daily limit line. Next to the cost, "Daily limit left" shows how much of your portfolio's rolling 24-hour messaging headroom this campaign will use, for example "8,200 of 10,000." If the campaign would exceed the remaining headroom, a warning appears here rather than after the send starts failing.
Send a test message before committing. On the Message step, once a template is selected, the Test send button appears. Enter a phone number (your own, or a colleague's) and send. This uses the exact composed message, including your variable mapping and any header media, so what you see is what a real recipient would see.
Check the test message on the actual device. Confirm the header (image, video, document or location) loads correctly, the body text and any variables read right, and any buttons work as expected. A test send is rate-limited to 5 per minute per organization, so pace yourself if testing several variants.
Compare against the country breakdown for a large or international audience. If your audience spans several countries, the estimate accounts for each one at its own rate rather than a single blended guess, which matters because Meta's rate card varies by roughly 13x between the cheapest and most expensive markets in the current rate card.
How does VGraple CRM know which country rate applies to each recipient?
Every contact's phone number carries a dial code, and VGraple CRM matches that code against Meta's published per-country rate card to decide which price applies. Roughly thirty individual countries have their own listed rate; numbers from a country without its own line fall into a regional group (for example Rest of Africa or Rest of Western Europe) priced at that region's rate, and a number that cannot be placed at all falls back to a global catch-all rate rather than silently defaulting to India's rate, which would understate the true cost of an audience with unrecognized numbers.
For an audience of 100,000 recipients or fewer, every single recipient is priced individually and summed, so the total matches what Meta will actually charge to the rupee. Above that size, calculating every row would be expensive to run at compose time, so a sample of 20,000 recipients is priced and the result is scaled up proportionally, still split out by country in the same way. The estimate is precise enough to plan a budget against even at that scale, since a sample of 20,000 is more than enough to reflect the true country mix of a much larger list.
What you will see
The Review & Send step shows a compact summary: exact recipient count, estimated total cost in your locale's currency, and remaining daily messaging headroom. If more than 100,000 recipients are in the audience, the underlying calculation samples 20,000 of them and scales the result, though this is not called out separately in the UI since the accuracy at that scale is still close. A test send shows a simple success or failure notice and does not appear anywhere in your contacts, conversations, or the broadcast's own recipient list.
Settings and options
| Feature | What it does | Notes |
|---|---|---|
| Cost estimate | Prices the exact audience by recipient country and template category | Exact up to 100,000 recipients; sampled and scaled above that |
| Daily limit line | Shows remaining rolling 24-hour messaging headroom for the portfolio | Warns before send if the campaign would exceed it |
| Test send | Sends the real composed template to one number | Rate-limited to 5 per minute per organization; never creates a contact |
| Currency display | Shows cost in your organization's locale currency symbol | Underlying rate card is in INR |
Why is a test send free of the risks a real send carries?
A test send goes through the exact same rendering and template-sending code path as a real broadcast recipient, which is precisely why it is useful for catching problems, but it deliberately avoids two things a real send does. First, a number you test with that is not already a saved contact is messaged ephemerally: no contact record, no conversation, and no entry anywhere in your CRM is created from it, so testing repeatedly to your own number does not clutter your contact list. Second, it never touches your actual broadcast audience or its recipient count, so running several test sends while refining a template has zero effect on the real campaign's numbers when you eventually send it for real.
What it does not avoid is cost: Meta bills a test send exactly like it would bill that same message to a real recipient, at the normal per-message rate for the template's category and the test number's country. This is intentional. A test that behaved differently from a real send, free, or routed through a different endpoint, would not actually confirm what a recipient will see, so VGraple CRM sends the genuine article to one number instead of simulating it.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Estimated cost shows Rs 0.00 | The category is SERVICE (a free-form reply inside the 24-hour window), which Meta does not charge for | Expected if you selected no template; a template send always shows a real per-message rate |
| Test send never arrives | The test number is not on WhatsApp, or the template's header media link failed to load | Confirm the number can receive WhatsApp messages; re-check any header image or document URL on the template |
| Test send fails with a rate-limit message | More than 5 test sends were made in the same minute for this organization | Wait a minute and try again |
| Estimate looks too low for an international audience | A country in your audience is not in VGraple CRM's rate table and fell back to the OTHER catch-all rate | Expected for uncommon markets; the OTHER rate is a reasonable estimate, not an exact per-country figure |
| Cost estimate changes between the audience step and Review & Send | The audience is recalculated at review time with the safety guards reapplied, which can differ slightly from the earlier count | Expected behavior; the review step's number is the one that will actually be billed |
Related reading
Once you have confirmed the cost and tested the message, see how Meta bills message charges for how these estimates map to your actual invoice, or go back to mapping variables and fallbacks if the test send revealed a personalization issue.