Quick answer: Application-to-person (A2P) SMS pricing is moving again in the second half of 2026, and the move is more mechanical than a single surcharge wave. Destination operators keep raising per-message pass-through fees, while the major vendors are splitting how a message is metered — Twilio bills SMS per message, Vonage and Infobip bill conversation-capable channels per conversation — and every one of those shifts changes what a subscriber costs to reach. Because the published channel prices of the big vendors are public, each shift is verifiable rather than rumored; and because this kind of shift recurs, the durable response is a repricing pass you can re-run, not a one-time contract argument. On Devotel Orbit that pass starts from the SMS rate card behind the shared pricing page — a flat, rates-only per-destination card with no per-vendor metering layer — and the worked example below runs it end to end.
This is an industry-news explainer, the same family as the interconnect-fee decomposition post and the WhatsApp pricing-shift analysis. Nothing described here is an Orbit product change — it is a movement of the carrier-fee layer and the vendor metering layer that every A2P buyer's bill sits on, plus the tenant-owned pass that keeps your subscriber-unit cost honest when those layers move.
The trend: two independent layers moving at once
A sender's per-message price has always had two moving parts; H2 2026 is moving both at the same time, which is what makes the wave worth a pass rather than a shrug.
Layer one — the carrier fee layer. The operator-side surcharges that travel on top of bare termination keep shifting upward or expanding in scope: existing operator pass-throughs get repriced, new per-message fee types appear in markets that previously had none, and registration-side fees keep accumulating in the destinations that run sender registries. The A2P SMS interconnect explainer decomposes this layer into termination, legitimate inter-operator surcharges, and provider margin; the current wave is the surcharges part of that triad moving again. The details change every cycle — the posture that survives every cycle is the same: treat any surcharge as real only when it maps to a named, published operator fee at a specific destination.
Layer two — the vendor metering layer. Less visible, but it hits the bill just as hard: the majors do not all count the same way. Per-message billing charges for every rendered message; per-conversation billing charges once for a rolling interaction window regardless of how many messages it contains. Meta's WhatsApp Business pricing restructure — covered in the WhatsApp pricing-shift post — was the loudest version of this; SMS itself stayed per-message across the industry, but conversation-based metering kept spreading around it on conversation-capable channels, and the per-message rates on the SMS side continued to churn under it. A buyer renting only messaging units can treat the metering question as academic; a buyer comparing vendors, or amortizing messaging across a CPS operation, cannot.
What it means in subscriber math for a CPS tenant
A communications-platform-as-a-service (CPS) tenant resells reach: your subscribers' end-users send and receive traffic, and your per-subscriber unit economics carry the underlying messaging cost. Both layers of the wave land on that arithmetic in different places.
- A fee-layer move is a per-destination delta. If an operator surcharge on one of your destinations moves, the change is the delta times your monthly segment volume to that destination, times however many of your subscribers actually send there. Small per-message deltas become material only through that multiplication — which is why the first step below is identifying which destinations your own subscriber base actually concentrates on, not which destinations exist in the abstract.
- A metering-layer move is a structural change, not a delta. A vendor that switches a channel to per-conversation billing is not charging a different price for the same unit — it is charging for a different unit. Comparisons that were valid under per-message billing become invalid: for long customer-care threads a conversation unit can be cheaper, for notification-style traffic where each interaction is one discrete send it is usually not. If you benchmarked vendors once and never re-derived per subscriber count again, last cycle's comparison is quietly wrong this cycle.
- The compounding case is what makes this H2 wave a checklist event. When the fee layer and the metering layer move in the same window, a subscriber's true cost-to-reach shifts twice — once in the underlying carrier-side pass-through, once in how the vendor translates that pass-through into the unit you are billed on. Two small shifts composed can exceed the size of either.
None of this settles how you should price your own subscriptions — that decision belongs to your business. The explainer's claim is narrower: the inputs to that decision are public, so you can re-derive them whenever the layer moves instead of discovering the shift on a renewal.
Where Orbit's published pricing posture meets the wave
Two structural properties of the Devotel Orbit pricing posture interact with a carrier-fee wave, both checkable on the /pricing surface itself:
- One flat rates-only card, no vendor metering layer. The SMS side of Orbit's pricing is a per-country, per-operator rate card — a number per destination, not a price-per-unit-choice. When a per-conversation vendor re-meters a channel, its comparative cost changes structurally; the rate-card number does not. When a vendor fee-shifts a per-message pass-through, the rate card either tracks that operator's movement (where the underlying fee legitimately moved) or stays — and in both cases the visible deliverable is a single per-destination number you can quote against a competitor's composite bill.
- The share-verifiable estimator. Because the same published card feeds both the SMS rate-card surface and the estimator a buyer can run on the /pricing page, the number a channel-shift changes is a number you can compute, reproduce, and compare — not an invoice you reverse-engineer after the fact. That property is what turns "industry news about carrier fees" into a procurement action instead of a worry.
The honest caveat matters as much as the posture: a rate card cannot stop carrier-side fees from moving, and a legitimate operator pass-through still passes through. What the card does is remove the vendor-layer ambiguity from the comparison, so whatever remains after the decomposition is the real, named operator cost — and that remainder is the renegotiation target with any bundled provider.
The four-step repricing pass
Run this once per fee wave; the steps are tenant-owned and use only public numbers.
- List your top destinations by outbound segment volume. Out of every country and operator your subscribers sent to last quarter, take the top few by segment count. The wave only matters where your volume actually is.
- Split each vendor quote into fee and metering. For each destination, decompose what a per-message vendor charges into the published pass-through plus the vendor margin, and separately translate a per-conversation quote into an equivalent per-message figure using your own real conversation shape — average messages per interaction, interaction windows, retry rate. The interconnect explainer gives the decomposition vocabulary.
- Compare the per-destination remainder against a published flat card. Once metering is normalized away, each vendor's quote collapses to a per-destination number. That is the number to line up against the SMS rate card — and against your subscribers' actual volume concentration from step 1.
- Set a tenant-owned review trigger. Decide, internally, what re-opens the pass: a named operator publishes a new fee type for one of your top destinations, a vendor changes a metering unit, or your destination mix drifts. A trigger you write down survives the news cycle; a vague sense that fees "might have moved" does not.
Worked example: run the pass against the published card
The public surface behind /pricing/sms is a JSON rate card of 190 destinations, each with a per-operator breakdown. Here is the pass applied with real, published numbers — five European destinations a notification-heavy subscriber base might concentrate on, quoted per SMS segment in USD, taken directly from the card at the time of writing:
| Destination | Card "from" rate (USD per segment) |
|---|---|
| Spain | $0.0200 |
| United Kingdom | $0.0282 |
| France | $0.0315 |
| Germany | $0.0610 |
| Netherlands | $0.0748 |
Now the arithmetic, using 10,000 segments per month per destination as a round subscriber-mix volume (substitute your real mix — the method is the point):
- Card baseline for the mix. At the card's per-destination "from" rates, 10,000 segments each to Spain, the UK, France, Germany, and the Netherlands runs 10,000 × (0.0200 + 0.0282 + 0.0315 + 0.0610 + 0.0748) = 10,000 × 0.2155 = $2,155 per month for the five-destination mix. Per-network rates inside a destination sit above or below that country's "from" figure; if your subscribers' operator mix is known, run it per operator instead of per country.
- Normalize a per-conversation competitor to a per-message figure. Suppose a conversation-capable channel bills $0.06 per conversation, and your real interaction shape averages three messages per interaction. The equivalent per-message cost is $0.06 ÷ 3 = $0.02 per message — comparable to the card only after this normalization, and invalid on notification-style traffic where the interaction is one message (equivalent: $0.06 ÷ 1 = $0.06 per message). Vendor shape changes what the same quoted unit costs; the math is where that stops being ambiguous.
- Decompose the remainder, then renegotiate what survives. If a bundled provider invoices, say, $0.09 per message on UK traffic, the published card's UK "from" of $0.0282 tells you the decomposition starts with a $0.0618 gap to explain. Where the provider maps the gap to a named, published operator fee it is a real pass-through; where it cannot, the gap is provider margin — and that remainder is the renegotiation target. The interconnect-fee explainer is the companion vocabulary for that conversation.
The spread on the card is itself the cautionary figure: published "from" rates run from $0.0012 per segment (Colombia) to $0.30 per segment (Bangladesh at the far end of the current card). Two orders of magnitude across destinations is why "average SMS cost" is not a planning number and why step 1 of the pass starts from your subscribers' actual destination mix.
Frequently asked questions
Did A2P SMS carrier fees actually increase in H2 2026?
Some did, per destination — operator pass-throughs reprice continuously, and new per-message fee types appear in markets that previously had none. What is uniform is not the direction of every individual fee but the pattern: published, decomposable per-destination numbers now cover the operator layers, so any surcharge a provider cannot map to a named operator fee is provider margin rather than carrier cost.
Is per-message or per-conversation billing cheaper?
Neither, universally — it depends on your traffic shape. Per-conversation billing aggregates all messages in an interaction window into one charge, so long customer-care threads can come out cheaper under it; notification-style traffic where each interaction is exactly one message usually does not. The correct comparison normalizes the vendor's unit to your real messages-per-interaction average before comparing a quoted price to a per-message card.
Does Orbit add a markup when operator fees change?
Orbit's pricing posture is one flat per-destination rates card, visible on /pricing and computed in the same estimator a buyer reads, so no vendor metering layer sits between an operator movement and the number you are quoted. Legitimate operator pass-throughs still pass through — the card cannot cancel a real carrier fee — but the remainder after the published card is decomposed is the named operator cost, not an unexplained composite.
How do I reprice my subscribers' messaging costs without inventing rates?
Use the public JSON rate card that backs /pricing/sms: per country, per operator, per destination, quoted per segment in USD. Take your subscriber base's top destinations by outbound segment volume, look up the published per-destination figures, and run the worked-example arithmetic above. Where a provider's quote diverges from the card, the divergence — not the fee — is the conversation to have with that provider.
Is this a Devotel Orbit product announcement?
No. This is an industry-news explainer in the same family as the SMS-pumping news desk and the ITU-T PIN study explainer: external fee and metering shifts every A2P buyer's bill sits on, plus the tenant-owned repricing pass. No Orbit feature shipped in this post and no Orbit behavior changed.
The takeaway
Carrier fees on A2P SMS move, and H2 2026 moved both layers at once — the operator pass-through layer and the vendor metering layer. The durable response is not to predict the next fee wave but to make re-deriving your per-subscriber cost cheap: run the four-step pass on your top destinations, normalize any per-conversation quote to a per-message figure, decompose the remainder against the published SMS rate card, and write down the trigger that re-opens the pass next cycle. The news is external; the arithmetic is tenant-owned.