Dominika Michalska

Work

Adtech platform: from pilot to production

Role PM · led the product Product campaign-setup automation, no AI Scope pilot to production Duration 9+ months

In the pilot, with a comparison group, most users chose the traditional route over the tool. Many did not understand the system and made mistakes while creating a campaign; short sessions and high bounce only looked efficient.

Result
Comparing two consecutive quarters in production, on the same pool of users in one large organisation: conversion of new users up 36% and adoption up 20% (both relative growth, and adoption held), and monthly retention at 62% in the second quarter.
Context
I brought engineers, developers, designers and domain specialists into one plan, and worked next to sales. Many stakeholders, external vendors and large campaign budgets made every change sensitive. I used AI in my own work, for example to build prototypes, and designed and validated an AI feature that we did not ship (see the first decision).
Scope and limits
These results cover one organisation; the plan was to raise adoption there first and expand later. They do not show how the product performed elsewhere. The smaller pilot pool was used for testing and is not the baseline for this comparison.

How it was measured

  1. Conversion+36%New users who reached their first campaign
  2. Adoption+20%Users with access who have created at least one campaign
  3. Retention62%Users who created a campaign and created one again the following month, in the second quarter
The three measures and how each one was defined. Growth is relative, quarter on quarter: two consecutive quarters in production. An active user is one who created a campaign.

Two decisions

Decision 1What do we build next?

Not chosenNew features from the backlog

Other new features were on the table, and the backlog was sizeable. One of them was an AI feature I had designed and validated with a prototype and a time measurement: AI parses the input data into the system, so users check and correct instead of filling everything in.

ChosenFix the main flow first

Remove friction from campaign creation, and ship only the features that support adoption.

What changed my mind

Data on how users behaved, user interviews and tests. They showed that many users did not understand the system and made mistakes while creating a campaign. That convinced the team.

Decision 2How do we handle bugs?

Not chosenReports in the order they arrive

Each report handled as it came in.

ChosenTriage by priority, connected end to end

User and internal bug reports triaged by priority, with P0 for critical bugs on the main user path. The report form fed our tasks, and task statuses fed the messages to the client and users.

What changed my mind

At a high pace of work, bugs and reports got lost, and users did not know when a bug had been fixed.

The triage system

  1. Bug reportUsers and the internal team report through one form.
  2. Task with a priorityEach report becomes a task, triaged by priority.
  3. Status changeWork on the task updates its status.
  4. Message outAn automated support message tells the client and the user it is fixed.
  5. Full threadIf the bug comes back, the whole history is there.
The bug triage system I designed and set up. Simplified, not a screenshot.

A product people try once and then avoid?

Tell me where users drop off and what you already measure.

Discuss your project →

More decisions I said no to · All work

Trust-Critical AI

Notes on building AI products, testing decisions and learning from what goes wrong. Sent when I have something worth sharing.

Read and subscribe to the newsletter ↗