The Subscription Center is a centralized email subscription system where all email systems’ accounts and lists can be managed within one system.
Creating a central platform for all the various systems our client was using had become a necessity for them. Thus the idea for the Subscription Center was born.
Managing widely different sites with diverse email lists had been difficult and tiresome. The situation was further complicated by having to work with various email platforms. Among others, a real-time synchronization between Salesforce and Sendgrid had to be maintained. To resolve this chaotic situation, we created a centralized subscription system where all email systems, accounts and lists could be managed within one system. This centralized solution, where all settings could be easily managed, created a bridge between users and services.
Subscription widgets can be created for the platforms, which can be easily and immediately implemented to any websites, microsites, or other campaigns, providing subscription solutions. SDK and API are available to fully support the platforms. A major advantage – guaranteeing the return of investment – is that the ever-evolving email sending service doesn’t have to be updated in all connected applications, only at this central platform.
When developing the Subscription Center, one of the primary concerns was the speed and efficiency of the codebase. Clicking a button makes countless simultaneous requests to the server handling the subscribes and unsubscribes but our users need immediate results. Creating a suitable server infrastructure and embedding the features was also a huge task. Currently more than 3 million user subscriptions are managed by the platform simultaneously. This made dividing and sharding the database necessary which results in higher request speed.
To relieve server resources, we have implemented an Amazon Web Services (AWS) feature – incoming requests arrive to this queue and these records are processed on a first-in-first-out (FIFO) basis. Depending on load, the processing script can run in parallel, meaning that in case of load increase, multiple separate processes can be initiated. Another advantage of the SQS service is that, in case of any server-side outages, incoming requests do not get lost and can be processed later.
In our opinion, all enterprises could benefit from such a system, particularly if various applications are integrated into the corporate email systems or where multiple systems manage records while manually updating and maintaining the database , which burns valuable man-hours.
Technologies used: PHP, MySQL, iOS, Android, Sendgrid, SalesForce, RESTful API, AWS – Amazon Web Services, SQS, CodeIgniter