E-commerce
July 1, 2026
"-30% on the site, the store refuses the price." "My newsletter code doesn't work in-store." "The salesperson says the offer doesn't exist on the shelves." Three tickets where a web-only offer creates omnichannel friction on the physical side.
The online-only e-commerce offer support covers exclusive web promos, rejected POS codes, checkout guidance, and store alternatives if MAP. Distinct from store-only offer (#965): here, exclusively online by design and purchase channel arbitration.
This guide #967 deploys policy ONLINEONLY-SUP, flow OO-1 to OO-8, and matrix ONLINEONLY-MAP. Customer service duo of the future: web offer bot (#968).
Summary
Why do web-only offers generate tickets?
Flash email, newsletter code, or exclusive web DTC promo attracts the customer to the store to try the product. The salesperson scans the POS code, but the web price does not apply. When channel_scope = online_only, the ticket is escalated to online customer service or retail. Without ONLINEONLY-MAP, the agent promises the offer in-store or denies it without an online_url map.
Five typical frictions for web-only offers
Code rejected in-store: promo_code_web invalid at checkout POS
Misunderstood channel: customer believes the offer is valid everywhere
Web price ≠ shelf price: online discount not applicable physically
No checkout guidance: customer does not know how to order online
Salesperson escalation: store staff disputes the web exclusivity
DTC omnichannel example
DTC cosmetics Shopify + 28 corners, 11 onlineonly_ tickets/month. After ONLINEONLY-MAP: onlineonly_resolution_rate 88%, ad hoc store gestures -38% in 7 weeks.
ONLINEONLY #967 vs STOREONLY #965, NEWSLETTER, PRXDIFF #747, PROMO and bot #968
Seven reverse channel promo pieces of content, seven distinct angles.
Quick Matrix
#967 ONLINEONLY: web-only offer, not applicable in store, checkout guidance
STOREONLY #965: store-only offer, reverse, distinct web exclusivity
PRXDIFF #747: price gap, same SKU, distinct promo channel-specific
General PROMO: active offers, both channel agents, distinct online_only
NEWSPIK #923: email traffic peak, distinct web promo code exclusivity
NOFFER #924: newsletter bot, active offer, distinct online_only channel
#965 = store only. #967 = web only, online exclusivity.
Promise #967
ONLINEONLY-SUP policy, ONLINEONLY-GATE tree, 8 macros, web promo registry, onlineonly_resolution_rate KPI.
Which onlineonly_* typologies should be classified?
Action-oriented classifier: code ≠ channel ≠ checkout ≠ store ≠ staff.
Eight ONLINEONLY-MAP typologies
onlineonly_code_store_reject: promo_code_web rejected at store POS
onlineonly_channel_confusion: customer believes offer is valid in-store
onlineonly_checkout_guide: asks how to use web code
onlineonly_store_alt_ask: customer wants store equivalent
onlineonly_price_web_lower: web price lower, frustration on the shelf
onlineonly_click_collect: web order, store pickup map
onlineonly_store_staff_escalate: sales assistant disputes web exclusivity
onlineonly_ops_flag: retail signal to clarify channel messaging
Tags: onlineonly, web_offer, channel_specific, online_exclusive. ONLINEONLY-MAP-GROUNDED: online_url promo_code_web from only registry.
ONLINEONLY-SUP Policy: agent rules and web promo registry
The ONLINEONLY-SUP policy sets checkout guidance without honoring the online_only offer in-store outside of policy.
Six ONLINEONLY-SUP rules
WEB-REGISTRY-FIRST: check ONLINEONLY-MAP before offer response
CHANNEL-GROUNDED: cite channel_scope channel_explain_copy map
CHECKOUT-GUIDE-CITE: online_url promo_code_web if onlineonly_checkout_guide
NO-STORE-HONOR: do not honor online_only in-store outside of goodwill
CLICK-COLLECT-CITE: click_collect_url if store pickup map
Handoff #968: brief bot to guide channel widget
Minimum web promo registry
onlineonly_id: web offer identifier
offer_name: marketing campaign name
channel_scope: online_only both store_only map
promo_code_web online_url: Shopify landing checkout code
channel_explain_copy: authorized text for agents to explain exclusivity
store_alt_offer: in-store alternative if map exists
click_collect_url: store pickup after web order
expiry_date staff_brief_url: validity of retail staff brief
Flow OO-1 to OO-8: web-only offer ticket processing
Eight steps: intake lookup verify classify respond guide cc staff log closure.
Flow OO-1 to OO-8
OO-1 Intake: onlineonly_* intent + city store web code
OO-2 Offer lookup: WEB-REGISTRY offer_name promo_code
OO-3 Shopify verify: promo_code_web channel exclusions live
OO-4 Classify: channel checkout code alt cc staff
OO-5 Respond: macro ONLINEONLY grounded channel_explain
OO-6 Checkout guide: online_url promo_code_web steps
OO-7 Staff cc: staff_brief click_collect or ops flag retail
OO-8 Log: KPI onlineonly + brief registry correction
SLA: onlineonly_channel_confusion channel_explain_copy + online_url in one interaction if map exists.
Eight ready-to-paste ONLINEONLY-* macros
Web guidance macros without honoring online_only in-store outside policy.
ONLINEONLY-* Library
ONLINEONLY-CHANNEL-01 : "Offer {{offer_name}} valid on the web shop only. {{channel_explain_copy map}}."
ONLINEONLY-CODE-01 : "Code {{promo_code_web}} : valid for web checkout. Not applicable at in-store checkout."
ONLINEONLY-CHECKOUT-01 : "Order here: {{online_url}}. Code: {{promo_code_web}}. Validity: {{expiry_date}}."
ONLINEONLY-CC-01 : "Order online then pick up in-store: {{click_collect_url map}}."
ONLINEONLY-STOREALT-01 : "Current in-store offer: {{store_alt_offer map}}. Web exclusive: {{offer_name}}."
ONLINEONLY-STAFF-01 : "Staff brief: {{staff_brief_url map}}. Web exclusivity confirmed."
ONLINEONLY-BOTH-01 : "Offer valid online and in-store: {{online_url}} + stores map."
ONLINEONLY-DONE : "Ticket summary {{id}}. Resolution: {{résolution}}."
ONLINEONLY-GATE tree and retail web coordination
Decision tree before honoring web offer in store or refusing without checkout guidance.
ONLINEONLY-GATE
Offer or code cited? → offer lookup OO-2
channel_scope online_only? → CHANNEL-01 channel_explain
Code rejected in store? → CODE-01 channel exclusions
How to order? → CHECKOUT-01 online_url promo
Store pickup desired? → CC-01 click_collect_url
Store equivalent? → STOREALT-01 if map exists
channel_scope both? → BOTH-01 online + stores
Price discrepancy same SKU? → reroute PRXDIFF #747
Web promo launch ritual D-0
Marketing publishes ONLINEONLY-MAP: active promo_code_web, tested online_url, shared retail staff_brief_url. Bot #968 syncs go-live.
KPI, QA and handoff to bot #968
Measuring ONLINEONLY detects messaging channel blur and ad hoc store gestures.
Five ONLINEONLY KPIs
onlineonly_resolution_rate: tickets resolved without honoring online_only ad hoc store
onlineonly_checkout_guide_rate: % of CHECKOUT-01 tickets with online_url provided
onlineonly_channel_cite_rate: % of CHANNEL-01 tickets with channel_explain provided
onlineonly_staff_escalate_rate: staff tickets contesting exclusivity
onlineonly_store_honor_violation: web discounts honored, target store 0
Handoff #968
Export ONLINEONLY-MAP to bot: onlineonly_code_store_reject onlineonly_checkout_guide onlineonly_channel_confusion elements are priority. Guardrail CHANNEL-GROUNDED brief #968: bot cites online_url promo_code_web map only.
Edge cases: newsletter, both channels, BOPIS, in-store only offer
Four cases outside the standard flow.
Exclusive newsletter code
CHECKOUT-01 + alignment NEWSPIK #923 if email pic map.
Offer valid online and in-store
channel_scope both : BOTH-01. No ONLINEONLY if applicable in-store promo.
Customer wants to try in-store, buy on web
CC-01 click_collect_url + CHECKOUT-01 order guidance.
In-store-only promo confused
Reroute STOREONLY #965 if channel_scope store_only inverse.
Agent training: 20 minutes ONLINE ONLY
Module: WEB-REGISTRY, distinguish STOREONLY #965 PRXDIFF #747 NEWSPIK bot #968.
Exercises
Ticket A: store rejected web code → CODE-01 CHANNEL-01
Ticket B: customer doesn't know how to order → CHECKOUT-01 online_url
Ticket C: in-store pickup → CC-01 click_collect
Ticket D: salesperson disputes → STAFF-01 staff_brief_url
How Qstomy structures ONLINEONLY in your stack
Qstomy on Shopify: onlineonly_* route, web promos registry sync, CHANNEL CHECKOUT CC macros and handoff #968 checkout guide gate.
Three building blocks
Routing: intent online_only vs store_only vs newsletter
Web offer registry: scope promo_code online_url click_collect
Bot #968: tier 1 guide purchase channel widget
Scenario: DTC cosmetics 28 corners. Day 0 Registry web promo. onlineonly_resolution_rate 88%, store_honor_violation 0.
Explore AI support and request a demo.
FAQ and ONLINEONLY deployment checklist
FAQ
Honor web offer in store?
No if channel_scope online_only. NO-STORE-HONOR. CC-01 if map pickup.
Difference STOREONLY #965?
#965 = store only. #967 = web only online exclusivity.
Difference PRXDIFF #747?
#747 = price gap same SKU. #967 = channel promo not applicable in store.
Difference #968?
#967 = agents staff cc ops retail. #968 = bot tier 1 widget guide.
Click and collect possible?
Yes if click_collect_url map. Web order in-store pickup.
ONLINEONLY deployment checklist (8 steps)
ONLINEONLY-SUP + ONLINEONLY-MAP : web promo registry template
promo_code_web online_url : tested on mobile before campaign
channel_explain_copy : validated by legal marketing retail
staff_brief_url : sales brief for corners shared
click_collect_url : BOPIS tested if applicable
Tags onlineonly_* : correlation onlineonly_id offer_name
Sync bot #968 : CHANNEL-GROUNDED
20-min Training : practice exercises section 10
Linking

Enzo
July 1, 2026





