Ozon
Statistics in Ozon ORD
Designing and developing the Ozon ORD dashboard
ord.ozon.ru
Project details
Ozon ORD is a platform for collecting information about online advertising and submitting it to ERIR, the unified register of internet advertising, using a token. The token is a unique code used to track an ad during a campaign; it encodes the IDs of the advertising data operator and the creative.
Background
I supported the project for more than a year. When the regulator announced new advertising legislation, Ozon decided to build its own advertising data operator platform, and I joined the project. I designed the MVP features needed for accreditation and licensing, then created extensive prototypes for demonstrations to the regulator and later for research. We continued adding features and keeping the product aligned with ERIR’s API.
Our team stayed in close contact with customers through a Telegram chat, occasionally shared Pathway links for quick research, and held quarterly UX interviews.
Problem
As reporting volumes grew, recording every creative’s placement dates and impressions within an act became difficult. In many cases, the acts page seemed endlessly long. Users raised this in interviews and support requests. ERIR also updated its API for creative data in acts.
Goal
Support ERIR’s API changes and redesign the Acts interface so users could manage creative statistics more easily.
Tasks
- Update the settings page for completing acts;
- Link creative statistics to acts;
- Design a new Statistics section and the flow for adding creative records.
Process
About six months after the dashboard became available, it was clear that completing acts needed improvement. Users complained about lengthy forms, and we saw that the growing amount of API data made them harder to read. ERIR’s API had also changed to address how data was submitted and stored. An act needed to include information about the act between counterparties and all relevant original contracts. The existing form was hard to complete and edit, even though its accordion sections were collapsed by default. Finding a particular creative and checking whether it had been reported was difficult too.


After reviewing the information, conducting qualitative research, and analyzing the ERIR API changes, we decided to create a Statistics section. Users would record final creative data after a campaign, link those statistics first to an original contract and then to an act, and see those links to contracts and acts from the Statistics section as well.
The flow works like this: a user records a creative’s platform, impressions, period, and cost. When it is time to report to ERIR, they create an act, specify the original contract, and link the statistics for that period to it.
Statistics
I started with the table and filters. When a creative is linked to an act and contract, the table shows their IDs, names, and links. Content that does not fit in a cell appears in a tooltip on hover.

To add statistics, users select a creative and the platform where it ran, since one creative may run on multiple platforms, then enter impressions, the period, and cost. I added a checkbox for cases where the planned and actual periods matched. The edit page follows the same structure.

Acts
I reduced the size of the form. Users still enter the act’s own details there, but most contract allocation is handled by selecting the relevant contracts and statistics.

After selecting a contract, users enter the amount and VAT. Neither field should be prefilled with zero: zero is a valid number and might be the intended value in a contract. For financial data, people need to enter values themselves so they can trust what they submit. Due to a technical constraint, they must then save the act before linking creative statistics, because the database request is sent only on save. I also designed the table-cell states for this step.

Selecting a contract cell or its edit icon opens a modal table for choosing creative statistics. The system shows records that match the act’s period. Users can add records individually or in bulk, and remove them in the same way. The heading repeats the contract and period so they always know which act they are linking creatives to.

After saving, the contract and statistics data is stored in our database and then sent to ERIR.
Result
We released the feature and collected feedback. Users found it much easier to track creatives that still needed to be reported to ERIR and those already reported. Agencies asked for columns showing creation and modification dates and who made each change, since several people may share one account. That required new filters and column-management controls, which we shipped in the next release.
