Transactional vs promotional email and SMS: the operator’s guide
Clear definitions, a comparison table, deliverability separation, Iran eCRM notes, and when journeys should use each message type.

Amir Hosseini
Runs email, SMS, and push campaigns for acquisition, retention, and reactivation.
September 7, 2026 · 9 min read
Also available in فارسی

Direct answer
Transactional email and SMS are system reactions to something the user just did: a receipt, an OTP, signup confirmation, shipment status, or a password change. The user expects that message. It usually must arrive even without marketing consent.
Promotional email and SMS are marketing touches meant to drive a new action: a sale, a newsletter click, a product launch, or a win-back. They generally require opt-in and a clear unsubscribe / stop path.
Operator rule of thumb: if the message exists because of what they already did, it is transactional; if it exists to make them do something new, it is promotional. The expensive mistake is mixing promo copy into transactional paths—or sending both from one shared reputation pool until OTP and receipts start failing on sale day.
Practical definitions for eCRM teams
What counts as transactional
Transactional messages complete a transaction or account state. Without them, the product experience is broken:
- One-time passwords (OTP) and login verification
- Receipts / invoices after
order_completed - Shipping and delivery status updates
- Confirmations for email, password, or phone changes
- Wallet, booking, or cancellation notices the user initiated
The trigger is usually a concrete event: otp_requested, order_placed, shipment_updated, password_reset. Copy stays short, factual, and free of drive-by selling.
What counts as promotional
Promotional messages persuade. They are not required to finish the transaction:
- Newsletters
- Sale and coupon campaigns
- New category or product announcements
- Win-back for quiet customers
- Webinar or content invites
- Many abandoned-cart reminders whose real job is “come back and buy” (behavior-triggered, still marketing in practice)
Triggers include campaign schedules, segment entry, or a marketing journey. You should be able to show consent and offer an exit.
Comparison table (email and SMS)
| Dimension | Transactional | Promotional |
|---|---|---|
| Trigger | User action / system state event | Time, campaign, segment, marketing journey |
| Goal | Complete the experience; essential notice | Drive a new action (buy, click, return) |
| User expectation | High — they are waiting | Mixed — easy to ignore |
| Marketing consent | Usually not required for the essential notice itself | Usually required (especially SMS) |
| Unsubscribe | Often absent or support-only; do not break OTP with marketing unsubscribe | Clear stop / unsubscribe required |
| Tone | Short, status, no extra sell | Offer, value prop, CTA |
| Volume | Follows real events | Controlled with caps and frequency rules |
| Failure mode | Delay or drop → support tickets | Over-send → unsubscribes, spam complaints, burned reputation |
| Email examples | Order receipt, password reset | Newsletter, flash sale |
| SMS examples | OTP, “your order shipped” | “20% off today only” |
Deliverability: keep reputation separate
Experienced operators treat transactional and promotional traffic as separate reputation problems—logically always, and technically whenever you can.
Why mixing hurts
If OTPs and sale blasts share a domain/IP or the same SMS route:
- Promo complaints land on the same reputation
- Inbox filters and mobile operators generalize promo behavior to all traffic
- During heavy campaigns, receipts and OTPs queue behind marketing and arrive late—or get blocked
- Support hears “code never arrived” while the root cause was yesterday’s blast
Practical separation pattern
- Separate domain or subdomain for transactional vs marketing traffic (a common industry pattern; align DNS with your technical team)
- Do not let promo complaint and bounce signals contaminate the transactional path
- Keep authentication (SPF/DKIM/DMARC) healthy on each path
SMS
- Separate line/panel—or at least separate queue and priority—for OTP/status vs marketing campaigns
- Cap promo throughput; give OTP a high-priority lane
- Keep promo copy short with a stop mechanism; keep transactional copy clean
Separation is not only infrastructure. Reporting must show whether promo complaint rates are correlating with transactional delay.
Consent, unsubscribe, and gray zones
Rules of thumb
- Essential transactional: the user asked for the outcome (placed an order, requested a code). Failing to send is worse than sending.
- Promotional: do not send without valid consent; always provide an exit.
Boundaries teams get wrong
- Abandoned cart: behavior-triggered, but marketing in purpose. Treat it like promo: channel consent, frequency caps, exit on purchase.
- “Order confirmed + 20% on your next order”: half status, half promo. Prefer a clean status message, then a separate marketing touch—especially on SMS.
- Welcome email: account confirmation can be transactional; the “week-one offers” series is promotional.
- Back-in-stock: transactional-leaning if the user explicitly asked; promotional if you blast an “interested” segment.
In Iran, SMS consent and annoyance sensitivity are high. Even if you treat email more loosely, design promo SMS conservatively with a clear stop path.
When journeys should use each
A journey is a multi-step path. It does not change the message type—the step’s job does.
Where transactional steps belong
- Immediately after purchase events: order confirmation (email and/or SMS)
- After
otp_requestedor sensitive login: OTP only, no marketing branch - Shipment updates: short SMS status + email with tracking detail
- Password reset / phone change: only that notice
Do not insert long marketing waits into these steps. Exit when the state is done—not via a marketing unsubscribe.
Where promotional steps belong
- Entering a “30 days without purchase” segment
- Calendar campaigns inside or outside a journey
- Welcome education + offers (after account confirmation)
- Cart recovery with multiple touches and an exit on
order_completed - Subject/offer experiments—only on the marketing path
A healthy combined sequence
After a purchase:
- Immediate transactional: receipt / status (high priority, separate reputation)
- Wait until delivery or a few days later
- Optional promo: review ask, cross-sell, or newsletter—only with marketing consent, on the promo path
If all three share one SMS queue while other users’ OTPs wait behind them, service quality drops.
Iran-practical notes (local eCRM)
Iranian eCRM commonly pairs SMS + email: SMS for urgency and fast visibility, email for detail and longer links.
What you see in the field
- OTP is almost always SMS; email is a weak backup
- Many shops SMS shipment status and email the detail
- Promo SMS looks cheap until you price in unsubscribes, operator blocks, and trust loss
- Mobiles must be normalized (09… / 98…) or consent and segments drift
- Promo needs send-hour and daily caps; transactional needs an always-on priority path more than “marketing office hours”
Local operator checklist
- Split budgets in your head: transactional SMS (service) vs promo SMS (growth)
- Never bolt a discount onto OTP or receipt copy
- Before the first promo SMS in a journey, check consent and recent purchase suppression
- Report separately: OTP delivery/latency vs promo CTR and unsubscribe
- Stick to product language you actually have: events, segments, journeys, email templates, SMS templates—do not invent product features
Common operator mistakes
- Sending promo on the OTP route, then wondering why login codes fail on sale day
- Putting marketing unsubscribe on transactional SMS so users accidentally stop order notices
- Cart journeys without a shared purchase exit (email and SMS keep going)
- Loose segments for promo SMS (“everyone who ever visited”)
- Optimizing only opens/CTR while ignoring complaints, blocks, and “code missing” tickets
- Copying foreign consent rules without adapting to local SMS expectations
- Letting bulk promo queues delay transactional traffic
Pre-send checklist
Every transactional template
- Trigger event is defined and tested
- Copy only covers required status/code
- Sends on a priority / separate reputation path
- Latency target exists (e.g. OTP under a minute)
- No bolted-on upsell (or it is consciously split)
Every promo campaign / journey
- Channel consent source is known
- Stop / unsubscribe works
- Frequency caps and purchase/complaint suppression are on
- Uses reputation separate from transactional
- Segment is explainable in one sentence
- Same-day review of run history and unsubscribe rate after launch
FAQ
Is abandoned-cart messaging transactional or promotional?
Promotional / marketing in purpose: you want the incomplete purchase finished. A behavioral trigger does not turn it into an OTP. Apply promo rules for consent, frequency, and exit after purchase.
Can I add a one-line discount under the order receipt?
Technically yes; for deliverability hygiene and clarity, keep essential notices clean and send offers on the marketing path—especially on SMS. If you must combine, keep it short and do not obscure order status.
Why not send OTP and the newsletter from one domain?
Promo complaints and negative signals hit that reputation and can damage essential mail. Separating reputation reduces operational risk.
Someone unsubscribed from the newsletter—do they get zero email?
They should exit promo, not necessarily essential account and order notices. Keep paths separate so marketing unsubscribe does not kill receipts.
In a multi-channel journey, promo email or promo SMS first?
Depends on urgency and consent. In Iran, SMS is often noticed faster for short nudges; email is better for explanation and catalogs. More important than order: a shared exit rule and not burning SMS caps.
Should every event fire a transactional message?
No. Message only when the user needs the status. Do not turn noisy low-value events (every page view) into “transactional spam.”
Promo campaign vs promo journey?
A campaign is usually a timed shot to an audience. A journey has waits and conditions (e.g. second touch if they did not buy). Both can be promotional; both need consent and exits. Do not bury essential transactional sends inside promo branches.
Where should a small shop start?
Stabilize critical transactional paths first (OTP if you have it, receipts, shipment status). Then add one small promo journey with a clear segment and separate reputation. Starting with promo bombardment heats up support and burns deliverability.
Can shipment-status SMS go out at night?
Transactional status usually follows the real-world event time; deliberate overnight delay only makes sense as a product policy that will not confuse users. Keep promo in more reasonable hours to reduce annoyance.
Which metrics should be reported separately?
At minimum: transactional delivery and latency (especially OTP) versus promo click, conversion, unsubscribe, and complaint rates. One blended dashboard hides root causes.
Bottom line
Transactional = reaction to an essential user action or state. Promotional = invitation to a new marketing action with consent and an exit. For both email and SMS, separate content, consent, frequency, and especially sending reputation. In journeys, label each step by its job, trigger from the right events, and in Iranian eCRM do not sacrifice urgent SMS service capacity to a flash-sale blast.
If you do only one thing this week: split active templates into two columns—transactional vs promo—and find which ones still share a queue. That is where your deliverability risk is sitting.




