ADTECH

How Admixer Experience Helped us Develop a DMP for an International Client 🤝

Foreword

Foreword

For over ten years now at Admixer we have been working with what many are calling “the new oil” — user data. We developed our data management platform, Admixer DMP, to help businesses better understand who their audiences are, who they need to target, and the contexts of engagement, among other things.

When we began to assess the options of creating similar platforms for international clients, we became aware of our underlying objective. But first, we needed to find someone willing to take a risk on us and trust us with not just their infrastructure but also their business.

That client happened to be Arab Trade Desk — an organization in search of better methods for collecting, processing, and, most importantly, making use of its data to drive marketing results.

Start of the project

The Arab TradeDesk approached us with the goal of building and training a DMP using their own data assets. Initially, they relied on the existing features of the Admixer DMP – collecting audience data, onboarding those audiences into usable segments, and activating them. However, it quickly became clear that their needs were more advanced and their expectations higher than what our default offering could support.

This client was one of those who constantly pushed us to improve. They came with a stream of small, specific feature requests that gradually added up to a much larger need: a customized version of our DMP.

At one point, our CTO proposed a mutually beneficial idea: let’s build a core, upgraded version of the DMP with the required functionality – funded by them. In return, they’d not only get a tailored solution but also benefit from future platform improvements without additional costs. The deal worked well for both parties.

How We Shaped the Technical Requirements

Arab Trade Desk's technical background was minimal. So the process looked like this:

Divider
01

We proposed solutions.

02

We discussed every case during daily meetings.

03

We approved the best approach together.

Why We Chose Rust for Development
When it came time to select the technology for the new DMP we did not hesitate in our decision, we chose Rust. Here’s why:
Performance
Performance
Rust doesn’t use a garbage collector, which allows it to run code nearly as fast as C or C++. This is critical for high-performance systems like DMPs that need to process and store data at scale in real-time.
Performance
Safety
Rust eliminates entire classes of bugs at compile time. Issues like null reference exceptions, segmentation faults, and memory leaks – which often plague C and C++ systems – simply don’t occur in Rust. For a system like DMP, which ingests and processes large volumes of sensitive user data, this built-in safety is invaluable.
Performance
Fewer bugs in production
Rust makes multithreaded code safe by design. It prevents race conditions and other concurrency bugs at compile time. This gives us confidence when writing complex parallel processes, knowing we won’t be introducing hard-to-catch bugs into production.
Performance
Efficiency by default
Rust’s ownership model and strict compiler rules force developers to think carefully about memory and performance from the start. This means that even without extensive optimization, the average Rust code is already highly efficient. Of course, with additional tuning, performance can be pushed even further.
Performance
No critical vulnerabilities
Rust was selected for this project because it inherently mitigates many classes of critical security vulnerabilities prevalent in software development, such as buffer overflows, null pointer dereferences, and data races. Through its strict compile-time checks, ownership model, and borrow checker, Rust ensures memory safety without the overhead of garbage collection or runtime checks. This approach significantly reduces the likelihood of exploitable vulnerabilities, resulting in more secure, robust, and reliable software.
The one downside, which can be a stumbling block for most new programmers, is the learning curve. Adopting Rust is a real mind game. It becomes a discipline that builds strong growth, proven results, and the safest code.
How We Built the Solution for the Arab Trade Desk
The ATD DMP (Arab Tradedesk Data Management Platform) is designed to collect, process, and segment user data from multiple sources for targeted advertising and analytics. It provides both rule-based and machine learning (ML) segmentation capabilities, offers UI-driven management of these segments, and allows for data export to external systems, including Admixer or any white-label solutions.
Key Features of the ATD DMP
Building an adaptive and scalable DMP system required all stages of data handling, from raw collection to sophisticated segmentation and seamless integration. This is what the ATD DMP provides:
01
Data Collection & Storage
This platform collects user data from multiple sources, including browser activity, application events, ad impressions, ad clicks, and custom events defined by the client. 
To store and efficiently process these large volumes of data, we used ClickHouse, a high-performance columnar OLAP database for analytics workloads.
ClickHouse enables fast access to huge datasets during queries and near real-time calculation of segments (with no decrease in performance).
02
ML-Based User Profiling
Using first-party data collected through forms (such as age, gender, occupation, and marital status), the DMP builds dynamic user personas using machine learning. These profiles become richer by linking structured data to user behavior, including site visits and content engagement. This powers audience extension — finding new users with behavioral traits similar to known audiences.
03
Rule-Based Segmentation
In addition to machine learning capabilities, the platform provides static or rule-based segmentation via a simple UI interface.
For example: "If a user spends time on the automotive section of a classifieds site three times a week, tag them 'Interested in buying a car.'"
These rules allow quick, on-the-fly segmentation without relying on ML models.
04
Real-Time Processing
All incoming events - clicks, form fills, pageviews - are evaluated. As user events arrive, the system executes the segmentation rules on-the-fly, ensuring that advertisers are always targeting a relevant audience with fresh attributes and minimal latency.
05
Cookie & ID Matching
We implemented a comprehensive identity resolution layer that links external IDs - DSP cookies, your CRM identifiers - to internal profiles. This allows users to be tracked across platforms, which will map successful audience targeting correctly across other systems.
06
Segment Export & Integrations
Segments can be exported in either a CSV or custom format, either in real-time or scheduled through batch jobs. The system supports almost unlimited export opportunities:
  • Integration with Admixer as a DMP provider,
  • Future support for platforms like Meta and DV360 via cookie-matching or universal ID exports,
  • Custom export formats for third-party white-label environments.
