Send WhatsApp broadcasts to your customers (with Meta-approved templates)

Author once, get Meta approval, and broadcast to a segmented audience — with delivery analytics, cost preflight, and quality-rating guardrails built in.

·7 min read

What WhatsApp templates are (and why Meta approves them)

WhatsApp's 24-hour rule says you can reply freely to any customer who messaged you in the last 24 hours, but the moment that window closes you cannot start a new conversation in plain text. To re-open the door — to send a promo, a shipping update, or an appointment reminder — you have to use a template: a pre-written message that Meta has reviewed and approved.

Templates are how every business that runs WhatsApp at scale operates. They're the one official, low-friction way to send a message outside the 24-hour window without violating Meta's policies and getting your number blocked.

The good news: once a template is approved, you can use it as many times as you like. The approval is on the template, not on the send. You author it once and ship to thousands.

Marketing vs Utility — pick the right category

Meta sorts templates into two categories that matter for both pricing and approval odds:

  • Marketing — promotions, sales, new-product announcements, re-engagement nudges. Anything that sells. Marketing templates have stricter content rules (no misleading claims, clear sender identity, an opt-out path) and Meta charges a higher per-conversation rate.
  • Utility — order updates, appointment reminders, account notifications, delivery confirmations. Anything triggered by a customer action you're reporting back on. Utility templates are cheaper per conversation and almost always approved on first submission.

The single biggest reason templates get rejected is putting promotional content inside a Utility template to chase the cheaper rate. Meta's reviewers catch this consistently. "Your order has shipped — and check out our 50% off sale!" is a Marketing template, not a Utility one. Pick the category that matches the message's real intent.

You pay Meta directly per Cloud API conversation rate. Botline charges nothing extra on top.

Authoring a template

