||Java, Grails, PostgreSQL
The client is «Between Digital», which offers services to publishers on its SSP-platform, and for advertisers and advertising agencies – it offers services on its DSP-platform. The entire system is based on a RTB-platform, allowing real-time-auctions for advertising displays and making successful bids on behalf of advertising agencies and technology platforms. The wish of the client is to build a graphical interface to set-up advertising campaigns, make placements,push creatives, set various targetings, etc. Also it was a requirement to provide technical integration with the base white-label RTB-platform at the back-end. Also necessary is to implement a component, which displays statistics about advertising campaigns.
Start of the project
Together with the customer we created a Technical Design. We would be adopting a set of user roles, a domain model, a set of components of reporting statistics, a system of pattern design screens.
To run the project we would need to achieve the following objectives:
Objective 1. Construct the interface to create the entity "placement" and interface for statistics
The entity placement includes a large number of fields and a set of child entities. Our analysts have developed the models to edit the layout of the “placement” and “statistics” modules and our customer approved our work after several iterations..
Objective 2. Organize concurrent access to data
In the business model of the customer, each user of the system belongs to some agencies, and sees only the data of this agency. Advertising campaigns, placements, creatives, which can be received from the platform, including statistics are also delimited by the agencies of the users.
Objective 3. Interoperability with RTB platform.
Sending data about campaigns, placements, creativities need to be performed in accordance with the requirements of the RTB platform. A file is generated and sent after any changes to the data, at least every 2 minutes when there is a change, and at least once per hour regardless of any changes.
Download statistics from RTB platform via two channels:
Channel 1. Fixed-format file
The RTB platform prepares a file with a fixed set of fields. Our system periodically downloads the data from the file and stores them in its data store. Stored data are used to create reports with a fixed set of columns.
Channel 2. REST API utility to generate reports of the RTB Platform
RTB platform uses the REST API utility to generate and display statistics with arbitrary grouping and arbitrary filter data. In the developed system the report-gateway to the utility of statistics platform was added, with the possibility of an arbitrary grouping and filtering data, plus the obligatory split of data between agencies.
Having dealt with the key objectives, the team started to develop.
he result was a system for setting advertising campaigns, with the following functions:
— Creating an advertising campaign, setting up targeting
— Listing of entities – campaigns, placements, creatives
— Functions to create and edit entities
— Access rights to data restricted to users split per agency
— Display reports about campaigns, placements, creative per different sections - per date, per entity
— Advanced administration - user management, moderating creatives, managing directories
— Sending a description of advertising campaigns in xml to the bidders of the RTB Platform
— Download statistics about advertising campaigns from bidders of the RTB platform and from components and statistics platform, building reports, export results to csv, xls, pdf
— Providing REST API for clients – the advertising agencies
— Manage advertising budget, automatic stop the campaign at zero balance
This is what the system interface looks like:
The developed system is is widely used by agencies and direct advertisers. We constantly adding new features, improve and extend it’s functionality.