Appearance
Notifications and Communication β
Communication is the nervous system of a marketplace β notifications keep transactions moving, messaging builds trust between strangers, and getting the balance right means the difference between engagement and annoyance.
Why This Matters β
- π’ Owner: Communication drives transaction completion rates. Missed notifications mean missed bookings, unanswered inquiries, and lost revenue. But over-notification drives users to mute you entirely.
- π» Dev: You'll build the messaging infrastructure, notification delivery pipeline, real-time alert systems, and anti-disintermediation safeguards. This spans email, push, SMS, and in-app channels.
- π PM: Notification strategy is a product lever β every message is an opportunity to move a transaction forward or re-engage a dormant user. You'll define what gets sent, when, and through which channel.
- π¨ Designer: Notification design, inbox UX, message thread layouts, and communication templates shape how users experience your marketplace between visits. This is where relationships form.
The Concept (Simple) β
Think of marketplace communication like a wedding planner coordinating between the couple, vendors, and venue.
Without the planner, the florist doesn't know when to deliver, the caterer doesn't know the headcount, and the DJ doesn't know the schedule. Chaos. The planner sends the right message to the right person at the right time β confirmations, reminders, updates, and alerts β so everyone stays coordinated without being overwhelmed.
A marketplace notification system does the same thing. It coordinates buyers and sellers through a transaction lifecycle β from initial inquiry to booking confirmation to fulfillment to review request β sending the right information at the right time through the right channel.
How It Works (Detailed) β
Communication Architecture β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β NOTIFICATION SYSTEM ARCHITECTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β EVENT SOURCE β
β (Transaction service, User service, etc.) β
β β β
β β publishes event: "booking.confirmed" β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β NOTIFICATION ENGINE β β
β β β β
β β 1. Route: Which users need to know? β β
β β 2. Template: What message for each role? β β
β β 3. Channel: Email, push, SMS, or in-app? β β
β β 4. Timing: Immediately, batched, or delayed?β β
β β 5. Preferences: Has user opted out? β β
β ββββββββ¬ββββββββ¬ββββββββ¬ββββββββ¬ββββββββββββββββ β
β β β β β β
β βΌ βΌ βΌ βΌ β
β ββββββββββ ββββββββ βββββββ ββββββββββ β
β β EMAIL β β PUSH β β SMS β β IN-APP β β
β β β β β β β β INBOX β β
β β SendGridβ β APNS β βTwilioβ βWebSocketβ β
β β SES β β FCM β β β β β β
β ββββββββββ ββββββββ βββββββ ββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββThe Three Communication Types β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β THREE TYPES OF MARKETPLACE COMMUNICATION β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. TRANSACTIONAL NOTIFICATIONS β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β System-generated, triggered by events β β
β β β’ Booking confirmed / order placed β β
β β β’ Payment received / payout sent β β
β β β’ Shipping update / delivery confirmation β β
β β β’ Review request after completion β β
β β Channel: Email + push (critical path) β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 2. PEER-TO-PEER MESSAGING β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β Buyer-seller conversation β β
β β β’ Pre-transaction questions β β
β β β’ Coordination during fulfillment β β
β β β’ Post-transaction follow-up β β
β β Channel: In-app inbox + email notification β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 3. MARKETING / RE-ENGAGEMENT β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β Platform-initiated, growth-driven β β
β β β’ "New listings matching your search" β β
β β β’ "Price drop on your wishlist" β β
β β β’ "You have unused credits" β β
β β β’ Seasonal promotions β β
β β Channel: Email + push (respect frequency) β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββTransactional Notification Map β
Every marketplace transaction triggers a sequence of notifications to both sides:
| Event | Buyer Notification | Seller Notification | Channel |
|---|---|---|---|
| Inquiry sent | "Your message was sent" | "New inquiry from [Buyer]" | Push + in-app |
| Booking requested | "Request sent, awaiting confirmation" | "New booking request β respond in 24h" | Push + email |
| Booking confirmed | "Your booking is confirmed!" | "You confirmed [Buyer]'s booking" | Email + push |
| Payment captured | "Payment of $X processed" | "Payment of $X received" | |
| Reminder | "Your booking is tomorrow" | "Upcoming booking with [Buyer] tomorrow" | Push + email |
| In progress | "Your order is being prepared" | "Time to start [Buyer]'s order" | Push |
| Completed | "How was your experience? Leave a review" | "Transaction complete. Payout in 2 days" | Email + push |
| Review received | β | "[Buyer] left you a 5-star review!" | Push + email |
| Payout sent | β | "$X has been sent to your bank" | |
| Dispute opened | "We received your dispute" | "A dispute has been filed on order #X" |
Channel Selection Strategy β
Choose the right channel for the right message:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CHANNEL SELECTION MATRIX β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β URGENCY β
β Low High β
β ββββββββββββββ¬βββββββββββββ β
β Low β β β β
β IMPORT β EMAIL β PUSH β β
β ANCE β Weekly β Real-time β β
β β digest β alert β β
β ββββββββββββββΌβββββββββββββ€ β
β High β β β β
β β EMAIL β SMS + PUSH β β
β β (rich β (must not β β
β β detail) β miss) β β
β ββββββββββββββ΄βββββββββββββ β
β β
β Examples: β
β β’ New listing match β Email (low urgency, low import) β
β β’ Booking request β Push (high urgency, high import) β
β β’ Payout summary β Email (low urgency, high import) β
β β’ Order arriving β SMS + Push (high urgency, critical)β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββIn-App Messaging System β
The buyer-seller messaging system is critical for building trust before a transaction:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β IN-APP MESSAGING ARCHITECTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β MESSAGE THREAD β β
β β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β Buyer: "Is parking available?" β β β
β β β 2:30 PM β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β Seller: "Yes, free street parkingβ β β
β β β and a private driveway." β β β
β β β 2:45 PM β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β Buyer: "Great! Booking now." β β β
β β β 2:47 PM β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β SYSTEM: Booking confirmed β β β β
β β β 2:48 PM β β β
β β ββββββββββββββββββββββββββββββββββββ β β
β β β β
β β [Type a message... ] [Send] β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Features: β
β β’ Threaded per transaction/listing β
β β’ System messages injected (confirmations, updates) β
β β’ Quick reply templates for sellers β
β β’ Photo/file attachment support β
β β’ Read receipts and typing indicators β
β β’ Auto-translate for international marketplaces β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββPreventing Disintermediation β
Disintermediation is when buyers and sellers exchange contact info to transact off-platform, avoiding your fees:
| Risk Signal | Detection Method | Prevention |
|---|---|---|
| Phone numbers in messages | Regex pattern matching | Block or flag messages with phone patterns |
| Email addresses shared | Pattern detection + ML | Mask or warn, allow after booking confirmed |
| External links | URL detection | Block non-whitelisted URLs pre-transaction |
| "Pay me directly" | NLP keyword detection | Flag for review, educate on platform benefits |
| Repeated off-platform terms | Keyword + context analysis | Gentle reminder of platform protections |
Important balance: Too aggressive blocking feels hostile and drives users away. Too lenient means revenue leakage. Best practice:
- Pre-transaction: Moderate messaging β prevent contact info sharing
- Post-transaction: Relax controls β they've already transacted on-platform
- Always: Emphasize why transacting on-platform is better (protection, escrow, reviews, support)
Notification Preferences and Fatigue β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β NOTIFICATION PREFERENCE SYSTEM β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Category Email Push SMS β
β βββββββββββββββββ βββββ ββββ βββ β
β Booking updates β ON β ON β ON (locked) β
β Payment & payouts β ON β ON β OFF β
β Messages β ON β ON β OFF β
β Review reminders β ON β OFF β OFF β
β Promotions β OFF β OFF β OFF β
β New listing alerts β ON β OFF β OFF β
β Tips & education β OFF β OFF β OFF β
β β
β Rules: β
β β’ Transaction-critical notifications can't be muted β
β β’ Default to fewer notifications, let users opt in β
β β’ Batch non-urgent notifications into digests β
β β’ Honor quiet hours (no push between 10pm - 8am) β
β β’ Track unsubscribe rate per notification type β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββReal-Time Notifications for On-Demand Marketplaces β
On-demand platforms need sub-second notification delivery:
| Event | Latency Target | Channel | Tech |
|---|---|---|---|
| New order | < 2 seconds | Push + sound + vibration | WebSocket + FCM/APNS |
| Driver assigned | < 3 seconds | Push + in-app update | WebSocket |
| Location updates | Every 5 seconds | In-app map | WebSocket |
| Order status change | < 2 seconds | Push + in-app | WebSocket + push fallback |
| Chat message | < 1 second | In-app + push if backgrounded | WebSocket + push fallback |
In Practice β
What Good Looks Like: Airbnb's Communication System β
- Smart messaging β messages are threaded per listing/trip, with system messages (booking status, payment confirmations) injected inline
- Quick replies β hosts get suggested response templates for common questions
- Translation β automatic message translation for cross-language communication
- Response rate tracking β host response rate and time are visible to guests and factor into search ranking
- Scheduled messages β hosts can set up automatic check-in instructions sent the day before arrival
What Good Looks Like: Uber's Real-Time Notifications β
- Sub-second matching β rider gets push notification within 2 seconds of driver assignment
- Live map β real-time driver location via WebSocket, no polling
- ETA updates β dynamic, adjusting based on traffic every 15 seconds
- Trip receipt β email with full trip details, route map, and fare breakdown sent within 60 seconds of trip end
- Rating prompt β in-app prompt immediately after trip, before the next action
Common Anti-Patterns β
- Notification spam β sending every possible update via every channel. Users disable notifications and disengage entirely.
- Generic templates β "You have a new notification" instead of "Sarah confirmed your booking for July 12-15."
- No quiet hours β sending push notifications at 3 AM. Implement time-zone-aware delivery windows.
- Email-only critical alerts β relying on email for time-sensitive notifications (new orders, booking requests). Email has low open rates and high latency.
- Blocking all contact sharing β aggressively preventing any off-platform communication, which feels controlling. Focus on pre-transaction, allow post-transaction.
- No escalation ladder β sending the same notification repeatedly instead of escalating channel (in-app β push β SMS β phone call for critical events).
- Missing system messages β not injecting transaction updates into the messaging thread, forcing users to check separate notification screens.
Notification Metrics β
| Metric | Target | Why It Matters |
|---|---|---|
| Delivery rate | >99% (email), >95% (push) | Undelivered notifications = missed transactions |
| Open rate | >40% (push), >25% (email) | Low open rate means wrong channel or content |
| Click-through rate | >10% (push), >5% (email) | Users should act on notifications |
| Unsubscribe rate | <0.5% per email send | High unsubscribe = notification fatigue |
| Response time | <1 hour (messages), <24h (booking requests) | Faster response = higher conversion |
| Notification-to-action rate | >20% for transactional | Notifications should drive behavior |
Key Takeaways β
- Marketplace communication serves three purposes: transactional (move transactions forward), peer-to-peer (build buyer-seller trust), and marketing (re-engage users)
- Choose notification channel based on urgency and importance: SMS for critical, push for urgent, email for detailed, in-app for everything
- In-app messaging between buyers and sellers is essential for high-consideration transactions β it builds the trust needed to transact with strangers
- Prevent disintermediation by moderating pre-transaction communication while relaxing controls post-transaction β and always emphasize platform benefits over restrictions
- Default to fewer notifications and let users opt in β notification fatigue is a leading cause of app uninstalls and email unsubscribes
- On-demand marketplaces need sub-second notification delivery via WebSocket with push notification fallback
- Inject system messages (booking confirmations, payment updates, status changes) into conversation threads so users have one place to track everything
- Track notification metrics by type and channel β delivery rate, open rate, and notification-to-action rate tell you if your communication system is working
Action Items β
- β π’ Owner: Define your notification philosophy: which messages are mandatory (can't mute) vs optional (user controls)
- β π’ Owner: Set a response time SLA for sellers (e.g., respond to inquiries within 24 hours) and communicate consequences
- β π» Dev: Build an event-driven notification engine that routes events to the right users, templates, channels, and timing
- β π» Dev: Implement WebSocket-based real-time messaging with push notification fallback for offline users
- β π PM: Map every transaction event to its notification β who gets notified, what channel, what content, what timing
- β π PM: Design a disintermediation strategy that balances revenue protection with user trust β don't be heavy-handed
- β π¨ Designer: Design a unified inbox that combines peer messages and system notifications in chronological threads per transaction
- β π¨ Designer: Create notification preference controls that are easy to find and understand, with sensible defaults that don't overwhelm