Quick answer: A Click-to-WhatsApp (CTWA) ad is a Facebook or Instagram placement whose primary action opens a WhatsApp conversation with your business instead of an HTTPS destination. The customer taps, WhatsApp opens with the ad's pre-filled message, and Meta treats the resulting exchange as a messaging entry point — which, since the pricing shift, opens a free window on the conversation bill. On Devotel Orbit the inbound message lands on your WhatsApp Business number like any other inbound: it surfaces in the shared Inbox, it is attributable to the ad that started it, and a connected Meta ad account feeds the ad-side spend into the same report. The platform's meta_ads channel key keeps this entry point visible in the channel inventory today and reserves the surface where a fuller ad-account integration ships.
How a click-to-WhatsApp ad works end to end
The flow has six stages, and each stage has a distinct owner:
- Campaign. In Meta Ads Manager you create a campaign on an objective that supports messaging destinations — engagement or traffic — and set the ad-set conversion location to messaging apps with WhatsApp as the destination. Click-to-message placements do not run on the conversions objective; that is a Meta product constraint, not a provider choice.
- Creative and pre-fill. You attach the creative plus the pre-filled first message the customer's WhatsApp opens with — create it in Ads Manager or from a connected Facebook Page. The pre-fill is the first inbound payload your platform receives.
- The tap. The customer taps the ad, WhatsApp opens against your business number with the pre-filled message, and the send is the customer's own action — volitional contact, not an outbound push.
- The message arrives. Meta delivers the inbound to your Cloud API endpoint with a
referralobject naming the source ad. On Orbit, the message lands on your connected WhatsApp number and appears in the shared Inbox with the ad metadata on the conversation. - The conversation bill. Meta opens a 72-hour free entry-point window on CTWA arrivals: replies inside it are not charged as conversations. The per-message shift did not change that — entry-point windows stayed free through it.
- Attribution. Because the inbound carries the ad reference, Orbit ties the conversation to campaign and ad ID; with the Meta ad account connected, spend joins the same report so an operator reads cost-per-conversation directly instead of stitching Meta and platform exports together.
None of these stages is exotic. What breaks them is almost always the plumbing around stage one or stage four, covered under failure modes below.
What the meta_ads channel key does in Orbit today
Orbit's channel registry — the single inventory the Messages hub, Settings → Channels, and every channel selector render from — carries a meta_ads key labeled Meta Ads. In the registry today it describes the scope as "Click-to-WhatsApp ads, Conversions API, Lead Ads" and holds these properties:
- Status: soon, with early access. The card is a roadmap surface, not a sendable channel —
meta_adsdoes not appear in action surfaces such as the campaign composer, and it should not, since it is an entry point into WhatsApp, not a second outbound transport. - A connect surface that exists now. The Meta Ads card in Settings → Channels hosts a working Connect Ad Account flow (OAuth against Meta), backed by connect, status, and disconnect endpoints on the API. A connected account is what feeds ad-side spend and campaign metadata into CTWA reporting.
- Honest deep links. Clicking Meta Ads in the Messages hub, or visiting
/channels/meta_ads(or/channels/meta-ads), does not dead-end on a 404 — it routes straight to the Meta Ads card under Settings → Channels, anchor-focused on that card.
Two things the key does not do today: it is not a channel you pick as a campaign send target, and it carries no separate message stream — every message a CTWA ad generates arrives on the WhatsApp channel because that is where Meta delivers it. The registry description above is the complete shipped scope; treat anything beyond it as not yet real.
Business-side setup
Four steps connect a CTWA ad to your inbox:
- Get the number reachable. Your WhatsApp Business Platform number must be connected — on Orbit that is the standard embedded-signup flow (bring your own WABA, or create one during signup) — since the ad deep-links to a number, not to your provider account.
- Connect the ad account. From Settings → Channels → Meta Ads, run Connect Ad Account. This is OAuth against your Meta ad account; nothing in the flow canvasses permissions beyond what Ads Manager already grants.
- Build the campaign. In Ads Manager, pick the engagement objective, set messaging apps as the conversion location, choose WhatsApp, and attach the creative plus pre-fill. The objective constraint is real: click-to-message placements need an engagement or traffic objective, and Ads Manager refuses the pairing on a conversions-only setup.
- Watch it arrive. Inbound opens a conversation in the Inbox. If your inbound traffic feeds verification or AI-agent flows, the same number-level routing that reuses Orbit's verify and inbound webhooks applies — the ad changes the customer's path in, not the plumbing after arrival.
Pricing: entry-point windows, zero markup
Two price mechanics decide a CTWA budget, and only one of them is ours.
- The ad spend is Meta's. CTWA buys Meta impressions like any other campaign, on Meta's auction.
- The messaging it generates is free while the window is open. A customer arriving from a CTWA ad opens a free entry-point window — the same exemption the WhatsApp pricing-shift explainer walks through in detail — and template discipline decides what you pay if you re-contact the customer after the window closes.
- Orbit's platform cut is zero either way. Meta's messaging fees pass through at no markup on WhatsApp, and the same posture applies to ad-sourced conversation traffic: no platform surcharge on the inbound, the entry-point exemption intact, and no metering on the ad-account connection itself.
The practical bill is: Meta's auction spend, plus template sends that fall outside the entry-point window, at Meta's own rate card.
Failure modes
The five rejections and quiet failures CTWA campaigns hit most:
- Ad-objective mismatch. Selecting the conversions objective removes messaging destinations; the fix is an engagement (or traffic) objective with messaging apps as the location. Symptom: WhatsApp never appears as a destination in the ad set.
- Opt-in language Meta rejects. Pre-filled first messages and ad copy that look like coerced consent — "reply YES to accept marketing," sweepstakes-for-opt-in framing — fail Meta review. The customer has to be starting a conversation, not being enrolled in one.
- Unconnected or expired ad account. If the OAuth token behind the Meta Ads card lapses, ad-side spend stops flowing into reporting while messages still arrive — the Inbox fills, attribution data thins. Reconnect from the card; the endpoint pair (status / disconnect / connect) exists for exactly this maintenance loop.
- Number not on the WhatsApp Business Platform. CTWA deep-links only resolve against a business-platform number. A consumer-app number or an unverified WABA makes the ad untappable in practice.
- Budgeting against the old conversation model. Forecasting CTWA messaging cost as one conversation per arrival overestimates it: the entry-point window is free, and only template sends after the window closes bill. Model template re-contact volume separately or the campaign reads as more expensive than it is.
Frequently asked questions
What is a click-to-WhatsApp ad?
A Facebook or Instagram ad whose primary action opens a WhatsApp conversation with your business. The tap hands off into the customer's WhatsApp with a pre-filled first message; the resulting exchange is a messaging conversation with your business number, not a web session.
What does Orbit's meta_ads channel key actually include today?
A visible, honestly-routed channel card in the inventory (status: soon, early access) whose Connect Ad Account OAuth flow works now, plus CTWA attribution on the inbound WhatsApp conversations the ads generate. It is not a sendable campaign channel and does not carry a separate message stream.
Are click-to-WhatsApp conversations charged?
Meta does not charge for messages inside the free entry-point window a CTWA arrival opens. Template messages sent after the window closes bill at Meta's per-message rate card by category. Orbit passes those rates through without a platform markup.
Which ad objective supports click-to-message?
Engagement is the primary one; traffic also supports messaging destinations. A conversions objective does not offer WhatsApp as a destination — that constraint sits with Meta's Ads Manager, not with any provider.
Where do ad-sourced messages land?
On your connected WhatsApp Business number, in the shared Inbox alongside every other inbound. The ad reference Meta sends with the message ties the conversation back to campaign and ad for attribution.
Resources
- What Is a WhatsApp Business API? A 2026 Guide — the sibling explainer: conversations, templates, and the 24-hour window the ads hand conversations into.
- Meta's WhatsApp Pricing Shift, Explained — per-message vs per-conversation billing and where free entry points fit.
- BYO WhatsApp Business Account: zero-markup economics — the pass-through model this post's pricing note inherits.
- WhatsApp calling GA analysis — the channel's other 2026 development, voice alongside messaging.
- WhatsApp channel docs — numbers, templates, and inbound mechanics as shipped.
Published 2 September 2026.