Custom Solution for Ad Campaign and Strategy Scheduling
Explore our user-friendly Scheduler system for ad campaigns and strategy scheduling integrated into the client’s DSP.
Looking to build a successful custom
software solution? Our experienced
development team is ready to assist.
Explore our user-friendly Scheduler system for ad campaigns and strategy scheduling integrated into the client’s DSP.
MediaMath is an AdTech company providing digital marketing solutions for over 3,500 advertisers and brands. Its extensive portfolio includes platforms and tools for programmatic media buying, data management, audience segmentation, targeting, and more.
MediaMath planned to introduce a custom solution to strengthen its omnichannel DSP offering to clients. They needed tailor-made functionality to support ad campaigns, strategy scheduling, and processing within the Demand-Side Platform. The goal was to provide a seamless and user-friendly experience for Mediamath’s clients to create, manage, and optimize their advertising schedules of different complexity and scale.
Requirements Gathering (Duration: 1 month):
Our team cooperated with the client’s Business Analyst, who developed the initial tech task for the project. It included a set of business requirements for the envisioned system. There was a clear understanding of the project’s milestones, and the Geomotiv’s team stepped in to figure out how to design and implement the solution using technology.
MediaMath wanted to leverage a custom-built Scheduler solution that would provide a more convenient way of processing ad campaigns and strategies within the Demand-Side Platform (DSP). The high-level requirements required the technical team to develop non-standard logic to schedule the concurrent creation and delivery of many advertising campaigns and strategies in the DSP.
The system-to-be would act as a closed CRM with an authentication form. After entering credentials, the user navigated to the dashboard to create, edit, clone, delete, and perform other actions with their advertising schedule.
Our team conducted an in-depth analysis of the requirements to identify the most optimal path towards implementation. Geomotiv’s developers were responsible for designing the system, planning the interactions of its modules, and consecutive execution. Upon thorough examination, our tech lead evaluated the planned system’s capabilities and initiated the architecture design development.
Development (Duration: 7 months)
Team involved: 3 full-stack developers, 2 QA, 1 Tech lead.
Our team adopted an Agile development approach, conducting 2-week sprints to concurrently address front-end and back-end development. This strategy allowed for rapidly delivering prioritized features, testing, and deployment.
The team ensured a seamless entry point for clients into the system by developing a user-friendly and secure authentication interface. Our developers integrated the authentication form into the overall system through collaborative efforts, creating a reliable and efficient means for clients to access the platform.
The dashboard enabled clients to access, set up, and configure ad campaign schedules. It comprised three key modules: campaigns, strategies, and management of creatives.
Key entities within the system:
Ad campaigns:
Ad strategies:
System for creatives management:
Technological foundation:
Developers wrote the front-end part with React.js and the back-end part in Python. They worked with the AMQP messaging protocol and Celery library to orchestrate a sophisticated message queuing system. Recognizing the Scheduler’s capacity to handle up to 20,000 entities simultaneously, the team executed background processes without client-side delays.
For instance, employing a step-by-step processing approach would have imposed delays on the client side when dealing with a substantial volume of ad strategies. Instead, the developers implemented a queuing mechanism using Celery, allowing them to process many strategies efficiently in the background. This approach informed users through an “in progress” indication in the UI, providing real-time visibility into ongoing processes.
Upon completing the campaign creation, the user interface dynamically reflected the status change to “done” or “error.”
Logging
The project team recorded all the information associated with each client’s activity in the Postgres database. It contained operational logs, which enabled developers to diagnose and troubleshoot issues before they flowed to the production server. We utilized Kibana for system monitoring, as it helped visualize logs and identify peak loads, errors, and the number of created schedules.
Integration via APIs
The system communicated with the DSP and determined the launch time of the advertising campaign based on the configured advertising strategies. The data was stored in the database, and then, through the TerminalOne API, it was connected to the DSP and published there.
Other functionalities
User notification system
Our developers successfully implemented a three-tiered user notification system catering to clients, admins, and developers. This comprehensive system ensured that notifications addressed the specific needs and roles of each user group:
Notifications for clients:
Notifications for admins:
Notifications for developers:
Permission management system
The Scheduler incorporated a user access control system that reacted to changes on the go and in real-time. Our developers used the LaunchDarkly service and Websockets to assign and manage specific user access flags without delays.
For example, Mediamath’s admins could block access to ad strategies or campaigns for all users except a specific manager. Upon these changes, the system connects to the permissions system and checks whether this user has access. If they have, Scheduler displays the UI with access buttons. The system shows the UI with “Access denied” notification if they don’t.
Testing
Testing was an integral part of the entire development process, ensuring the reliability and functionality of the system at every stage. This methodology prevented the introduction of new bugs or unintended consequences with each system modification.
Our developers applied unit testing to analyze components and verify that each functioned as intended in isolation. When the system architecture took shape, integration, regression, and functional testing seamlessly followed, examining the seamless interaction between these components.
As the development progressed, we conducted performance testing to assess the system’s scalability and responsiveness under varying loads. This approach helped identify potential bottlenecks and optimize the system for efficiency.
Release to Production
Our developers set up CI/CD pipelines that automatically delivered the code to a new Docker container and deployed the latest version to the end user. This process involved deploying application code, database updates, and any necessary configurations across the AWS infrastructure. Rigorous automated testing, including unit, integration, and end-to-end tests, was conducted to validate the functionality and integrity of the deployed systems.
Improvement (Duration: 2 months)
Our developers focused on calibrating and optimizing the system to align it closely with the desired specifications and user expectations. They fine-tuned underlying code, resolved bugs, optimized features, and tested the performance and scalability.
Release
A one-year development journey culminated in the successful release of the finalized version of Scheduler, which has become a valuable asset within Mediamath’s operations. The company’s clients embraced the system for its robust functionality, user-friendly interface, and efficient ad campaign management.
Scheduler is a tailored, innovative, and meticulously developed solution that meets and surpasses the client’s needs. The positive reception results from quality design, development, and testing processes established and managed by Geomotiv’s specialists.
Key achievements:
Fill out the form below and we’ll get in touch within 24 hours