We use cookies
We use cookies and similar technologies to improve your experience, analyse traffic, and personalise content. You can accept all cookies or reject non-essential ones.
19 Oct 2026
Every commercial buyer evaluating feedback tooling eventually asks the same question: “Should we survey by email, SMS, WhatsApp, or in-app?” It’s the wrong first question. The right question is: what does one completed response actually cost us on each channel, once we account for how many people actually finish it? A channel with a rock-bottom send cost and a terrible completion rate can be more expensive per complete than a channel that costs ten times as much per message. This post walks through the math, not the marketing.
Messaging vendors and SMS aggregators have every incentive to sell you on send volume — that’s how they bill. None of them will walk you through a true apples-to-apples cost-per-complete comparison across channels, because the honest version of that comparison often argues against the channel they sell. As a buyer, you have to build that comparison yourself, and it’s simpler than it looks once you strip out the noise.
The formula is straightforward:
Cost per complete = (fixed setup cost + total send cost) ÷ number of completed responses
Total send cost depends on per-unit pricing (a WhatsApp conversation, an SMS segment, effectively $0 for email) multiplied by how many people you have to reach — including retries and reminders. Number of completed responses depends on response rate, which varies enormously by channel, by audience, and by whether the message looks like it’s coming from a real company or a random long-code number.
If you only look at cost per send, email always wins — it’s nearly free. But if your open rate is low and your survey link gets buried in a promotions folder, you might need to send to 500 people to get 15 completes. Meanwhile a WhatsApp message that costs real money per conversation might get 60% of recipients to complete because it lands in the same inbox as messages from their bank and their delivery courier. The channel with the higher unit cost can easily produce the lower cost per complete. You won’t know which situation you’re in until you do the arithmetic for your own audience.
Email response rates are dragged down less by the channel itself and more by deliverability. If your survey emails are landing in spam or promotions tabs, your real response rate on paper looks low, but the underlying problem is authentication, not respondent apathy. Sending from a verified custom domain with DKIM configured (and SPF/DMARC for high-volume programs) is the single biggest lever most companies underuse before blaming email as a channel.
SMS is read fast — it’s a channel people check within minutes, not days. The tradeoff is message length and the fact that a link inside a text message still asks the recipient to leave their messaging app and open a browser, which introduces drop-off between “read” and “completed.” SMS also depends heavily on sender reputation: a number that’s been used to blast promotions gets filtered by carriers differently than a dedicated, warmed-up business number.
WhatsApp read rates tend to be very high because it’s where people already have active, ongoing conversations with businesses — delivery updates, support threads, appointment reminders. A short CSAT question sent as a WhatsApp message inside an existing conversation thread often gets treated less like “a survey” and more like “a reply to something I care about,” which is why completion rates on WhatsApp frequently beat email and even SMS for post-transaction feedback. The cost structure is different, though: WhatsApp billing through Meta’s Cloud API is conversation-based, not per-message, and business-initiated conversations (the kind that start a survey) are typically priced higher than replies inside a conversation the customer started. That distinction alone can flip your cost-per-complete math depending on whether you’re triggering the survey from an inbound support thread or cold-starting an outbound campaign.
Portal-based and in-app surveys have close to zero marginal cost once built — no per-message fee at all — but they depend entirely on the participant already being on your property. A post-purchase survey embedded in an order-tracking page or a branded returns portal captures people who are already engaged and looking for information, which tends to produce strong completion rates for effectively free, provided you already have the traffic.
Two costs rarely show up in a vendor’s rate card but belong in your calculation:
Say you need 500 completed CSAT responses after delivery, and you have a list of 5,000 recent customers with email, phone, and WhatsApp opt-in on file. Here’s how the comparison typically shakes out — using illustrative completion rates you should replace with your own list’s actual performance once you’ve run a pilot batch:
The exercise isn’t to declare a universal winner — it’s to force the comparison using your own list, your own historical open/response behavior, and your own unit costs, rather than defaulting to whichever channel your current vendor happens to sell.
The more sophisticated version of this decision isn’t “pick one channel” — it’s sequencing. Trigger the survey on WhatsApp first for customers with an active opt-in and recent conversation history (cheapest path to a high-probability complete), fall back to SMS after 24 hours of no response, and fall back to email after 48 hours for anyone left. This is a workflow, not a manual process: a thread-lifecycle or webhook trigger fires the first send, a delay condition checks for a completed response, and a fallback action escalates to the next channel automatically. Built this way, you spend the higher per-unit cost (WhatsApp) only on the people it’s likely to convert, and you don’t waste SMS or WhatsApp budget on people who were always going to respond to a free email.
Channel economics aren’t static. A cold SMS number gets filtered more aggressively by carriers over its first few weeks; a warmed, dedicated number sending consistent, expected messages performs better six months in. The same applies to WhatsApp display names and email sending domains — reputation compounds. This is a strong argument for owning your own sending infrastructure (your own Twilio/Telnyx numbers, your own verified email domain, your own Meta Business Manager for WhatsApp) rather than sending through a shared pool controlled by a vendor, where your reputation is tied to every other customer sharing that pool.
SurveyAnalytica runs WhatsApp through Meta’s Cloud API directly via Embedded Signup, so the rate you pay is Meta’s published conversation pricing with no reseller markup sitting inside your cost-per-complete calculation. SMS runs on your own Telnyx or Twilio numbers under your own credentials, so reputation and per-segment costs are yours to manage and improve over time rather than shared with other tenants. Email campaigns send from your own DKIM-verified domain, which is the deliverability fix that most improves email’s real-world response rate before you ever touch the channel-selection question.
Because triggers, delays, and fallback actions all live in the same workflow engine, the channel waterfall described above — WhatsApp first, SMS fallback, email last resort — is a single configuration, not three disconnected tools stitched together with a scheduler. And because inbound replies across SMS and WhatsApp route into the same conversations view, you’re not reconciling response data from three separate dashboards to work out your actual cost per complete — it’s one dataset, one calculation, one honest number.
Build surveys, run campaigns, and analyze responses with AI — free to start.
Channel selection isn’t a branding decision or a matter of taste — it’s an arithmetic exercise that most teams skip because doing it properly requires access to true unit costs, which not every vendor is willing to show you. Run the pilot, measure completion rate by channel on your own list, price in the real per-unit cost without hidden markup, and let cost per complete — not cost per send, and not habit — decide where your next feedback campaign goes.
No comments yet. Be the first to comment!