Cross-Channel Orchestration for a Travel Booking with Limited Inventory
A travel company has a flash sale on a limited number of packages (500 total). They want to promote via email, push, and in-app message. The sale starts at 9 AM local time and inventory is expected to sell out within 2 hours. They have 1 million users, but only 10% are likely to be interested based on past behavior. The marketing team wants to send all three channels at 9 AM to maximize reach. However, past data shows that sending multiple channels simultaneously leads to a 30% increase in unsubscribes from push and email. They have Braze's Canvas and can use Intelligent Timing and channel prioritization.
1. How should the team orchestrate the cross-channel messages to maximize sales without increasing unsubscribes?
Read the worked answer
Use a Canvas with a staggered approach. First, segment to the 10% interested users (e.g., those who viewed similar packages in last 30 days). At 9 AM, send push to that segment only, as push is immediate and less intrusive than email. Wait 30 minutes. If user hasn't purchased, send email at 9:30 AM. At 10 AM, send in-app message to users who open the app but haven't purchased. This staggers channels, reducing simultaneous messaging. Use Intelligent Timing for email to optimize open, but since sale is time-sensitive, send at 9:30 AM local. Set a frequency cap: max one message per user per 2 hours. Also, use a conversion event to exit users who purchase. For the remaining 90% uninterested users, send a single email at 10 AM with lower priority, or skip to avoid unsubscribes. Measure sales and unsubscribes. The key is to prioritize high-intent users with push first, then email, and avoid blasting all channels at once.
2. What if inventory sells out faster than expected? How should the team adjust the Canvas in real-time?
Read the worked answer
The Canvas should have a trigger or condition to stop sending if inventory reaches zero. Use a webhook or connected content to check inventory before each send step. If inventory is low, skip the email step and send a 'sold out' message instead? Better: set up a global control group and a suppression rule: if inventory = 0, exit all users from the Canvas. Also, have a backup message for users who already received push: send a follow-up email apologizing and offering a waitlist. In Braze, you can use a Canvas exit event based on a custom attribute 'inventory_status'. Update that attribute via API when inventory changes. Then, in Canvas, add a decision split: if inventory_status = 'sold_out', send a different message or exit. This requires engineering to update the attribute in real-time. Alternatively, monitor manually and pause the Canvas. The key is to have a plan to avoid sending sale messages after sellout, which would annoy users.