Open Dashboard → WhatsApp → Templates and click + New template. The editor is a 3-column workspace:

  • Left — form. Pick a category (Marketing or Utility), give the template a name (must be lowercase snake_case — Meta's rule, e.g. order_shipped_v2), choose a language, and fill in the four building blocks: header, body, footer, buttons.
  • Middle — live preview. A WhatsApp-style render that updates as you type. This is what your customer will see on iOS and Android.
  • Right — validator. Live checks for Meta's rules: snake_case name, body under 1024 characters, footer under 60 characters, sample values for every {{N}} variable, no formatting tokens that Meta rejects.

The four building blocks:

  • Header (optional) — a single line of text, an image, a video, or a document. Use it for branding ("ACME Order Update") or for a hero asset (a photo of the shipped item).
  • Body (required) — the main message. Drop in {{1}}, {{2}} placeholders for variables (customer name, order number, tracking URL). The validator forces you to fill in sample values so Meta knows what real data will look like.
  • Footer (optional) — small grey text, max 60 characters. Common uses: "Reply STOP to unsubscribe" or "ACME Customer Care".
  • Buttons (optional) — up to three Quick-Reply buttons (the customer taps a label that sends back as a reply), or a CTA button (URL or phone).

Submit for approval

When the validator goes green, click Submit for approval. Botline sends the template to Meta via the Cloud API and the status flips to Pending.

Meta's review timeline in 2026:

  • Utility templates usually return approved within a few minutes — sometimes under one minute.
  • Marketing templates can take anywhere from 5 minutes to a few hours, longer on weekends.
  • Authentication templates (OTP) are typically the fastest — under a minute.

You don't need to babysit the page. The Templates list shows live status (Pending / Approved / Rejected) and Botline emails you the moment Meta returns a decision. Approved templates are immediately available in the Broadcast composer.

If a template is rejected, the rejection reason from Meta surfaces inline next to the template card. Edit, fix, and resubmit — there's no penalty for resubmitting.

Building a broadcast — the 4-step composer

Open Dashboard → WhatsApp → Broadcasts and click + New broadcast. The composer walks you through four steps:

  1. Template. Pick from your approved templates. Fill in any variable values — either as static text (everyone gets the same value) or by mapping to a customer field (everyone gets their own name, order number, tracking URL).
  2. Audience. Choose who receives this broadcast (covered in the next section).
  3. Schedule. Send now, or pick a date and time in your tenant timezone. Scheduled broadcasts can be edited or cancelled up to the moment they fire.
  4. Review. Final summary — template name + category, audience size, scheduled time, estimated cost (Botline shows a Meta-rate cost preflight before you confirm). Click Send to commit.

Once a broadcast is sent (or scheduled), it appears in the Broadcasts list with a delivery dashboard: sent, delivered, read, replied, failed. Numbers update live.

Audience options

Botline gives you two ways to build an audience for any broadcast:

  • Active conversations filter. Pull from customers who have messaged you, with filters for tags, last-message recency, conversation status (open / closed), and assigned agent. Useful for re-engagement ("everyone who messaged us in the last 30 days but hasn't bought yet") and for utility broadcasts ("everyone with an open order"). The audience preview shows the exact count before you send.
  • CSV upload. Drop in a list of phone numbers (E.164 format, e.g. +923001234567) plus optional columns for variable mapping (name, order_id, tracking_url). Botline validates the file inline — bad rows are flagged, valid rows count toward your audience. Best for one-off campaigns where the recipient list comes from outside Botline (an event signup, a CRM export, a Shopify customer segment).

Both options can be combined: upload a CSV and then filter to "only customers who already opted in via WhatsApp" if you want extra conservatism. Botline stores the audience snapshot with the broadcast so you can audit exactly who got the message.

Quality rating — Green / Yellow / Red

Meta tracks a quality rating on every WhatsApp Cloud API number. It's the single most important number to watch when you start broadcasting:

  • Green — high quality. You're fine, keep going.
  • Yellow — degraded. You're getting reports or blocks at a higher rate than Meta likes. Slow down, review what you've sent, and consider tightening your audience.
  • Red — low quality. You're close to a messaging-tier downgrade or temporary suspension. Stop broadcasting until the rating recovers (typically 24-72 hours of clean behaviour).

Botline surfaces your live quality rating on the Broadcasts page header. If it slips to Yellow, the composer adds a soft warning before you can send a new broadcast. If it slips to Red, marketing-template broadcasts are blocked outright (utility templates still go through) until the rating recovers.

The single biggest cause of a quality drop: sending marketing templates to people who didn't opt in. Get explicit opt-in (a tap on a "Yes, send me updates" button, a checkbox at checkout) and your rating stays green forever.

Cost preflight + reconciling with your Meta invoice

Before you confirm any broadcast, the Review step shows an estimated cost based on your audience size and Meta's current per-conversation rate for the template's category and region. The estimate is in your tenant currency.

You pay Meta directly — Botline never takes a cut on conversation rates. At the end of the month, Meta bills the payment method you set up during Cloud API connection. The Broadcasts page has a Cost report tab that shows a per-broadcast spend breakdown (sent count × Meta rate) so you can reconcile against the Meta invoice line by line.

Two things worth knowing about Meta's billing:

  • A "conversation" in Meta's billing is a 24-hour window — once you open one with a template, every reply within those 24 hours is free. So a broadcast that triggers 200 replies costs the same as a broadcast where everyone stays silent.
  • Marketing rates vary widely by destination country. A broadcast to 1,000 Pakistani numbers and a broadcast to 1,000 US numbers cost very different amounts. The Review step always shows the blended estimate based on your actual audience.

Why your first template might get rejected

If Meta rejects your template, it's almost always one of five reasons. Fix and resubmit — there's no penalty.

  • Promotional content in a Utility-category template. "Your order has shipped — and 50% off everything this weekend!" is Marketing, not Utility. Move the promo to a separate Marketing template, or strip the promo from this one.
  • Body over 1024 characters. Meta hard-caps the body at 1024 characters. The validator flags this live. Trim, or split into two templates.
  • Footer over 60 characters. Footer is for a single-line disclaimer or sign-off. Anything longer belongs in the body.
  • Missing sample values for {{N}} variables. Every variable needs a representative sample so Meta's reviewer can see what real data looks like. {{1}} with a sample of "Sarah" tells the reviewer this is a customer first name, which is fine. An empty sample looks suspicious and gets rejected.
  • Template name isn't snake_case. Meta requires the template name (not the human-readable description) to match [a-z][a-z0-9_]+ — lowercase letters, digits, underscores, starting with a letter. OrderShipped is rejected; order_shipped is fine. The validator blocks submission until the name complies.

Fix any of these in the editor, save, click Submit for approval again. Most second submissions return approved within minutes.

What's next

Templates and broadcasts compose naturally with the rest of Botline:

  • Pair a Marketing broadcast with the Interactive Library — the broadcast lands the customer in your inbox, and your AI picks the right Reply Buttons or List to handle the next step.
  • Trigger Utility templates from automations — order shipped, appointment reminder, payment confirmation. Set up once, fire forever.
  • If you haven't connected Cloud API yet, follow the Cloud API connection guide first. Pro and Enterprise tenants self-serve in under 30 minutes.

Open Templates, author your first one (we recommend a Utility template for fastest approval), and you'll be broadcasting before lunch.

Ready to automate your WhatsApp?