Advertiser Personal Account - Apteka.ru

Built the advertiser personal account from zero into a suite of 13+ tools. The full commercial metrics are under NDA, but the operational scale: over 25,000 advertising entities have been created, platform allows manage push campaigns across 3.9 million users.

Scope

Lead designer / Design system pilot, foundational decisions / Complex B2B interaction design

Client

Apteka.ru

Duration

Ongoing

2021–2026

Context

Advertiser Personal Account is the self-serve advertising platform for Apteka.ru, the interface through which pharmaceutical brands, distributors, and suppliers manage their presence on Russia's largest online pharmacy.

What made this more than a straightforward B2B dashboard was the breadth of what it needed to cover. Advertising on Apteka.ru is not only banners, it includes push notification campaigns with audience segmentation, search suggestion placements, branded supplier pages built through an in-product page constructor, promotions, special offers, and detailed analytics across all of it. Thirteen distinct tool modules in total, each with its own interaction model, data structure, and user workflow.

This was also the product I chose as the pilot for the company's design system, which meant that architectural decisions about components, patterns, and theming were being made here with an eye on every other internal product they would eventually need to scale to.

The complexity of the data model

The most interesting design challenge in this product was not any single screen: it was a structural one. Every advertising entity in the system carries three distinct layers of requirements, and the interface needed to make all three legible without overwhelming the user.

The first layer is technical: certain fields must be filled before a record can be saved at all. The second is editorial: for entities that go through an approval workflow, there is a separate set of fields required before the record can be submitted for review, visible to the advertiser as a checklist showing what remains outstanding, and visible to the platform administrator as an incoming approval queue. The third layer is regulatory: all advertising placements on the platform must be registered with the Russian state advertising registry, which introduces a separate set of mandatory metadata fields governed by law rather than by product logic.

Three layers, different ownership, different consequences for incompleteness. The design solution was a layered labelling system: standard asterisks mark fields required to save the record, while a separate visual marker flags fields required specifically for submission to the state advertising registry. A persistent progress panel tracks the overall completeness of the entity, that needs approval, so users always know exactly where they stand without having to hunt through the form. Once submitted, the interface enters a moderation stage, at which point a chat module appears directly on the page, giving the user a dedicated channel to resolve questions with the moderator without leaving the context of their campaign. The result is an interface where complexity is present but not oppressive: users can progress through their workflow without being confronted by the full regulatory and administrative apparatus all at once.

A few of my favourites

The booking calendar needed to display 13 months across a screen constrained to approximately 1350px, a target resolution common on MacBook displays. Getting 13 columns to work at that width without losing legibility or compressing the content cards beyond usefulness required careful decisions about information hierarchy within each card and deliberate column sizing. The calendar received positive feedback from users and the team on launch.

The push notification campaign builder introduced a different kind of complexity: audience segmentation by any combination of user attributes: gender, age, location, last order date, purchase history, specific purchased products. The filtering interface needed to make arbitrary combinations feel manageable rather than technical, and the selection state needed to remain clear regardless of how many filters had been applied.

Scale

The full commercial metrics of the platform are under NDA, but the operational scale gives a sense of what it handles: over 25,000 advertising entities have been created and managed through the system since launch, and push campaigns currently reach an available audience of 3.9 million users. The platform is in active daily use across all major advertising formats the company offers.

The design system thread

Every component built for this product was designed to be universal from the start. Theming was handled entirely through colour tokens, which meant the same component library could serve a different product simply by switching a colour scheme. After this product launched and the approach proved out, the same kit was used, without modification, for the staff mobile app admin panel. Those two pilots became the foundation for the company-wide design system rollout that followed.