Klaviyo's November 4 engineering post by Anuj Shroff and the matching Help Center article updated November 5 put Personalized Content into SMS flows as a paid Personalization feature. The pitch is simple: one baseline you wrote becomes the starting point, and AI adapts tone and product naming for how engaged each shopper looks right now, while your links, offers, and dynamic tags stay put.
The operator problem is narrower. This is not free-form SMS rewriting and it is not Composer drafting a campaign from chat. It is a gated variant system: four automatic checks can throw a version away and send your original, an automatic A/B split holds a control group on that same baseline, metrics stay greyed until roughly 90 percent statistical significance, and editing the baseline or flipping the toggle off and on resets the comparison. Before Black Friday SMS volume spikes, the job is setting brand voice, choosing which of the six supported flows get the toggle, leaving those baselines alone while the test runs, and deciding in writing what you will do if confirmed personalized copy underperforms the control.
This is a docs-based review. I have not opened a Klaviyo tenant, toggled Personalize this message, or watched Performance leave grey. Sources are Shroff's November 4 post, the November 5 Help article, Personalization billing pages for who pays, the August 25 What's New beta note, and Everboost's October 7 Personalization explainer (secondary, package context). Vendor engagement claims are claims, not my measurement.
What it is
Personalized Content in Flows uses AI to adapt SMS copy inside a flow based on how engaged a customer is with your brand. Your baseline is the starting point. Nothing is written from a blank page. Help says it adjusts tone and handles the product name so the line fits the shopping journey. If the baseline includes a product name tag, Personalized Content rewrites that name the way a shopper would say it, so a long catalog string can come through shorter. If the baseline never mentions a product, it can add one from your catalog. It does not invent SKUs.
The six supported flows are Added to Cart, Viewed Product, Started Checkout, Back in Stock, Price Drop, and Win Back. Channels are SMS and plain-text RCS. It does not appear on RCS cards, MMS, email, or push. The toggle sits on the message itself, not the flow, so each SMS needs its own switch. You can turn it on while a flow is live. Samples under the toggle use tabs for Active Shopper, Considering, Exploring, and Unknown. Unknown covers profiles without enough signal. Samples are examples for similar types, not the exact text any one person receives.
Shroff frames the engineering choice as reusable variants for shopper groups rather than a unique one-off for every profile. Today that means four intent groups. The blog labels them high, medium, low, and unknown. The Help UI labels them Active Shopper, Considering, Exploring, and Unknown. Read those as the same four-bucket system with different labels. Help says engagement comes from products added and browsed, visit frequency over the last 15 and 30 days, and marketing messages sent in the past week across campaigns and flows, excluding conversational and transactional messages. When signals are missing, the copy stays neutral and leans on the flow's own context.

What changed
Until now, a flow SMS said the same line to every trigger. Conditional splits and hand-written branches were how you approximated intent. Personalized Content moves that branching into a Personalization-package feature with built-in safeguards and a built-in test.
What is new for operators is the control surface, not a new channel. Brand voice (Content > Media & brand > Brand > Voice) is the main dial for tone, emoji, punctuation, and banned claims. Preview samples before save. Performance lives on the message, not in flow analytics. The automatic A/B starts when you toggle on: Help says entrants are split evenly, so about half get personalized copy and half get your original. You do not configure a separate test. You cannot turn it on for a message with an active A/B test. End that test first.
The package gate is real. Help says Personalized Content needs the Personalization package, formerly Marketing Analytics, or Advanced KDP which already includes those features. Klaviyo Help prices Personalization from $100 per month for up to 13,500 active profiles. Everboost's October 7 partner write-up (secondary) repeats that band and the September 2026 rename at K:BOS. Confirm your invoice band in Billing rather than treating the product-page slider default as the band limit.
Language is a documented conflict, not a silence. Shroff's November 4 post says Personalized Content works on English SMS and the text in RCS messages in those six flows. The November 5 Help article says Personalized Content works in all languages and runs after localization and Smart Translations, so a customer who would receive a localized message gets a personalized version in that same language. State both. Do not pick English-only or all-languages as settled without the other sentence sitting next to it.
What works
The four automatic checks are the load-bearing design choice. Per Shroff, each variant must stay within the length framing of your original, keep all original links and add none, pass the same compliance checks as any other message, and follow brand voice settings. Fail any check and the shopper gets your original, the same message the control group receives. That is a safer default than silent free-form rewrite.
The automatic holdout is the second load-bearing choice. Personalization has to earn its place against the copy you already approved. Conversion matters most in the engineering post; click rate is the early signal. Help adds that Open rate appears for RCS but not for SMS. Metrics stay greyed until about 90 percent significance, marked confirmed when they get there, each on its own clock. A high-volume abandoned cart flow may confirm in a few weeks; a thinner flow can take months. Shroff's "couple of months" guidance matches that patience requirement.
Baseline fallback for restricted catalog categories is an operator-friendly edge. Help says alcohol, firearms, and tobacco fall back to the baseline product by product, not as a whole-account kill. Age-gating and prohibited-content accounts are different: the option is missing account-wide. Know which failure mode you are in. Group assignment on enter is conservative. If personalization fails for someone already in the personalized group, they still count there in reporting, which can understate lift slightly, never overstate it. Treat the figure as a floor.
What breaks or is undocumented
English vs all-languages. Blog: English SMS (+ RCS text). Help: all languages after localization / Smart Translations. Document both until Klaviyo reconciles the launch post with Help. If your SMS program is multilingual, verify sample tabs in each locale before you trust the Help sentence alone.
Length vs segment count. Blog says variants stay within the length of the original so they do not cost more to send. Help says Klaviyo aims for the same SMS segment count as a best effort, and a personalized message can occasionally run longer. For credit planning, prefer Help's "best effort, rare longer" language over the blog's harder guarantee.
Intent labels and grader. Map blog high/medium/low/unknown to UI Active Shopper / Considering / Exploring / Unknown carefully. Unknown is insufficient signal in both. Shroff describes a forthcoming engagement grader that will choose which variant a shopper receives, starting in shadow mode. It is not available today. Do not plan Black Friday SMS on grader selection. Composer is named as a future learner of angles in the engineering post. This review's thesis is the gated toggle, the four checks, and the automatic A/B, not Composer credits or MCP.
Reset traps and channel limits. Editing baseline copy, changing offers or tags, or toggling Personalized Content off and on all reset what the comparison measures. Turning it off hides the Performance section while results are kept. Custom trigger metrics on an otherwise supported flow type may need Support to enable the option. No RCS cards, MMS, email, or push. No whole-flow master switch. No coexistence with an active manual A/B on the same message.

