Spend limits are available on paid WhatsApp channels — WhatsApp Cloud API and Coexistence. They don’t apply to WhatsApp Business App campaigns, to demo segments, or to a campaign whose audience is empty.
Step 1: Turn on the spend limit
Build your campaign as usual. In the step where you choose your message template — below the voucher options — switch on Campaign spend limit. The toggle is off by default, and leaving it off sends the campaign with no ceiling, exactly as before.Step 2: Enter an amount
With the toggle on, enter your ceiling in Spend limit amount. The currency shown next to the field is the billing currency of your WhatsApp account, read from Meta. You can’t pick a different one, and the amount is never converted — a limit you set in IDR is measured against spend billed in IDR. The number of decimal places follows that currency. Underneath the field you’ll see a reminder that final costs vary dynamically based on recipient country, template category, and message volume. Meta’s rates are not flat, so treat your limit as the ceiling you’re comfortable with rather than a prediction of what the campaign will cost.If you see Spend limit unavailable instead of the toggle, bitbybit couldn’t read the billing currency for this WhatsApp account. A limit can’t be set for this campaign, but you can still send it without one.
Step 3: Check it in Review
The Review step lists Spend limit with the amount you set, alongside your segment, schedule, and template. If you switched the toggle on but left the amount empty, Review blocks the send with Missing spend limit amount. Go back a step and either enter an amount or switch the limit off.What happens while the campaign sends
A campaign is delivered in batches, not all at once. Before each batch:- bitbybit looks up the current rate for your WhatsApp account and the template’s category as it stands right now. If Meta recategorizes your template mid-send (a UTILITY template moved to MARKETING, for example), later batches are priced at the new rate. Batches already accepted keep the rate they were priced at.
- It adds up what the campaign has already committed to — messages Meta has accepted, plus anything already billed.
- If the next batch still fits under your limit, it sends. If it doesn’t, the campaign pauses.
When a campaign pauses at its limit
On the Campaign dashboard, the Progress column reads Spend limit reached. Click the campaign name to open its Log page, where you’ll see a Campaign paused notice with:- Spend limit — the ceiling that stopped it
- Spent so far — what the campaign has cost up to that point
- Not yet sent — how many recipients are still waiting
Spent so far can read Not available yet for a few minutes. Meta reports billing slightly behind actual sending, so the figure fills in shortly after the pause. The pause itself is not affected by this — enforcement already accounts for messages that have been sent but not yet billed.
Resume the campaign
Click Resume campaign. In the dialog, enter a New spend limit — it has to be higher than the current one — and click Update and resume. Only the recipients who never received the message are sent to. Nobody who already got it gets it twice. The dialog also shows Limit history, so you can see each limit this campaign has had and when it changed.When a campaign pauses because the rate couldn’t be read
Sometimes a campaign pauses without having spent its budget. The Progress column reads Paused — rate unavailable, and the Log page explains that bitbybit couldn’t read the current WhatsApp message rate for your account, so it paused the campaign rather than risk going over your limit. Nothing extra has been charged. This is not a budget problem, and raising the limit won’t help. Click Try resuming after a few minutes — rate lookups usually recover on their own. If the campaign keeps pausing this way, contact support before raising your limit.Good to know
- The ceiling is deliberately cautious. Pricing counts every message Meta accepted, including the few that fail after acceptance and are never billed. On a campaign with many failures this can stop the campaign slightly early. That’s intentional: a campaign that stops early is an inconvenience, while one that stops late is an invoice you never agreed to.
- Your figures self-correct. The estimate leads while Meta’s billing catches up; once real billed amounts arrive, they take over.
- If pricing can’t be resolved, the campaign stops rather than sends. A campaign with a spend limit will never keep sending on a guessed rate.

