What running a Postscript SMS programme actually involves
A Postscript SMS programme is not a message-composition problem; it’s a system of four settings that constantly interact: who has consented, how the list grows, how often each contact hears from you, and whether carriers are still willing to deliver what you send. Get any one of those four wrong and the others degrade with it. A brand doing $3M-$30M in revenue on Shopify Plus or an equivalent paid subscription platform typically has enough order volume that these interactions show up within weeks, not months, which is exactly why they’re worth setting up deliberately rather than discovering them one filtered campaign at a time. This article stays on the programme itself: consent capture, list growth, cadence and deliverability. It doesn’t cover what syncs between Postscript and Shopify at a data level, or how to write an individual message; those are separate problems with their own separate answers.
Running the programme well means someone on the team treats it as a standing operational responsibility, not a one-time setup task. A launch checklist gets consent capture and a first flow live, but consent language changes as new capture points get added, cadence rules drift as more flows launch over time, and deliverability signals shift as sending volume and list composition change. None of these are set-and-forget settings; each needs a scheduled review, which is a different skill from the initial build.
How does Postscript capture SMS consent on Shopify?
Consent capture for SMS has to be its own, distinct opt-in, separate from any general marketing checkbox or email consent, because most applicable rules treat SMS and email as different permissions requiring their own documented agreement. On a Shopify store, the common capture points are a checkout consent checkbox specific to SMS, a keyword-join flow advertised on packaging or social, and an on-site pop-up offering a discount in exchange for a phone number and explicit opt-in.
The detail that gets missed most often is what a consent checkbox actually says. A checkbox labelled only “sign up for updates” attached to a phone number field doesn’t clearly establish SMS marketing consent the way a checkbox that explicitly names text messages does. Confirm the specific wording, disclosure and record-keeping standard that applies to your situation with counsel before launching or changing an opt-in flow, since requirements vary by message type and jurisdiction, and this article can describe the shape of the requirement, not the specific legal threshold.
Recording consent is as important as capturing it. Store the opt-in timestamp, the source it came from, and the exact language the contact agreed to, attached to that contact’s record. If a consent question ever comes up, whether from a carrier, a platform, or a legal inquiry, the ability to produce exactly what a specific contact agreed to and when is the difference between a quick resolution and an extended one.
A separate consent question worth answering explicitly is whether a landline or VOIP number was ever added to the list by mistake. Text-capable and non-text-capable numbers both pass through a simple phone-number field at checkout, and sending to a number that can’t receive texts wastes send volume and, at scale, can affect how a sending number’s overall delivery rate looks to carriers. A number-type check at the point of capture, rather than after the fact, avoids building bad numbers into the list from day one.
How fast can an SMS list grow without hurting deliverability?
There’s no published safe growth rate for an SMS list, because the ceiling depends on your sending number’s existing history, not a fixed number of new subscribers per day. A number with months of steady, well-engaged sending has more headroom to absorb a growth spike than a newer number still building reputation with carriers.
The practical answer is a ramp, not a rate. When a pop-up campaign, a giveaway, or a retail partnership adds a large batch of new subscribers at once, send to that batch gradually over several days rather than blasting the whole batch with a single campaign immediately. Watch delivery and filter-rate reporting during the ramp; if filter rates climb, slow the ramp further before pushing more volume, rather than pushing through and hoping it settles.
Purchased and scraped lists deserve a direct answer: don’t use them. A number that didn’t opt in through your own capture channel almost never carries the specific consent SMS marketing requires, and sending to it exposes the programme to compliance risk while also damaging the sending number’s reputation with carriers, who track complaint and unknown-recipient rates closely. The growth that’s worth having comes from checkout opt-in, on-site prompts genuinely offering value in exchange for consent, and click-to-text placements, not from acquiring a list you didn’t build.
Conversational opt-in through customer service texts is a second growth channel worth naming: a support conversation started by the customer can, with an explicit follow-up opt-in question, convert into a marketing subscriber. This channel grows slowly compared with a pop-up, but the consent it produces tends to be clean, because the person actively started the conversation rather than being prompted by a discount offer, which matters if you’re ever asked to justify how a given segment of the list was built.
A post-purchase SMS opt-in prompt, sent to customers who already gave email consent at checkout but never saw an SMS-specific offer, is a third growth channel that’s easy to overlook. This converts an existing, engaged customer relationship into a second channel without any paid acquisition cost, though it still needs its own explicit opt-in step rather than being inferred from the email relationship already in place. Timing this prompt matters: asking immediately after a first purchase, once trust in the brand is highest, tends to outperform asking on a cold, unrelated touchpoint weeks later, though the exact lift is worth testing on your own list rather than assumed from another brand’s result.
How do you set send cadence for flows and campaigns together?
The most common cadence mistake isn’t sending too many campaigns; it’s treating flows and campaigns as separate budgets when they land in the same inbox. A contact who triggers an abandoned-checkout flow and is also included in a scheduled flash-sale campaign the same day receives two messages, even if each one individually respects its own frequency rule, because nothing is counting the two together.
The fix is a single per-contact cadence budget that flows and campaigns both draw from. Before a campaign sends, check whether the recipient list overlaps with anyone currently mid-flow, and suppress or delay the campaign message for that overlap rather than sending both. This is a segmentation and suppression rule to build once, not a manual check to repeat before every send, because it needs to hold under a Tuesday flash sale as reliably as it holds during a quiet week.
Quiet hours are the second cadence control worth setting deliberately. They should follow each recipient’s own local time zone, not the time zone your team works in, and they should block both flow and campaign sends equally, since a flow triggered at 11pm local time is just as unwelcome as a campaign scheduled for the same hour. A message that would otherwise send during quiet hours should hold and go out at the window’s open rather than sending late at an arbitrary time outside it.
Segmentation by engagement is the third lever. A contact who hasn’t opened, clicked or purchased from recent messages is a candidate for reduced frequency or a re-engagement track, not the same send volume as your most active subscribers. Treating your whole list as one cadence bucket wastes send volume on people unlikely to respond and drags down the reputation signals carriers use to judge the whole number.
Holiday and peak-season stacking is a fourth, less obvious cadence factor. Flows built and tested at a normal time of year can compound unexpectedly during a peak period, when a customer triggers a post-purchase flow, a shipping-update flow and a browse-abandonment flow within the same 48 hours purely because their overall activity on the site has increased. Reviewing cadence rules specifically ahead of a known peak period, rather than assuming rules built in a quiet month still hold, catches this before subscribers start opting out in volume.
Shared cadence budgets across multiple SMS-capable tools are a fifth factor worth naming. A brand running Postscript for marketing alongside a separate app for shipping notifications or a review-request tool that also texts is effectively running two SMS programmes against the same phone numbers, with no single cadence budget accounting for both. If a customer receives a shipping update from one tool and a promotional text from Postscript within the same hour, the frequency problem looks the same to the recipient regardless of which system sent which message, so cadence planning needs to account for every SMS-capable tool touching the same customer list, not Postscript’s sends alone. Auditing which apps on the store hold SMS-sending permission, and agreeing a shared cadence ceiling across all of them, closes this gap; treating Postscript’s own frequency cap as the whole picture leaves the other tools free to push the same contact over the limit unnoticed.
What determines whether an SMS message actually gets delivered?
Delivery is a carrier decision, not a Postscript decision, and it’s made using signals accumulated across every message a sending number has sent, not just the message in front of the carrier at that moment. Four factors dominate in practice.
Message content is the first: excessive links, shortened-URL domains that carriers flag broadly, all-capitals text, and language patterns associated with spam all raise the odds of filtering, independent of whether the message is legitimate. Sender registration is the second: in the US, application-to-person texting from a standard 10-digit number runs through 10DLC registration, and traffic from an unregistered or improperly registered number is filtered more aggressively regardless of content quality. Confirm your number’s registration status directly with Postscript support rather than assuming setup is complete, since an incomplete registration is invisible until delivery rates drop.
Volume relative to history is the third factor, and it’s the one that catches growing brands off guard: a sudden jump in send volume without a matching increase in sending history triggers carrier filtering across the whole number, not just the spike’s messages, meaning long-standing subscribers who were delivering normally can suddenly see their messages filtered too, purely because the number’s overall pattern changed. Recipient engagement is the fourth: carriers weigh how often a number’s messages get opened, clicked, or ignored and reported, and a number sending to a disengaged list trains carriers to treat its traffic with more suspicion over time, even when individual messages look clean.
Carrier behaviour also isn’t uniform across networks. Delivery and filter rates reported in aggregate can hide the fact that one major carrier is filtering a specific link domain or content pattern while others are delivering the same message normally. Reviewing delivery data broken out by carrier, not just as a single blended number, is the only way to catch a carrier-specific filtering issue before it looks like a general deliverability problem affecting the whole list.
What are the three failure modes that only show up once the programme is live?
Three failures don’t appear in a launch checklist because they only surface once a Postscript SMS programme has real subscriber volume and real send history behind it, and none of the three is documented clearly by any vendor because each one sits at the boundary between two settings rather than inside a single one.
Consent that covers flows but not campaigns is the first, and it’s the quietest to develop. A checkout consent checkbox is sometimes worded, or interpreted by the team that built it, as covering transactional and flow-triggered messages without clearly extending to broadcast marketing campaigns. The programme runs fine for months on flows alone, then the first broadcast campaign goes out to the full list and a portion of it turns out never to have consented to that specific type of message. The fix is a single audit: read your actual opt-in language against every message type your programme sends, flow and campaign both, and correct the gap before the next campaign, not after a complaint.
Flows and campaigns colliding on the same contact is the second, and it happens because cadence was never unified across the two message types in the first place; it becomes a failure mode specifically when a large campaign is scheduled without checking flow overlap, because the collision is invisible in testing, which rarely runs at full list volume, and only shows up in aggregate opt-out and complaint data after the send has gone out to everyone.
A list-growth spike outrunning sending reputation is the third. A giveaway, a viral moment, or a large paid-acquisition push can add thousands of new subscribers in days, and sending to them at full volume immediately, without a ramp, gets the number filtered broadly enough to affect delivery to subscribers who had nothing to do with the spike. The fix is the same ramp discipline that applies to any growth spike: treating every growth event as a sending-volume-planning event, not only a list-size event.
What connects all three is timing rather than any single setting being wrong. Consent, cadence and deliverability rules that are each individually correct in isolation can still interact badly the moment volume, a new flow, or a growth spike changes the conditions they were built under, which is why a scheduled review of the whole system catches problems that reviewing each setting on its own would miss.
Who shouldn’t run an SMS programme in-house on Postscript?
A brand without a clear owner for cadence and deliverability monitoring is the first group this doesn’t suit; SMS reputation degrades quietly, and without someone checking delivery and filter-rate data on a fixed schedule, the first sign of a problem is often a broad drop in campaign revenue with no obvious cause. A brand below the $3M revenue and Shopify Plus, or equivalent paid subscription platform, floor this article assumes is the second group; at lower volume, these failure modes take much longer to surface, and the operational overhead of managing them deliberately isn’t yet justified by the message volume involved. A brand that treats SMS as an occasional channel, switched on for big sales and left dormant between them, is the third group; sending reputation rewards consistency, and a stop-start pattern makes every reactivation look like a fresh spike to carriers, regardless of how established the list actually is.
Running an SMS programme well is ultimately a lifecycle flows problem, not a messaging-platform problem: consent, cadence and deliverability all depend on treating flows and campaigns as one connected system rather than separate tools, which is the work Pointerflow’s lifecycle flows service is built around. Before changing cadence rules or adding a new flow to the mix, running the existing flows through the flow revenue calculator helps size what’s actually at stake before touching a setting that’s already working.
Sources
- Klaviyo, benchmark data across 183,000+ brands: 41% of email revenue runs through automated flows rather than one-off campaigns (vendor-reported).