The platform allows for monetizing the data inside Admixer to be offered to traders and partners in audience segments while retaining 100% ownership for our client.
Inside of the Architecture: How ATD DMP Works

[high-level flow]

Data Ingestion
Collect user events (ad requests, page views, clicks, conversions) via real-time or bulk APIs.
User Identity Resolution
Match incoming events to existing user profiles.
Raw Data Storage
Store unprocessed events in a scalable data store (ClickHouse).
Rule-Based/ML Processing
Evaluate data to assign user segments.
User Segments DB
Update user’s segment data in real-time key-value storage (Aerospike).
Segment Export
Provide segments to external systems (Admixer, CSV export, etc.).
chart
The Segment Builder is the main logic engine of the DMP. It combines rules-based logic and machine learning (ML) input, processes user behavior, and provides final segment assignments for each profile.
What This Allows:
  • Real-time user segmentation based on both logic and ML.
  • Immediately respond to advertising requests using the most recent segment data.
  • Full independence for the client (the data sits on their infrastructure and is processed on their infrastructure).
  • Easy integration into ad ecosystems like Admixer or global platforms via export.
Final Results
What the Client Gained
Arab Trade Desk made a wise decision in making their own DMP investment and they received.
Database
A full platform delivered in just 2 months.
Update
A ready-to-use solution for collecting, storing, and processing user data.
Admixer
Free integration with the Admixer ecosystem.
Expand
Flexibility. Ability to export user segments to DV360, Meta, and other ad platforms via cookie-matching or CSV files.
Setup
Full independence. The system is deployed on the client’s infrastructure, giving them full ownership of data, performance, and customization.
This project was much more than another client implementation; it was a strategic investment for the Arab Trade Desk and a substantial proof of concept for Admixer. The project proved our capacity to successfully deliver an entirely custom-built DMP platform as an enterprise-level product in a very short time period.
The timeline is extremely tight – the first working version was launched with initial data in just two months. While looking at the initial scope of this project may seem small, the reality was far from simple. 
The combination of custom data collection from form-based submissions and complex rule-based segmentation, the inclusion of machine learning, real-time processing, and a rigorous QA testing environment was delivered on-budget and on-time. 
Most importantly, our client received a fully functioning DMP — standalone, deployed only in their own infrastructure without any reliance on third parties. Now, they fully own their full dataset and have complete flexibility in defining, managing, and exporting their audiences in any way they see fit.