Automating customer follow-up, from open quote to repeat order

As Product Manager at a B2B supplier to critical infrastructure, I owned the roadmap for a team of 5 and single-handedly led the customer automation program across conversion and retention, which lifted customer engagement and retention by 26%.

Role

UX Engineer / Product Manager

Team

1 designer, 1 developer, 1 content creator

Timeline

Oct 2024 to Sep 2026

Tools

NetSuite (Oracle), SuiteScript (User Event & Scheduled Scripts), Monday.com, Figma, OpenAI Codex

+26%

customer engagement and retention

3 days → 6 hrs

to design and code a campaign's templates, using AI

+25% - 34%

audience interaction (open, click, and response rates)

Dollar amounts and figures on this page have been altered for non-disclosure purposes. Percentages reflect actual results.

The Automations, by Lifecycle Stage

This case study goes deep on the reorder reminder series. The rest of the system it belongs to is listed below it. The customer journeys (trade-show and event, lead-to-customer, and ISD school budget) have their own page.

Retain

Reorder reminder series

Every sales rep's accounts; 3 major customers have their own series. Prompts the next purchase.

96%reordered within a month
60%first-send open rate
20%first-send reply rate
See how the series was versioned ↓

Also part of the system

Convert Open quote follow-up Customers with an open quote. Follows up so the quote turns into an order.
Retain Birthday congratulations Contacts on their birthday. Sends a greeting with a discount offer.

The Problem

Competitive Choice is a B2B distributor of facility maintenance and construction supplies for critical infrastructure. Customers bought, and then heard little from us until they needed to buy again.

Sales reps had reached capacity and couldn't follow up with every customer, so keeping that communication going fell to marketing. The goal was to digitize that follow-up in each sales rep's own pitch and tone, so we could reach more customers and leads.

Post-purchase communication had gaps, messaging across web and other channels was inconsistent, and the team had no shared picture of who our customers actually were.

Before

Marketing had no formal process for following up with customers after a purchase. Open quotes and quote requests were handled manually, so the wording, timing, and frequency of follow-up varied from account to account.

The Question

How do we stay relevant to a customer between purchases, at scale, without adding headcount?

Prioritization & Roadmap

  • Reorders first. I audited our customer communications and found gaps at several stages. I prioritized reorder reminders first because the company's goal for the year was to grow revenue.

  • Ship, learn, then version. Version 1 launched with limited requirements, so the series ran with no end date. Before it shipped, I had already planned version 2: after about 2 months live, the campaign data would give me its requirements. The series has 4 emails that cover the 4 components of the journey map: touchpoints > customer sentiment > pain point > call to action.

Trade-off: ship now, measure later

Stakeholders wanted campaign stats built into version 1, but that would have put the ship date at risk. I explained that stats could wait for version 2: adding those requirements would cost about a month, and we had already gone too long without talking to our customers. By shipping first, the automation was reaching customers during that month, and version 2 would have real data to build on.

v2 is live, and its data is shaping v3

Version 1 · Shipped

  • Regular mass and individual emails, so no campaign stats
  • Targeted customers by purchase behavior
  • Stopped the series as soon as a customer placed an order

Version 2 · Live

  • Moved the series into tracked campaign emails
  • Still targeted by purchase behavior
  • Produced the data below

Version 3 · Planned

  • Clean the contact data
  • Use subscription categories and personas to tailor each email's content

What version 2 showed · reorder series for one major customer, weekly sends from Aug 18 to Oct 6, 2026

60%opened the first send
20%replied to the first send
21%opened across 8 weekly sends
14%bounced, so contact data needed cleanup
96%reordered and left the series

The largest reminder cycle reached 142 customers on Sep 8. A month later only 6 still needed a reminder, so 136 of 142 had reordered and dropped out of the series automatically.

Research & Segmentation (version 3)

When this happened: I skipped persona research for versions 1 and 2 so the automation could start reaching customers quickly. Those versions targeted customers by purchase behavior. Persona work started with version 3.

I partnered with customer enablement, sales, and executive stakeholders to plan and run quantitative research. We built data-driven personas segmented by level of government (which determines the budget cycle and opportunities), entity, sector, department, and sub-department. This mirrors our marketing audience segments.

For version 3, a teammate helped me collect data on individual contacts into a spreadsheet: 30+ data points per person, including title, decision-making role, tech-savviness, industry, and career background. From that spreadsheet, I grouped the contacts into personas. That level of detail is what lets version 3 tailor content: a facilities or custodial buyer and a program director get different messages at different moments.

