Notifications
Notifications are how Carriyo tells the customer what's
happening to their shipment. Each one is triggered by a
shipment status event: a parcel hits OUT_FOR_DELIVERY, the
customer gets an email or SMS. A failed delivery triggers
another notification. A confirmed delivery triggers a final
confirmation.
The model
Three layers:
- Trigger. A shipment, return, or order event that fires
the notification. Most common: a shipment-status change such
as
OUT_FOR_DELIVERY,DELIVERED,FAILED_DELIVERY. Reason codes on failures (e.g.customer_unreachable) can target their own template variant. - Template. The message content. Per channel, per language. Email and SMS templates use Liquid to inject shipment data into the copy.
- Gateway. The routing and sender config. Scoped most-specific first: per merchant → tenant default → Carriyo platform default.
Configured in CX Apps → Notifications (templates) and Settings → Notifications (gateways).
Channels
The default channel. Goes from a configured sender domain
(noreply@brand.com) once the domain is verified, or from a
Carriyo-owned sender otherwise.
Sender-domain setup is at Settings → email domains. Verification is CNAME-only: the Dashboard issues the records, the client adds them to DNS, status updates when verification succeeds.
Delivery state for each message (delivered / bounced / undeliverable) is tracked and visible on the notifications report.
SMS
Per-country sender IDs. Sender-ID registration with the local telco regulator is handled by Carriyo's support team. For new countries or new sender IDs, raise a request rather than expecting to self-serve. SMS messages include short links (Carriyo-shortened) for the tracking and feedback URLs.
Via WhatsApp Business. Each country needs a Meta-approved template namespace, registered offline through Carriyo's support team. Unlike email and SMS, WhatsApp doesn't use Liquid: content is passed as Meta template placeholder arrays against pre-approved templates.
Localization
Templates are stored per (channel, trigger, language). The
language at send time comes from the customer's locale, falling
back to the merchant's default language and ultimately to a
designated default template.
Country also enters routing: triggers, sender IDs, and email senders are all configurable per country, so an order shipping to the US can use one sender + template variant, an order to the UK another.
Test mode and dedup
- Test mode. When on, notifications route to a configured test-recipient list instead of real customers. Useful when rolling out new templates.
- 24-hour deduplication. The same trigger to the same recipient within 24 hours is skipped. Carriers occasionally re-send statuses; this stops the customer getting two "out for delivery" notifications.
Reports and visibility
The full notification history per shipment is at Dashboard → Reports → Notifications: channel, trigger status, template used, recipient, delivery status, provider response, bounces. This is where to investigate "the customer didn't get the email". Most of the time it's a bounced address, not a Carriyo send failure.
How it fits with other modules
- Tracking events. The trigger source.
- Branded tracking. Notifications link to the tracking page.
- Template system. The Liquid engine behind email and SMS templates.
- Post-purchase CX. The parent module.