What the Postscript Shopify integration actually syncs
The Postscript Shopify integration is a real-time link for some fields and a scheduled link for others, and the difference between the two decides whether your abandoned-checkout flow fires on the customer’s current cart or one from an hour ago. Customer records, phone numbers, marketing consent state and order status move through Shopify’s webhook system, so a paid order or a new customer signup reaches Postscript within seconds under normal load. Discount codes and product catalogue data move differently. Postscript does not read Shopify’s discount ledger live; a code referenced in a flow has to be generated or checked through a separate call, and a code you edit or delete in Shopify’s admin does not retroactively correct a message that already sent.
Order line items sync with enough detail to build a “you left these in your cart” message, including product name, price and quantity at the time of checkout. What does not travel cleanly is anything that depends on Shopify’s newer commerce surfaces: bundles built with Shopify’s bundle app, custom line-item properties added by a checkout extension, and B2B-specific pricing on Shopify Plus catalogues. If your store sells through more than one of these mechanisms, test each path individually rather than assuming a working consumer checkout flow also works for a wholesale or bundled one.
The integration’s API scopes are worth checking directly rather than assumed, because they define the ceiling of what Postscript can act on. A store that grants only customer and order scopes, without product or discount scopes, will find that flows referencing live product data or dynamic discounts behave differently from a store that granted the fuller scope set at install. If a flow you’ve built stops updating a field correctly after an app reinstall, a narrowed permission scope is one of the first things worth checking before assuming the flow logic itself is broken.
Customer merge behaviour is the sync detail that causes the most support tickets. Shopify treats a guest checkout and a later account signup from the same email as two records until they are explicitly merged; Postscript inherits whichever record it saw first. A customer who texts in on their phone, then checks out as a guest with a different name spelling, can end up with two Postscript profiles carrying different consent states. This is not a bug so much as an inherited limitation: Shopify’s own customer deduplication is the ceiling on what any app built on top of it can guarantee, and no third-party app can merge records more cleanly than the platform underneath it allows.
Refunds and cancellations sync as their own event, separate from the original order, and a flow that only listens for order paid or order fulfilled has no visibility into a later refund unless it is built with a specific refund trigger. Stores that send a review-request or replenishment flow a fixed number of days after purchase, without checking for a refund in between, sometimes ask a customer to review or reorder a product they returned weeks earlier. Building a refund-check condition into any post-purchase flow closes this gap, but it has to be added deliberately; it is not a default behaviour of the integration.
Which Shopify events trigger a Postscript flow
Checkout started is the trigger most stores build first, firing when a shopper enters payment details or an email at checkout and then leaves without completing the order. Order created and order paid are two separate events, not one; a store using manual payment methods like bank transfer or cash on delivery can see a meaningful gap between the two, and a flow built to assume they happen together will fire a “your order is confirmed” message before payment has actually cleared.
Order fulfilled drives shipping-notification flows, and it is worth checking how your fulfilment provider reports status back to Shopify, because a third-party logistics integration that batches updates once a day turns a same-day fulfilment into a next-day notification from the customer’s point of view. Customer created fires on account signup and, separately, on a first guest checkout, so a flow meant only for new-account welcome messages needs a filter condition, not just the trigger itself, or it double-fires for shoppers who check out as guests and later create an account.
Back-in-stock is the trigger most commonly bolted onto Postscript through a connected app rather than Shopify’s core event set, since Shopify itself does not fire a single unified “restocked” event across every inventory-tracking method a store might use. If your store tracks inventory across multiple locations, confirm with Postscript support which location’s stock level the trigger actually watches, because a restock at a secondary warehouse does not always fire the same way as one at your primary location.
Cart update, as distinct from checkout started, is not a standard Postscript trigger for most stores; a shopper adding and removing items before ever reaching checkout generally does not generate a flow event. If your growth plan depends on catching that earlier moment in the funnel, confirm it is available on your current plan rather than assuming parity with checkout-stage triggers.
Order edited is a further event worth naming, because it is easy to overlook. A merchant who manually adjusts an order in Shopify admin, adding a line item or changing a shipping address after the original order fired its confirmation message, does not automatically trigger a corrected message unless a specific flow is built to listen for that edit. Left unaddressed, the customer’s confirmation message reflects the original order, not the corrected one.
Where the integration breaks under volume
Three break points account for most of the support tickets stores raise about the Postscript Shopify pairing, and none of them are documented as a limitation on either vendor’s marketing pages.
Webhook backlog during a peak sale is the most disruptive of the three, because it doesn’t lose data, it delays it, which is harder to notice than an outright failure. Shopify’s webhook delivery is reliable but not instant, and under the order volume of a major promotion, the queue between a Shopify event firing and Postscript receiving it can stretch from seconds to hours. An abandoned-checkout message timed to arrive 60 minutes after cart abandonment can arrive well after the sale has ended, at which point sending it at all does more harm than good. The fix is not a setting inside Postscript; it is a flow-level rule that suppresses or re-times messages once a promotion has closed, built and tested before the next peak event, not during it.
Consent-field conflict is the second, and it shows up when more than one app writes to the same Shopify customer record. Stores running Postscript alongside a loyalty app, a subscription app, or Shopify’s own native marketing tools sometimes see a customer’s SMS consent flip between subscribed and unsubscribed states with no message ever having been sent to trigger it, because two apps are racing to update the same field. The fix is to audit every app with write access to customer marketing fields and confirm which one is treated as the source of truth for SMS consent specifically, in writing, before a second app is installed rather than after subscribers start disappearing from campaigns.
Stale product data on high-change catalogues is the third, and it grows worse the faster your catalogue turns over. A store that runs frequent flash restocks, limited drops, or rapid price testing can see an abandoned-cart message reference a product that is now out of stock, mispriced relative to a current promotion, or renamed. Product sync on most integrations runs on an interval rather than instantly, so the gap between a catalogue change and Postscript reflecting it widens as catalogue change frequency rises. The fix is to route high-volatility products through a shorter message delay or exclude them from automated flows entirely, sending only a manual campaign once the catalogue has settled.
App-install ordering is a further pattern worth naming, even though it sits outside the three most common break points: installing Postscript after a subscription or loyalty app is already live sometimes leaves historical customer records unsynced until a manual backfill runs, because the integration’s default behaviour is to sync forward from install rather than to retroactively pull every existing customer. Ask Postscript support directly whether a backfill is included at setup, rather than assuming your full existing customer base is covered from day one.
What should you ask Postscript before switching on the Shopify integration?
A short list of setup questions, asked before launch rather than discovered after, avoids most of the trouble caused by webhook backlog, consent-field conflicts and stale catalogue data. Ask which API scopes the integration requests at install and whether product and discount scopes are included by default or need to be added separately. Ask whether existing customers are backfilled into Postscript automatically or whether a manual export and import is required to cover anyone who signed up before the app was installed.
Ask how the integration behaves during a webhook backlog: does a delayed trigger still fire with its original delay timer, or does the delay timer start from when Postscript actually receives the event, because the two produce very different message timing during a peak sale. Ask which apps, if any, you already run that also write to Shopify customer marketing fields, and confirm with Postscript support which system should be treated as the source of truth for SMS consent specifically.
Ask about refund and cancellation coverage for any post-purchase flow you plan to build, since this is not covered by default in most flow templates and has to be added as its own condition. And ask, in plain terms, what happens to your sending number and consent records if you ever need to leave, because that answer shapes how much switching cost you are taking on now in exchange for whatever the integration gets you today.
Postscript vs Klaviyo SMS on Shopify: what each is for
Postscript was built as an SMS-first platform with Shopify as its primary integration target from the start; Klaviyo built SMS as a channel inside a platform whose original strength is email, and its Shopify integration reflects that history, with unified customer profiles across both channels. Neither is a strict upgrade over the other; they suit different operating models.
| Postscript | Klaviyo SMS | |
|---|---|---|
| Primary use case | SMS as a dedicated channel with its own team and cadence | SMS as one channel inside a combined email-and-SMS lifecycle programme |
| Shopify integration depth | Native app, SMS-specific event set and consent handling | Native app, shares customer profile and event data with email flows |
| Segmentation | Built around SMS-specific behaviour and consent state | Segments span both channels from one profile, useful if email and SMS decisions overlap |
| Best fit | Teams treating SMS as its own growth channel with a dedicated owner | Teams that want one segmentation logic driving both email and SMS |
| Migration friction if you switch | Loses shared segmentation with email if you were relying on it | Loses SMS-specific tooling built around a single-channel workflow |
The table’s practical takeaway is about ownership, not feature counts: if the same person or team owns both email and SMS strategy and wants one audience logic driving both, a combined platform removes a coordination step. If SMS has its own manager, its own cadence rules and its own budget separate from email, a dedicated SMS platform avoids forcing that team to work inside someone else’s segmentation model.
What migrating between Postscript and Klaviyo SMS actually costs
Neither vendor publishes a migration-effort figure, because it depends on how many flows exist, how customised they are, and how the consent history was originally documented. What follows is the assessment neither vendor’s site walks you through.
Flow rebuild is the largest line item. Every live flow, not just the message copy but the trigger logic, delay timing, and exit conditions, has to be recreated by hand in the new platform; none of this transfers automatically between vendors. As an illustrative example only, a brand running twelve live flows with simple single-message logic might rebuild in a week of focused work, while the same brand running twelve flows with branching logic, A/B tests and multiple delay steps should expect several weeks, because each branch has to be tested individually rather than assumed to carry over correctly.
Consent re-verification is the second cost, and the one most often underestimated. Depending on how the original opt-in was documented, moving a subscriber list to a new sending platform can require re-confirming consent before campaign sends resume at full volume, particularly for contacts whose original opt-in language or record-keeping does not meet the new platform’s import standards. Confirm the specific requirements for your situation with counsel before migrating a list, since the right answer depends on how consent was originally captured and what records exist.
Reporting continuity is the third cost, and it is permanent rather than temporary. Historical SMS performance data generally does not transfer between platforms, so year-over-year comparisons break at the migration date, and any dashboard or report built against the old platform’s data has to be rebuilt against the new one. Before committing to a switch, run the flows you would be rebuilding through the flow revenue calculator, so the size of the rebuild is weighed against the actual revenue those flows carry rather than a guess based on how many of them exist.
Sending-number continuity is the fourth cost, and it is the most operationally disruptive if it is missed. A dedicated short code or toll-free number generally cannot move between vendors the way a domain name moves between email providers; a fresh number starts with no sending history, which affects how carriers treat its early volume. Budget a deliberate ramp-up period for a new number rather than resuming full send volume from day one.
Bolt-on app compatibility is a fifth cost worth naming, because it is easy to price out the platform switch itself and forget the apps built around it. A loyalty app, a subscription app or a review-request app that currently reads SMS consent or engagement data from one platform may need its own reconfiguration once that data source changes, and each of those apps has its own support queue and its own timeline, which rarely aligns neatly with the core platform migration.
Who the Postscript Shopify integration is not for
A brand below the $3M revenue mark, or one not yet on Shopify Plus or an equivalent paid subscription platform, is unlikely to see enough order and message volume to justify the monitoring, vendor questions and migration planning a Postscript Shopify integration demands at this level of detail; at that stage, a simpler built-in tool or a lighter app is the better starting point, and this comparison is written for the stage after that one. A brand whose SMS and email strategy are tightly coupled, with the same segments driving both channels and one team owning both, generally loses more than it gains by running SMS on a separate platform from email, regardless of which vendor it picks. And a brand expecting a Shopify integration to be a fire-and-forget connection, with no ongoing monitoring of webhook delivery, consent-field conflicts or catalogue sync lag, is better served by budgeting for that monitoring work upfront than discovering it during a peak sale.
Postscript’s Shopify integration, and the choice of whether to run it alongside or instead of Klaviyo SMS, is ultimately a lifecycle flows problem: the value sits in whether triggers fire on time, whether consent state is trustworthy, and whether a migration protects the flows already earning revenue rather than resetting them to zero. That is the work Pointerflow’s lifecycle flows service is built around.
Sources
- Klaviyo, benchmark data across 183,000+ brands: 41% of email revenue runs through automated flows rather than one-off campaigns (vendor-reported).