Who it's for
Lifecycle and CRM operators already on Klaviyo SMS who own the six high-intent flows and can set brand voice before BFCM volume. Ecommerce marketers who want adaptive cart, browse, checkout, back-in-stock, price-drop, and win-back texts without hand-building four conditional branches per message. Marketing ops leads who will own the Performance grey-out window, the leave-the-baseline rule, and the underperform playbook.
Weaker fit if you lack the Personalization package or Advanced KDP, if your account is age-gated or prohibited-content (option missing everywhere), if compliance cannot tolerate AI-adapted SMS even with baseline fallback and a control group, or if you expected free-form rewriting across email and push. Also weak if you planned to keep editing Black Friday baselines weekly while a test runs.
Pricing and limits
Personalized Content is included with the Personalization package (formerly Marketing Analytics) or with Advanced KDP. Help prices Personalization from $100 per month for up to 13,500 active profiles, scaling with active profile count. It is an add-on beside email and profile plans. Limits from primary sources: six flows only; SMS and plain-text RCS only; toggle per message; no active A/B coexistence; four automatic checks with baseline fallback; automatic even-split test; metrics greyed until ~90 percent significance; restricted product categories fall back product-by-product; age-gating / prohibited-content accounts hide the option account-wide; editing baseline or toggling resets the comparison; grader not available today. Confirm language behavior against both the English framing in the blog and the all-languages claim in Help for your locales.
What to do this week
Set brand voice first. Open Content > Media & brand > Brand > Voice. Add voice descriptors and writing rules that ban claims, emoji habits, and punctuation you will not defend in a carrier review. Brand voice applies account-wide to personalized messages.
Pick which of the six flows get the toggle before you spray all of them. Help recommends broad coverage because each message runs its own comparison and more volume reaches significance sooner. For BFCM week, prefer highest-volume cart and checkout SMS first, then browse, back-in-stock, price drop, and win-back once samples look on-brand. End any active A/B on those messages before the toggle will unlock.
Preview the four sample tabs (Active Shopper, Considering, Exploring, Unknown) and save only after the shortened product names and tone look like you. Leave the baseline alone once the test is running. Put a one-line freeze note in your flow changelog: no copy, offer, or tag edits on toggled messages until a metric is marked confirmed or you deliberately reset.
Write the underperform playbook now, not after grey turns confirmed. If a confirmed metric shows personalized behind control at healthy volume, Help says turning Personalized Content off for that message is a reasonable call and your baseline goes to everyone from that point. Name who may flip that switch during BFCM. Calendar a mid-test check so greyed numbers are not treated as a verdict. Ask Klaviyo Support three written questions if your program is multilingual or uses custom triggers: whether your locales match the Help all-languages path or the blog's English framing; whether custom-trigger variants of the six flow types need enablement; and how often personalized SMS exceed baseline segment count at your volume. Ask before peak weekend sends, not during them.




