My Reports Suite. Redesigned monetization for 421K users, optimized purchase flows, replaced legacy portals with online dashboards and shipped the first AI summary.
- $5.5M+ARR after new monetization
- +13%YoY MRR, after −7.2%
- 421Kusers migrated in a week
Context
Semrush My Reports is a report builder for 45,000+ monthly active users — marketing agencies and specialists reporting data to clients and stakeholders. 260,000+ reports per week, 20+ third-party integrations alongside native Semrush data.
I was the lead product designer responsible for monetization, growth and AI in a unit of four product teams and three designers. Over two years I designed the monetization system, built the first AI features, migrated a dying product into a growing one, and ran 30+ A/B experiments.
~5% MoM growth in paying users, held for a year 5.2% in March 2026, one of the highest in the company
Why the Product Needed to Change
The reporting tool was part of a four-product subscription bundle. Two of the four started declining — one lost market fit, another was hit by Google algorithm changes. The bundle pricing stopped making sense. Reporting was the only product with clear market fit left, but at the bundle price it wasn't competitive.
The heads of marketing and product designed a new pricing model — new tiers, lower entry price, per-feature limits. Sound from a business perspective. But built from what they wanted, not from what the legacy billing system could actually do. That gap became my problem to solve.
Monetization Design
New billing model on a legacy system, ABC experiment, upgrade logic workaround, 421K user migration
Finding a Way In
The leadership team defined what they wanted: new pricing tiers, per-feature limits, upgrade paths. But they worked from business requirements — not from what the billing system could actually process.
We planned an ABC experiment to test monetization approaches. For each variant, I mapped the full implementation: limit mutation logic, user flows, feature attribution, sharing rules — so engineering could estimate before we committed.
Based on those estimates, we focused on replacing a three-tier subscription with a two-tier model where the limit was individual report slots, not a big package.
The monetization model wasn't my invention — leadership designed it. What I designed was how to make it real inside a billing system that couldn't process any of it natively.
The hardest part: upgrades between tiers. The billing system couldn't swap one limit for another. I designed a workaround — an Upgrade limit where base tier + Upgrade = pro tier. This created new edge cases: users could buy only upgrades, cancel them independently, or end up in partial limit states. Every scenario needed mapping and handling.
Limit Mutation & Paywall Logic
The new monetization introduced limits that changed dynamically — based on plan type, user actions, sharing settings, and corporate account structures.
What happens to report slots when someone upgrades mid-cycle? When a shared report is unshared? When a corporate admin removes a seat? When a trial expires but scheduled reports exceed the free limit?
I built detailed flow diagrams covering every mutation scenario — for individual users, corporate accounts, sub-users, and every product touchpoint.
These diagrams were the actual product specification. Engineering built directly from them. Other designers extended the base scenarios into their areas of the product.
User-Facing Monetization
On top of the system logic, I designed all user-facing monetization UX: paywall flows, limit indicators, upgrade paths, billing edge cases. Plus a dedicated landing page — since Reporting was now a standalone product, users needed to understand tiers, slots, and upgrade paths.
Migration
We prepared for four months and migrated 421,000 users in one week. It didn't go smoothly — billing didn't assign limits correctly, we discovered enterprise users with free access from sales contracts, and a legacy grandfathering project surfaced at the worst moment. I designed virtual limits — a product-side workaround that bypassed billing entirely — and coordinated documentation for support, ORM, and sales.
It then took another four months to make up for the chargebacks with new purchases. Before: $422K MRR peak, declining to $392K over a year. After: $460K MRR, +13% YoY revenue growth, about +5% MoM growth in paying users, held for a year.
Post-Monetization: Reducing Friction
Trials (+64% repeat purchases), seamless report upgrades (155 → 2,000), grace periods, selective report unfreezing
Right after launch we built a full CJM of every way to buy, the purchase journey. Three months later we mapped it again and compared how users were adapting. Then we started improving the narrow spots, one by one.
Seamless Upgrades
Inside the reporting tool, we were showing 5,500 paywall impressions but only getting 155 upgrades over 4 months. Users already had enough limits to upgrade, but the confirmation dialog felt like a sales pitch. They bounced.
We'd recently rolled out a recognizable diamond Pro icon across the product. What if we removed the confirmation step and let the upgrade happen on click?
155 upgrades → 2,000 in the same period. No paywall shown. No negative feedback. CSAT unchanged, UX related metrics as well. Paywall perception dropped from 35.3% to 28%.
Trials
We introduced trials with a "take now, pay later" framing — users could grab a report slot instantly and pay after the trial. One user could take multiple trials across different slot types.
Before: 1,120 new purchases and 292 repeat per month. After: 1,360 new (+21%) and 480 repeat (+64%), with \~3,000 trials issued monthly.
Grace Period & Selective Unfreezing
Instead of hard cutoffs, grace periods gave users time to decide. Direct conversion is 5.6% — modest, but it catches large accounts paying via invoices with gaps between payments. We also added selective report unfreezing: users choose which reports to keep active instead of losing everything.
What the Data Showed
At the end we built one more CJM and compared it with the first one, from right after launch. Across the whole work, monetization ended up here:
- Paywall clarity improved — users understood limits and options better than before
- Seamless upgrades reduced paywall visibility from 35.3% to 28% — fewer users perceived a hard gate
- AI Summary confirmed as the strongest retention driver — 17.5% return rate after 360 days, highest across all features
All post-monetization improvements came from a continuous A/B experimentation loop I set up — each experiment designed to generate at least two new hypotheses, feeding back into the next cycle. The seamless upgrades story above is a direct result of this approach.
AI Summary
First AI feature, system prompts, personalization that replaced JTBD user interviews
I designed and shipped the first AI-powered feature in Semrush Reporting — automated report summaries generated by LLM.
I worked through user scenarios, defined what useful summaries look like per report type, and wrote and maintained the system prompts myself — fastest way to control output quality with the right context.
Users can also read the AI summary directly from the report grid — without opening the report. Useful for creators managing dozens of reports at once.
The legacy part of the product didn't expose structured data for the LLM. I found an alternative approach that let AI summaries work across all report types — critical for user trust.
After launch, we added auto-updating summaries and personalization settings. Through personalization, we could understand user personas and JTBD without running traditional interviews — users told us who they are through their settings choices.
AI Summary became the strongest retention driver — 17.5% return rate after 360 days, highest across all features.
Client Portal → Online Dashboards
Shutting down a 97-user product, replacing it with embeddable dashboards at 1,800+/month
The legacy client portal had 97 unique monthly users. Complex setup, unclear JTBD, dependencies on two declining products.
Instead of fixing it, we extracted the core value — sharing report data with clients — and rebuilt it as online dashboards: permanent-link views with live-updating data, one-click creation, embeddable via iframe, schedule-based refreshes, and auto-updating AI summaries.
Before building, we ran a fake door test — 7,200 users showed interest, 2,800 signed up for launch notifications.
By March 2026: 1,800+ new unique dashboards per month, 5,500+ unique visitors monthly. Client portal sunset with zero user backlash.
Business Impact
Reversed −7% MRR decline to +13% and 5.5% monthly paid users growth, 30+ A/B experiments
- Designed the monetization system and migrated 421K users — reversed a year-long revenue decline into sustained growth
- Seamless upgrades: removed paywall confirmation, 155 → 2,000 upgrades with no negative UX impact
- Built the first AI feature in Semrush Reporting — strongest retention driver at 17.5% return after 360 days
- Replaced a dying 97-user product with dashboards growing at 1,800+ new/month
- Ran 30+ A/B experiments in a continuous hypothesis loop feeding product strategy
Recommendation from the Head of Design I worked with on this project
Recommendation from the Product Designer I worked with on My Reports
