Enhanced Reporting, Sync Improvements & Campaign Previews
August 27, 2025
This update focuses on data reliability, enhanced analytics, and improved user workflows. It introduces better visibility into campaign performance, refined log tracking, and a series of UX improvements to streamline campaign management.
Features
Email Bounce Rate by Campaign
The Campaign Reports now include detailed Bounce Rate, Hard Bounce, and Soft Bounce metrics. This enhancement provides deeper insights into email delivery performance and provider reliability.Enhanced Event Logging and Observability
Added new fields such as target_delivery_time, push_request_time, and retargeting across multiple log sources. This enables more precise monitoring of when messages are scheduled versus actually delivered, improving traceability and analytics accuracy.Email Bounce Event Handling (Mandrill, Mailgun, SendGrid)
Implemented unified webhook support for processing bounce events from multiple providers. The system now parses and logs both soft and hard bounces consistently for future analysis and reporting.Campaign Preview Drawer with Delivery Tab
Introduced a detailed drawer view for campaign history, allowing users to inspect campaign configuration, delivery stats, and actions directly from the list view.- Two tabs: Configuration and Delivery
- Editable campaign name and real-time status badges
- Dynamic action buttons (Pause, Resume, Send, etc.)
- Visual A/B test data and results

Template Card Preview Drawer
Users can now open template previews by clicking directly on the card thumbnail, without using the three-dot menu — speeding up browsing and review of creative assets.Validation Improvements on Templates and Campaigns
Updated validation for thetemplate_idfield to prevent bad requests when linked templates have been deleted, while maintaining compatibility with existing resources.Improved Sync Reliability
Refined synchronization logic across customer lists, campaigns, partners, and other entities to ensure that updates (such as deletions or archival) are accurately propagated to all connected services.Blocked Contact Logic Update
The handling of blocked contacts now uses a consistent data model, improving reliability when creating or unblocking profiles linked to existing contacts.API Permission Alignment
Standardized API endpoint permissions to align “users” with “profiles,” and “deals” with “partners,” ensuring consistent access control across modules.Removed Bulk Import Functionality
Deprecated and removed outdated bulk import endpoints and related components, reducing system complexity and maintenance overhead.Refactored Syncer Integration
Integrated the latest syncer framework to ensure precise, tag-based syncing across multiple models — improving data integrity and alignment with PNS (Push Notification Service).Hard & Soft Bounce Fields in Reports API
Reports now include detailed bounce-related metrics for each campaign, helping users track delivery health and provider performance.
Improvements
Stability & Panic Handling
Improved resilience of thelro.poolpackage by handling cancellation events gracefully and adding diagnostic information for any remaining edge cases.Concurrency & Race Condition Prevention
Conducted a full race-condition audit of the LRO package with concurrent stress tests to eliminate potential data conflicts during parallel operations.Context Handling Improvements
Enhanced background task reliability by ensuring proper context management across async processes, reducing the chance of data corruption during concurrent updates.General Codebase Cleanup
Removed deprecated routes, redundant database calls, and legacy middleware for a cleaner, more maintainable architecture.
Bug Fixes
- Container Filters (Web)
Fixed an issue where container filters did not retain selected variation