E-commerce
July 1, 2026
"I want delivery alerts by SMS but no more promos by email." "How do I stop WhatsApp messages without losing my order confirmations?" "I checked everything at checkout, I want to correct it channel by channel." Three requests that customer service still handles manually, often mixing up marketing, transactional, and GDPR consent.
A communication preferences AI chatbot does not just unsubscribe from a newsletter. It maps email, SMS, WhatsApp, and push notifications, applies granular consent per channel, synchronizes Klaviyo, Shopify, and your SMS provider, and escalates GDPR cases without exposing data.
This guide #382 covers intent detection, the PREF-FLOW flow, legal rules, and the pref_bot KPI. It differs from unsubscribe customer support (#381) (human agent process UNSUB-FLOW email only): here, we focus on multi-channel consent and preference bot automation.
Summary
Why automate communication preferences with an AI chatbot?
Multi-channel DTC brands receive preference requests via email, SMS, WhatsApp, and sometimes mobile push. Without automatic sorting, three issues quickly emerge.
Three problems without a preference bot
Channel confusion: an agent unsubscribes an email when the customer wanted to stop SMS
Unaudited consent: modifications made without a timestamp, source, or wording trace
Delay: pref_* tickets processed in 48 hours, during which the customer receives 3 promotions
EZ Texting estimates that by 2026, 89% of US consumers will be opt-in to at least one brand via SMS, but excessive frequency remains the primary reason for unsubscribing (EZ Texting, Consumer Texting 2026).
Angle #382 vs. related articles
Four pieces of content, four roles.
#381 Customer Service Unsubscribe: UNSUB-FLOW email marketing agents, macros, preference center.
#383 Future GDPR requests: data access, deletion, export (not channel preferences).
GDPR chatbot (#142 area): general bot compliance, legal bases, DPA.
#382 preference bot: multi-channel email/SMS/WhatsApp/notification automation with granular consent and sync ops.
SimpleTexting notes that by 2025, 31% of consumers will prefer to contact customer service via SMS, ahead of email and phone (SimpleTexting, SMS stats 2025). A bot that manages preferences on the same channel reduces friction.
DTC Example
Cosmetics brand Klaviyo + Attentive SMS + WhatsApp Business API, 68 pref/month tickets before PREF-FLOW bot. After pref_* intents: pref_bot_resolution 58%, pref_wrong_channel_rate -72%, consent_audit_coverage 100% on bot modifications.
Cost of a misrouted ticket
A customer stops promo SMS via bot but email marketing remains active: they contact customer service again in anger. A channel-by-channel PREF-FLOW prevents this scenario in 90 seconds of structured conversation.
How does the preferences bot differ from the unsubscribe customer service #381?
The communication preferences bot and the UNSUB-FLOW #381 process complement each other but do not replace one another.
#381: Customer Service email marketing ops
Processed channel: mainly Klaviyo email marketing
Actor: human agent + UNSUB-* macros
Output: marketing suppress, preferences center, transactional clarification
Ticket type: unsub_still_receiving, link broken, GDPR confusion
#382: multi-channel automation bot
Channels: email, SMS, WhatsApp, push (depending on stack)
Actor: 24/7 AI chatbot + handoff for sensitive cases
Output: consent update by channel, deep link preference center, audit log
Intent type: pref_email_off, pref_sms_reduce, pref_whatsapp_stop, pref_mixed
Complementarity
The #382 bot resolves 55 to 65% of pref_* intents in self-service. Post-bot still_receiving cases, ISP spam complaints, or data deletion requests go to #381 agents or future #383 GDPR.
ActiveCampaign points out that in 2026, orchestrating WhatsApp alongside email and SMS requires tracking opt-ins, preferences, and consent in a unified way (ActiveCampaign, WhatsApp guide 2026).
Distinction between marketing vs transactional
Both guides share the rule: marketing off is possible per channel, transactional (order confirmation, tracking, invoice) is kept except in case of GDPR deletion request #383. The #382 bot explains this distinction per channel before execution.
WhatsApp support vs preferences
WhatsApp Support (#131 area) handles WISMO and after-sales service. #382 manages WhatsApp marketing consent and broadcast opt-outs, not delivery tickets.
Which intent preferences should be mapped before the bot flow?
Mapping pref_* chatbot intents before configuration prevents a generic bot that routes everything to "contact support."
Fourteen main pref intents
pref_email_marketing_off: stop email promos, keep transactional
pref_email_frequency: weekly → monthly
pref_email_segment: promos yes, novelties no
pref_sms_marketing_off: STOP promo SMS
pref_sms_transactional_on: keep SMS delivery alerts
pref_whatsapp_marketing_off: stop WhatsApp broadcasts
pref_whatsapp_support_on: keep 24h support chat
pref_push_off: disable app/PWA notifications
pref_all_marketing_off: all promo channels off
pref_mixed_custom: email off, SMS on, WhatsApp off
pref_status_check: "which channels contact me?"
pref_opt_in_new: enable post-purchase SMS
pref_wrong_channel_fix: "I stopped email but SMS continues"
pref_gdpr_confusion: confuses deletion and preferences → handoff #383
Triggering Text Signals
Keywords: unsubscribe, STOP, preferences, too many messages, spam
Explicit channel: "your SMS", "WhatsApp promo", "newsletter emails"
Frequency: "every day", "once a week max"
Comparison: "email yes SMS no"
Post-bot helpdesk tags
pref_bot_resolved, pref_bot_handoff, pref_wrong_channel, pref_consent_updated, pref_audit_logged. Distinct from unsub_request (#381) and gdpr_erasure (#383).
90-day conversation mining
Export chats + pref/unsubscribe/spam tickets. Quantify top 5 intents. Prioritize MVP flows: pref_email_marketing_off, pref_sms_marketing_off, pref_mixed_custom, pref_status_check.
Low vs strong intent
Low: "too many messages" without a channel. Bot asks for clarification. Strong: "STOP promo SMS number 06XX". Bot executes pref_sms_marketing_off after identity verification.
How to structure the PREF-FLOW flow in eight steps?
The PREF-FLOW framework structures any bot preference changes into eight auditable steps.
Eight PREF-FLOW Steps
PF-1 Identify: email, phone, Shopify account if logged in
PF-2 Classify intent: relevant channel(s), marketing vs. transactional
PF-3 Display current status: consent snapshot per channel before modification
PF-4 Confirm choice: explicit recap "promo email OFF, delivery SMS ON"
PF-5 Run sync: API Klaviyo, Attentive, WhatsApp, Shopify customer
PF-6 Log audit: timestamp, source=bot, wording, agent_id=bot, IP hash
PF-7 Confirm customer: summary + 24-72h propagation delay if campaign queued
PF-8 Offer preference center: deep link /preferences for future adjustments
PF-2 decision tree
Customer says "stop everything" → bot distinguishes marketing (opt-out possible) and transactional (on except GDPR). Proposes pref_all_marketing_off channel by channel with explicit confirmation.
Unique soft off-ramp
Before pref_email_marketing_off: "Would you prefer 1 email/month?" Link to preference center. If refused → PF-5 without insisting. Aligned with #381 with no dark pattern.
PF-1 Identity Verification
Shopify connected customer: pre-filled email, OTP for sensitive changes
Guest: email + recent order number or email OTP
Incoming SMS STOP: match number → direct Attentive profile
WhatsApp: match active session wa_id
PF Escalation Handoff
still_receiving D+3, CNIL complaint, deletion request, multi-account conflict: pre-filled ticket to agent #381 or #383.
Conversational UX
"Step 3 of 5" indicator, quick reply buttons per channel, "Talk to an agent" option at any time. HubSpot estimates that beyond 4 static form fields, completion drops by ~11% per field (cited in B2B ecosystem 2026). The bot asks one channel question at a time.
How do I manage email, SMS, and WhatsApp separately in the bot?
Granular consent by channel is the 2026 rule: an email opt-in does not cover SMS or WhatsApp.
Email (Klaviyo / Shopify Email)
Marketing suppress: pref_email_marketing_off via Klaviyo API
Frequency: update custom property frequency=monthly
Segments: remove from Promo list, keep Newsletter tips
Transactional: shipping/order flows untouched unless GDPR
SMS (Attentive, Postscript, Klaviyo SMS)
STOP keyword: immediate TCPA/ARCEP honor, log PF-6
Marketing off: unsubscribe promotional segment
Transactional on: separate shipping_alert segment if stack allows
Opt-in new: SMS double opt-in if pref_opt_in_new, never activate without explicit consent
Sakari notes that in 2025, ~49% of SMS subscribers accept a promo every 15 days, 34-40% weekly (Sakari, SMS stats 2025-2026). The bot offers these frequencies before a full STOP.
WhatsApp Business API
Marketing broadcasts off: remove from Meta marketing list
Support 24h: conversational session remains active if customer writes
Promo templates: no longer sent without explicit WhatsApp marketing opt-in
Opt-out keyword: "STOP promo" vs "STOP all" (handoff if STOP all)
ActiveCampaign indicates a WhatsApp open rate of ~98% vs ~20% for email, hence the importance of an opt-out as simple as the opt-in (ActiveCampaign, WhatsApp 2026).
Push notifications (app / PWA)
Deep-link to app settings or OS instruction (iOS Settings). Bot cannot disable push without SDK: step-by-step guide + /account/notifications link if page exists.
pref_mixed_custom Matrix
Bot summary table before PF-5: Email promo OFF | SMS promo OFF | SMS delivery ON | WhatsApp promo OFF | WhatsApp support ON. Customer validates with one click.
How to sync Klaviyo, Shopify, and SMS providers?
The bot preference sync ops ensures that a conversational action propagates everywhere within 60s.
Recommended sync architecture
Bot detects pref_* intent and verifies PF-1 identity
Internal webhook → consent orchestrator (Zapier, Make, or in-house middleware)
Orchestrator calls APIs per channel in parallel
Shopify customer.marketing_consent updated if applicable
Audit log written (BigQuery, Airtable, or custom CRM field)
Bot confirms PF-7 with sync OK status or handoff if API fails
Klaviyo API actions
POST profile subscription bulk unsubscribe marketing
PATCH custom properties: pref_email_frequency, pref_sms_status
Remove from list IDs documented in Notion
Shopify customer
Set emailMarketingConsent.marketingState = NOT_SUBSCRIBED. SMS consent via CustomerSmsMarketingConsent if Shopify SMS. Do not delete customer record.
Attentive / Postscript
API unsubscribe subscriber by phone. Transactional shipping segment if dual-list architecture. Log subscription_id in audit PF-6.
WhatsApp BSP (Twilio, MessageBird, 360dialog)
Update marketing opt-in status. Respect 24-hour window: service messages OK if customer has written recently.
Idempotency and retry
Same pref executed twice (impatient customer) must not create an error. Retry 3x with backoff if API times out. Handoff to agent if failure persists.
Staging sync test
Test profile per channel. Execute pref_mixed_custom. Check Klaviyo profile, Shopify admin, Attentive dashboard within 5 min.
Alignment with #381 agents
Human agents use the same APIs via UNSUB-* macros (#381). Shared audit log prevents bot vs agent conflicts on the same profile.
Which legal consent rules must the bot comply with?
The consent preferences bot operates within a strict legal framework: GDPR, CNIL, TCPA, CAN-SPAM, Meta WhatsApp rules.
GDPR and CNIL (EU/FR)
Granular consent: separate checkbox per channel, never bundled
Revocation as simple as consent: bot = valid method
Proof of consent: PF-6 audit timestamp, source, wording
Email marketing: obstacle-free unsubscription (CNIL, email marketing)
TCPA and CAN-SPAM (US)
Promo SMS: prior express written consent, immediate STOP honored
Email: one-click unsubscribe, processing within 10 days (FTC, CAN-SPAM)
10DLC: carrier registration if A2P SMS US
WhatsApp Meta policies
Explicit opt-in for WhatsApp marketing. Approved templates for proactive messages outside the 24-hour window. Simple opt-out. Meta quality rating: too many blocks = account restriction.
What the bot must never do
Activate SMS marketing without explicit double opt-in pref_opt_in_new
Deactivate legal transactional emails without GDPR handoff #383
Modify preferences without minimal identity verification
Promise instant halt without mentioning a 24-72h propagation delay
Bundled consent: "OK for everything" in a single checkbox
Distinction between pref and erasure
pref_gdpr_confusion intent: bot explains the difference between marketing off vs. right to erasure. Handoff to GDPR chatbot or future #383 if client insists on erasure.
Compliance documentation
Processing register: mention pref bot as a means of exercising consent withdrawal for marketing. Bot provider DPA: consent audit logs clause.
How do you route bot handoff to agents for sensitive cases?
The bot preferences handoff transfers to a human any cases where automation alone creates a legal or relational risk.
Seven mandatory handoff triggers
still_receiving D+3: post PF-5, customer contacts back
spam / CNIL complaint: urgent tone, macro UNSUB-APOL #381
data erasure request: scope #383, not pref bot
multi-account conflicts: 2 emails, 3 numbers, merger required
API sync failure 3×: orchestrator down
unverifiable identity: guest without recent order
STOP ALL channels + chargeback threat: active recent customer
Structured handoff brief
Pre-filled ticket: email, phone, attempted intents, called APIs, audit_id, consent snapshot before/after, transcript of last 5 messages.
Handoff SLA
Spam complaint: agent within 2 business hours
still_receiving: flows audit within 4 hours
Standard pref handoff: 24 business hours
Bot feedback loop
Handoff tags analyzed monthly. Recurring pref_wrong_channel intent → patch flow PF-2. Aligned with weekly friction report (#281).
Agent training on pref bot
45 min: read audit log PF-6, complete manual sync if API fails, do not re-enable marketing without explicit customer consent.
Multichannel handoff
WhatsApp conversation → Gorgias email ticket if customer prefers written follow-up. Keep wa_id in ticket.
Which KPIs should the bot measure each month?
The communication preferences bot KPIs prove automation ROI and detect sync bugs.
Eight Key Metrics
pref_bot_resolution_rate: resolved without handoff / pref_* sessions
pref_wrong_channel_rate: wrong channel modified / total (target < 2%)
pref_handoff_rate: escalations / pref_* sessions
consent_audit_coverage: modifications with PF-6 log / total
pref_still_receiving_rate: follow-ups D+3 post-bot
pref_center_click_rate: deep link PF-8 clicks / sessions
pref_mixed_custom_rate: multi-channel configs / total (complexity)
spam_complaint_rate: complaints / sends (pref bot correlation)
DTC Benchmark post-PREF-FLOW
Targets: pref_bot_resolution > 55%, pref_wrong_channel < 3%, consent_audit 100%, pref_still_receiving < 5%, spam complaint handoff < 2 h SLA 95%.
Weekly Dashboard #support + #marketing
Volume by pref_* intent, top pref_mixed_custom combos, API fail rate by provider. Cross-reference unsub_ticket_rate #381: must decrease if active pref bot.
Sending Frequency Correlation
Spike in pref_sms_marketing_off after 3x/week campaign → adjust upstream marketing calendar. EZ Texting: 59% of consumers open to 2+ SMS/day in 2026 vs 69% in 2025, tolerance is declining.
A/B Test Soft Off-Ramp
Measure pref_center_conversion: customers who choose reduced frequency vs full off. Optimize PF-4 wording once per quarter.
Agent Time ROI
(Avoided pref tickets × 12 min agent) − bot cost = monthly savings. Brand 68 tickets/month, 58% bot resolution → ~28 agent hours freed.
Which multi-channel edge cases and mistakes should be avoided?
Eight bot preference edge cases require specific PREF-FLOW rules.
1. Pre-checked opt-in at checkout
Customer wants to correct post-purchase. Bot pref_mixed_custom without guilt-tripping. Explain where to uncheck for future orders. Aligned with CNIL non-pre-checked box.
2. Email A for purchase, email B for newsletter
PF-1 clarifies both. Modify both Klaviyo profiles if customer confirms. Otherwise risk of still_receiving on forgotten profile.
3. SMS STOP but WhatsApp promo continues
Independent channels. pref_wrong_channel_fix: execute pref_whatsapp_marketing_off as well. Explain granularity to the customer.
4. ESP migration Klaviyo → other
Sync bot points to old APIs → handoff. Double unsub audit on both ESPs.
5. B2B wholesale separate newsletter
Distinct B2B list. pref_email_marketing_off DTC does not touch trade@ list.
6. Guest without account
Search Klaviyo/Attentive by email/phone only. No Shopify customer update.
7. Customer wants zero contact except disputes
Marketing off all channels. Legal transactional retained. Document choices in PF-6.
8. Reactivation pref_opt_in_new
Double opt-in SMS mandatory. Email re-subscribe via voluntary preference center, no bot push without customer click.
Bot pref anti-patterns
Bundled "stop all" without distinguishing transactional
Delete Shopify customer instead of marketing suppress
No PF-6 audit log
Ignoring incoming STOP SMS outside of chat session
Win-back D+1 post pref_all_marketing_off
See avoid duplicate tickets if customer contacts email + chat + WhatsApp simultaneously.
How does Qstomy automate multi-channel preferences?
Qstomy automates PREF-FLOW on Shopify: pref_* intent detection, consent sync, and structured handoff.
Qstomy pref bot capabilities
pref_detect_multi_channel: email, SMS keywords, WhatsApp session
pref_consent_snapshot: marketing/transactional status by PF-3 channel
pref_execute_klaviyo: suppress, frequency, segment update
pref_execute_shopify: customer marketing consent flag
pref_preference_center_link: personalized /preferences deep link
pref_audit_log: PF-6 CRM webhook export
pref_handoff_ticket: pre-filled Gorgias/Zendesk brief
Addition #381
Qstomy resolves pref_* in self-service. Cases of still_receiving or spam complaints transfer to agent UNSUB-* macros (#381) with a shared audit.
Quantified DTC scenario
Klaviyo + Attentive accessories brand, 72 pref tickets/month, pref_bot_resolution 0% (100% agents).
After Qstomy PREF-FLOW intents: pref_bot_resolution 61%, pref_wrong_channel_rate 2.1%, unsub_ticket_rate #381 -34%, consent_audit_coverage 100%, agent pref time -31 h/month.
Explore AI customer support, conversation analytics and request a demo.
Integrations
Webhooks to Attentive, Postscript, WhatsApp BSP. Orchestration via middleware or native depending on stack. Staging test mandatory before Black Friday (post-campaign pref peak).
What is the checklist for deploying PREF-FLOW bot?
PREF-FLOW bot checklist (12 steps)
Audit pref/unsubscribe/spam tickets 90 days per channel
Map 14 intents pref_* section 3
Document consent snapshot per channel (Klaviyo, SMS, WhatsApp)
Configure PF-1 to PF-8 flow bot + quick replies
Connect sync APIs orchestrator + idempotence
Enable audit log PF-6 (timestamp, source, wording)
Publish multi-channel preference center /preferences
Define 7 handoff triggers + ticket brief
Train agents 45 min (audit log, complete sync fail)
Staging profile tests per channel pref_mixed_custom
Weekly pref_bot KPI dashboard #support + #marketing
Quarterly legal review + win-back exclusion flows
In short
#382 = multi-channel bot, #381 = customer service email agents
PREF-FLOW: 8 steps identify → preference center
Granular consent: separate email, SMS, WhatsApp
Audit PF-6: mandatory 2026 compliance
KPI pref_bot_resolution: target > 55%
FAQ
Difference with #381 newsletter unsubscription?
#381 = email UNSUB-FLOW agents process. #382 = preferences bot automation email + SMS + WhatsApp + notifications.
Can the bot activate SMS marketing?
Yes via pref_opt_in_new with explicit double opt-in. Never silent activation.
Customer wants to stop order confirmations?
Bot explains legal transactional emails/SMS. Handoff #383 if data deletion request.
STOP SMS received outside chat?
SMS provider honors immediately. Bot sync PF-6 if bidirectional integration. Audit same rules.
Delay to stop promos after bot?
24-72 hours propagation for queued campaigns. Bot systematically mentions PF-7.
Go further
Test PREF-FLOW this week: simulate pref_mixed_custom (email off, SMS delivery on) on staging profile, check Klaviyo + Attentive sync + audit log in less than 5 min.
Share this guide #382 with support, marketing, and DPO: a well-configured preferences bot transforms multi-channel consent into a trust, measurable, and compliant benefit.

Enzo
July 1, 2026





