How a UK travel aggregator handling 4 million booking confirmations per day moved off shared infrastructure suffering peak-period queue saturation — cutting average delivery time from 4.7 minutes to 23 seconds and reducing email-related support tickets by 67%.
A UK-based travel aggregator headquartered in London serves global travellers through a search-and-booking platform that compares flight, hotel, and car-rental inventory across more than 800 supplier APIs. Email is the primary channel through which the customer experiences the booking lifecycle: a booking confirmation issued seconds after payment, supplier-side itinerary updates as inventory states change, price-drop alerts when watched routes adjust downward, check-in reminders 24 hours before travel, and post-trip receipts. The platform sends 4 million messages per day across these categories, with substantial volume concentration during European booking windows (08:00–10:00 GMT and 18:00–22:00 GMT) and peak-season multipliers during summer and winter holiday periods.
Through 2023, the platform had operated email through a managed ESP that pooled multiple travel-industry tenants on shared IP infrastructure. By Q4 2023, three patterns had become operational liabilities. Average booking-confirmation delivery time was 4.7 minutes — a long interval for a customer who has just completed payment and expects the confirmation to arrive while they are still on the booking page. Peak-period delivery time spiked to 23 minutes, producing a measurable rate of customer support tickets ("I paid and didn't get a confirmation"). Yahoo and AOL inbox placement sat at 18% spam — a complete loss for the segment of travellers (older demographic, North American leisure market) where these mailbox providers are dominant.
Presenting Problems
- Average booking-confirmation delivery time at 4.7 minutes — far above the <30-second threshold where customer behaviour shifts toward refresh-and-doubt patterns
- Peak-period delivery time spiking to 23 minutes during European booking windows, producing measurable support-ticket volume
- 18% Yahoo spam placement, 21% AOL spam placement — the legacy mailbox providers most prevalent among older leisure travellers
- Shared IP queue saturation: another tenant on the same pool — a hospitality marketing platform — produced 800K-message promotional bursts that throttled all senders on the shared infrastructure
- No visibility into per-ISP delivery rates, queue depth, or deferral causes — the ESP exposed only aggregate dashboard metrics with hourly granularity
- Per-message ESP cost at 4M/day was producing a monthly invoice that was 41% higher than equivalent dedicated infrastructure would cost — the cost argument for migration was already strong before the operational arguments were considered
The engagement was scoped against a hard deadline: peak summer season started in 8 weeks and would not be a viable migration window. The plan prioritized having the booking-confirmation stream production-stable before peak, with the lower-priority streams migrated progressively after.
-
Weeks 1–2: 8-IP PowerMTA environment provisioning
Provisioned a dedicated PowerMTA 6.x environment in Frankfurt with 8 IPs distributed across two /24 ranges for redundancy. Authentication baseline configured with the platform's existing sending domain (
booking.travel-platform.co.uk), 2048-bit DKIM, and DMARC at p=quarantine for migration safety with progression to p=reject at the end of warming. Per-IP PTR records configured with names reflecting their function (mx-booking-01.travel-platform.co.ukthroughmx-itinerary-02.travel-platform.co.uk). -
Weeks 3–5: Booking-confirmation stream IP warming
4 IPs allocated to booking confirmations — the highest-priority and highest-volume stream. Warming ramped from 50,000 messages per IP per day in Week 3 to 600,000 per IP per day by Week 5. Per-ISP throttling configured per Yahoo, AOL, Microsoft, and Gmail's published guidelines, with conservative initial settings adjusted upward as deferral rates declined. By end of Week 5, average booking-confirmation delivery time had dropped from 4.7 minutes to 38 seconds — short of the production target but already an order of magnitude better.
-
Weeks 6–7: Price alert and itinerary streams
2 IPs allocated to price alerts (lower priority, higher batch tolerance — these are operational notifications, not transactional confirmations) and 2 IPs allocated to itinerary updates and administrative email. Each stream's traffic patterns were analyzed to set appropriate throughput limits: price alerts batch in 30-minute windows during European morning hours; itinerary updates trickle through the day at supplier-API change rates. The 2-IP allocation per stream gave each enough capacity for 2× peak-season volume with margin.
-
Week 8: Final cutover and peak-readiness verification
Old ESP traffic drained to zero. Booking-confirmation delivery time stabilized at 23-second median, 41-second 95th percentile. Yahoo inbox placement reached 97%, AOL 96%. The platform entered peak season with the new infrastructure operating at roughly 35% of its provisioned capacity — sufficient headroom for the projected 1.8× volume multiplier of peak weeks.
Technical Assessment: Infrastructure Layers Examined
The audit focused specifically on the queue-saturation pattern, per-ISP delivery behaviour for legacy mailbox providers, and the cost-economics comparison that justified the migration on financial grounds before operational ones.
Queue Saturation in Shared Infrastructure
The core operational problem was not deliverability in the reputation sense — IPs were not blocked, complaint rates were within acceptable bounds, and authentication was clean. The problem was queue contention. During European peak booking windows, the platform's 4 million messages competed in the same PowerMTA queues as every other tenant on the shared pool. When a tenant ran a large promotional burst (the hospitality marketing platform was the most disruptive contributor), per-IP send rates spiked, recipient ISPs returned 421 deferrals on excess connections, and the entire queue absorbed those deferrals before reaching the platform's transactional traffic.
This is the structural risk of shared infrastructure that does not show up in the metrics most ESPs surface. Reputation looks fine. Send rates look reasonable when averaged across an hour. But the latency distribution is bimodal: most messages deliver quickly, a long tail deliver after multiple-minute deferrals. The platform's median delivery time looked acceptable in aggregate, but the worst 15% — concentrated during the highest-stakes booking windows — was producing the customer-experience problem.
Per-ISP Throttle Tuning for Yahoo and AOL
The 18% Yahoo and 21% AOL spam placement was traceable to a specific mismatch between the shared pool's sending behaviour and Yahoo's published throttle expectations. Yahoo and AOL (operated together since the Verizon Media merger and now Yahoo Inc.) maintain stricter per-IP connection limits than Gmail or Microsoft, and they respond more aggressively to over-connection patterns. The shared pool had been calibrated for Gmail-and-Microsoft-friendly throughput, accepting the Yahoo/AOL underperformance as an acceptable trade-off for the majority of traffic.
For a UK travel platform with a North American leisure-traveller customer segment where Yahoo and AOL combined represent 11% of inboxes, the trade-off was not acceptable. The dedicated PowerMTA configuration tuned Yahoo and AOL throttles independently: lower max-smtp-out values, longer minimum intervals between connections, and aggressive backoff on the first 421 response rather than the third. Within four weeks of warming, Yahoo placement climbed to 97% and AOL to 96%.
Cost Economics: Dedicated vs Shared at This Volume
At 120 million messages per month, the per-message ESP cost was producing a monthly invoice of approximately €38,000. Equivalent dedicated infrastructure (the 8-IP PowerMTA environment plus managed-services operation) costs €22,500 per month — a 41% reduction. This calculation deserves examination because it is often misrepresented in ESP-vs-dedicated comparisons.
Below approximately 500,000 messages per month, shared ESPs are cheaper because the per-message cost is offset by the operational efficiency of sharing infrastructure. Above approximately 2 million messages per month, the per-message billing model crosses over into a cost penalty rather than an efficiency. The platform was at 60× this crossover, making the cost argument for dedicated infrastructure straightforward — and that was before factoring in the operational benefits (visibility, control, isolation) that drove the original engagement.
Infrastructure Rebuild: Configuration Decisions
Per-stream IP allocation tuned to traffic shape. Booking confirmations have a near-uniform distribution across European business hours with peaks during morning and evening booking windows. Price alerts are concentrated in 30-minute morning batches when supplier APIs report overnight inventory changes. Itinerary updates trickle through the day at supplier-API event rates. Allocating IPs by traffic shape — rather than splitting evenly across all streams — meant that each IP set was sized for its stream's actual peak rather than a worst-case average across all streams.
Real-time accounting log monitoring dashboard. A dashboard built directly from PowerMTA accounting log data exposes per-ISP delivery rates, queue depth per VMTA, deferral cause codes, and 5-minute moving-window throughput. The platform's operations team had previously been operating with hourly-granularity data from the ESP dashboard. The shift to 5-minute-granularity log analysis surfaced patterns that hourly aggregation hid: the morning booking burst at 08:15 GMT consistently produced a Yahoo deferral spike that cleared within 7 minutes, and adjusting the Yahoo throttle pre-emptively at 08:10 eliminated the spike entirely.
Per-stream DMARC reporting destinations. Booking confirmations report to dmarc-booking@travel-platform.co.uk, price alerts to dmarc-alerts@, itinerary to dmarc-itinerary@. Each address feeds a separate aggregate-report processor and a separate slack channel for the team owning that stream. The booking-confirmation team and the price-alerts team have different on-call rotations and different urgency tolerances; merging their DMARC signals would have produced cross-team alert fatigue without improving response.
Operational Monitoring: What Changed Permanently
Five-minute granularity SLA monitoring during peak booking windows. The operations team monitors median delivery time, 95th-percentile delivery time, and per-ISP deferral rates at 5-minute granularity during 06:00–10:00 GMT and 16:00–22:00 GMT (the European booking windows). The SLA is <30-second median for booking confirmations during these windows; any 5-minute window exceeding this threshold triggers an investigation within 15 minutes. In the first three months post-deployment, the threshold was crossed 4 times — twice from supplier-API outages producing legitimate confirmation backlogs (no infrastructure issue), once from a Microsoft routing change (resolved within 90 minutes), once from an internal database lag preceding the email queue (resolved within 2 hours).
Quarterly cost-economics review. The 41% cost reduction figure is re-validated quarterly against actual sending volume and the equivalent ESP pricing for the same volume. As the platform grows, the dedicated-infrastructure economics improve at a faster rate than per-message ESP pricing — the per-message cost in dedicated infrastructure approaches zero as volume increases, while ESP per-message pricing scales linearly. The quarterly review surfaces opportunities to invest the difference in additional infrastructure (regional IPs, redundant capacity) rather than treating it as savings to be retained.
Pre-peak capacity drills. Two weeks before each peak season (summer and winter holidays), the operations team runs a synthetic load test that pushes 1.5× projected peak volume through the booking-confirmation stream over a controlled window. The drill verifies that current configuration handles peak conditions, surfaces any capacity bottleneck that has accumulated since the last drill, and gives the team confidence in the runbook for actual peak periods. The drill identified one configuration drift in 2024 (a per-domain throttle that had been adjusted during a Yahoo policy change but never reverted) that would have caused a measurable problem during peak.
(from 4.7 min)
(from 23 min)
(from 82% / 79%)
support tickets
"For a travel platform, a 4-minute booking confirmation is functionally broken. The first time a customer saw their confirmation arrive before they had closed the booking tab was a product milestone. The 41% cost reduction relative to our previous ESP was the easy part of the business case. The harder part — explaining why dedicated infrastructure was operationally better — turned out to be unnecessary because the customer-support ticket reduction made the case on its own."
— VP Engineering, Travel AggregatorThe technical changes in this engagement were straightforward. The more significant work was establishing the monitoring discipline that prevents the gradual drift that caused the original problems — an infrastructure that meets today's ISP requirements but has no ongoing review process will fall behind those requirements within 12-18 months.
— Cloud Server for Email Infrastructure TeamTravel-industry email is unusually time-bound: a booking confirmation that arrives 4 minutes after payment is not a deliverability problem in the conventional sense — IPs deliver, reputations are clean — but it is a customer-experience failure that produces measurable downstream cost in support tickets and booking abandonment. The metrics that matter for transactional travel email are median delivery time and 95th-percentile delivery time during peak windows, not aggregate inbox placement averaged across hours. ESPs optimised for marketing-style throughput do not necessarily expose the latency distribution that travel platforms need to monitor.
Above 2 million messages per month, the per-message billing model of shared ESPs crosses over from operational efficiency into cost penalty. For travel platforms, ecommerce at scale, and any high-volume transactional sender, the cost-economics argument for dedicated infrastructure is often stronger than the operational argument — but the cost reduction is only sustainable if the operational practices (per-stream allocation, per-ISP throttle tuning, real-time monitoring) are implemented to match. Dedicated infrastructure is not cheaper because it is dedicated; it is cheaper because at this volume it is the architecture the operational practices require.