That depth also shaped the content itself. Each persona had its own verbiage, images, and offers, so an email read as if it were written for that reader.

Persona card (redacted)

Level of government
Xxxxxxxx
Entity
Xxxxxxxxxx Xxxxxx
Sector
Xxxxxxxxxxxx
Title
Xxxxxxxx Xxxxxxx
Decision-making role
Xxxxxxxxx
Tech-savviness
Xxxxxx
+ 24 more data points

Segmentation tree

Level of governmentsets budget cycle & opportunities
arrow_downward
Entity
arrow_downward
Sector
arrow_downward
Department & sub-department
arrow_downward
Persona30+ data points, own verbiage, images & offers

Subscription structure

In addition to the audience segments, I created a structure for subscription types and their subcategories.

General

  • Newsletter
  • Promotion

Segmented

  • Product updates
  • Education
  • Community

Operation & transaction

  • Order updates
  • Account notification

Three personas, used by every campaign

Decision maker Influencer End user

By the time I left, every campaign and communication used these 3 personas. I met with sales reps and the customer enablement team to verify purchase behavior and communication channels: who places the order, who decides to place it, and who requests it.

The Automation Program

After mapping the journey from qualified lead to repeat buyer, I found gaps at every stage: leads and open quotes depended on timely follow-up, and customers went quiet after buying because nothing reached them at the right moment. I designed a set of behavior-triggered automations in NetSuite (Oracle) that react to each customer's stage and behavior, as part of our omni-channel acquisition, conversion, and retention strategy.

My role: sole owner, end to end

I met with stakeholders to define the requirements, wrote the NetSuite scripts, and designed and coded the email templates myself.

Safe releases

Before any script went to production, I ran QA and a code review with a developer and stakeholders in a Sandbox environment, to make sure it would not trigger unwanted communication to customers.

  • Built on the data model: NetSuite saved searches over transaction, customer, and contact records, plus workflows and custom scripts, select customers by stage and purchase behavior. Persona segments are added in version 3.

  • AI-accelerated delivery, 3 days to 6 hours: I used OpenAI Codex to design and code responsive templates that render correctly in Outlook, which research showed most of our customers use. AI cut the design and build time for each campaign from 3 business days to 6 hours.

  • AI-assisted build: I used OpenAI Codex to script functions and workflows, so I could build and ship the automation myself without waiting on engineering.

  • Measured and tuned: I defined engagement KPIs (open rate, click rate, response rate) and iterated on content and messaging, lifting audience interaction 25 to 34%.

  • One voice across channels: messaging was aligned between email, customer enablement, and sales reps, so customers had a consistent experience wherever they met the brand.

You May Wonder

  • Reorder reminders: in the largest cycle, 136 of 142 customers (96%) reordered within a month and dropped out of the series. The first send opened at 60% with a 20% reply rate.

  • AI-assisted templates: design and coding time per campaign dropped from 3 business days to 6 hours.

These 3 accounts are large companies, and each one splits the purchase across different people: those who make the decision, those who influence it, those who place the order, and the end users. One generic series could not speak to all of those roles, so I built a dedicated version for each account, branched from the main logic. That was what it took for those customer journeys to meet their KPIs.

Sales reps track how many leads convert to prospects and then to customers, how long it takes to reach closed-won, and how many sales orders each account places per purchasing cycle. I measured the automation against those same numbers: 96% of customers in the largest reorder cycle placed a new order within a month. That way the automation was judged on their goals, not just engagement metrics.

Design System as a Product Asset

I led the definition and rollout of a centralized design system and treated it as a product, not a style guide. It cut design inconsistencies by 30% and shortened delivery timelines.

Results

  • +26% customer engagement and retention, driven by prioritized research insights

  • 3 business days to 6 hours to design and code a campaign's templates, using AI (OpenAI Codex)

  • +25 to 34% audience interaction, measured on open, click, and response rates

  • 30% fewer design inconsistencies, with faster delivery

  • A team that runs itself: Scrum cadence, code reviews, and stakeholder training on UX best practices. I also hired designers and ran monthly 1:1 coaching and design reviews.

Reflection

The biggest lesson was that automation is only as good as the structure and data behind it. I shipped versions 1 and 2 on purchase behavior alone so the automation could start reaching customers quickly, and version 2's numbers, including a 14% bounce rate, showed me that clean contact data and personas had to come next. Next, I would use the subscription and segmentation structure to make every journey more personalized.

See also

Customer Journeys: the trade-show and event journey, lead-to-customer journeys, and the ISD school budget journey.