This case study is locked 🔒

If you'd like to review this work, please email me for access.

custom mail merge tags

Role: Product Designer at Staffbase
Date: March - November 2023
Industry: Email, Internal Communications

  • 1 Product Designer (me)
  • 1 Product Manager
  • 6 > 3 Full Stack Engineers
  • 2 QA Engineer
  • Microsoft (Customer)
  • Transition Team (LoL)
  • Senior Director of Product


Staffbase Email is one of the apps in the Staffbase internal communications platform that allows enterprise customers to send email communications to their employees. Mail merge was requested by 22 enterprise accounts and 28 users accounting for around $398k ARR. It was also a condition for Microsoft to renew their contract with us.

In Mail Merge V1, we added the ability to personalize emails through tags linked to data in the Contact Directory. Users are able to use {{firstName}} and {{lastName}} after MMV1 release. Originally, we wanted to allow users to access other default contact directory fields like Location, Job title, Department etc. after the release, but received feedback from customers that it would be more useful to work on allowing users to upload custom mail merge tags to be used in personalization instead.

The workflow that customers expect is largely based on their familiarity with other existing email personalization tools, most notably Microsoft’s Mail Merge, which this feature is internally named after. They are familiar with using a CSV upload workflow to manage their email recipients (equivalent to a distribution list), their tags and tag data. They highlighted data privacy as a top concern though, as multiple collaborators usually work on an email together, but only those with access should be able to upload data for custom attributes. Any custom data associated with this email should also be promptly deleted after sending.

discovery & research

Method: Discovery Interviews
Participants: 5 Customers
Conducted by: Designer (HLE), Designer (BiPs - Me), 2 Product Managers

Key Insights

  • Outside of the first name, last name scenario, all use cases shared with us were "single-use" situations
  • All of these email types would require a lot of manual effort if done without mail merge
  • Contact Directory maintenance and field visibility of sensitive data are extremely important for enterprise companies

Example Use Cases

As an Internal Communicator, I want to

  • Send an email that addressed the recipient by their first name
  • Send a URL that is specific to the recipient.
    • FAQ link based on the employee's region
    • Personalized link to reset their password
    • URL that connects to a personalized document on SharePoint
    • URL to join an event specific to their region
    • Internal job postings based on their department
  • Send a recap of information that is only relevant to a single employee
    • List of computer IDs for machines that are out of compliance
    • Internal job recommendations based on their department
    • Unique gift card code
    • Attachments that are specific to the manager receiving the email
    • Event information that shows which event the recipient registered for and their travel details
    • Thank employees for submitting an idea, and the topic that they submitted the idea for
  • Send compensation specific information to an employer or manager
    • Compensation-specific information
    • Vacation specific information to each recipient. ie. you have 6 days left to use before the end of the year
    • Emails to a manager to provide them with a list of employees that are receiving increases due to the lift in the minimum wage
    • Bonus letter attachment that is specific to the recipient
    • Information on a grant they’ve been awarded and the amount of the grant

team whiteboarding

How do single-use tags work?

The unique contact ID is used to match recipients in the CSV uploaded in the personalization flow to contact data already in the contact directory. All uploaded data (shown in green) will be available as tags that can be used for personalization of the email draft it is associated with, and will be deleted after the email is sent.

Contact directory fields on left, CSV uploaded fields on right.

If any data is missing for a recipient in the CSV, we will use a “fallback” value in the email instead, or leave it blank.

Mail merge tags from different sources.

When the email is actually sent, we will parse the CSV to populate the tags with the correct data or fallback for each recipient.

Tag behaviour after sending email.

Scoping the project

Talking through the flow as a team allows us to highlight items we can put in the “parking lot” as questions we need to answer and items we know will be out of scope for the current iteration of the feature.

Working out user flow in Figjam.

I find that the intentional messiness of it lowers the barrier for anyone on the team to contribute and makes the design feel less precious. We can use a marker and draw over it and make sure the flow is solid before moving to higher fidelity.

Questions and future items

What was included in the first release of Mail Merge V2?

Mail Merge V2 allowed users to collaborate on emails as normal and added the ability to upload custom mail merge tags through a CSV. We allowed the Draft Owner (user who created the email) to create, edit, or delete custom mail merge tag data. The draft owner could also preview the email design with data from the first 5 recipients from the uploaded CSV to ensure everything was working as intended. Other email collaborators were able to see the uploaded tags and use them but were not privileged to view the actual data itself (i.e., who the recipients were and the data tied to them). We differentiated tags by calling them Directory tags or Single-use tags to call attention to their data origin. Directory tags came from data already available in the Contact Directory, whereas Single-use tags were imported through a CSV.

final screens

Email personalization (mail merge) dropdown in email designer
User uploads CSV with tags and recipients
Error state example
Import modal loading state
User sees uploaded tags and can edit fallback data
Newly uploaded tags available for use in email designer
Tags missing data or misspelled are shown in an error state
Preview first 5 recipients from CSV
Email send page without MMV2
Email send page with MMV2 (Restricted recipient options)
Review email page


Content Review

Content review with UX writer in Ditto


Storymapping with team in Miro
Linking issues to Jira and breaking down work per team
Work translated into tickets in Jira for management and execution


  • Company Re-structuring
    • During the project, Staffbase experienced layoffs and decided to cease North American product operations, leading to a transition of our work to European colleagues. Despite the reorganization and reductions in team and scope, I'm pleased with the results achieved amid these challenges.
  • Cross-Team Collaboration
    • Previously, we had two email teams collaborating on this project: Happy Little Emails (HLE), the email designer team, and Bananas in Pajamas (BiPs), the contacts and integrations team.
    • After the restructure, because of dwindling numbers, we also had an European team, League of Legends (LoL), join us in support.
  • Ongoing Scope and Resource Changes
    • Some colleagues moved on from their roles before the entire transition period. We had different technical leads look at the project with differing opinions which led to more scope changes than we typically experience in a project.


  • Clearly outline work and scope for each team
    • Give each person autonomy to run with their area of expertise
    • Have regular sync to clarify topics and align on wider vision
  • Use multiple communication methods
    • Use slack project channel to post meeting minutes and actions
    • Thread bugs from test findings and status of tickets
  • Create a safe environment for differing opinions
    • Decision makers who are open to feedback or suggestions make for an empowered team
    • Initial scope was set by PM, but complexity to build product with reduced scope was more difficult than pursuing original scope
    • Wireframes were created by my design manager, but there were some intricacies of data structures in contacts and integrations that we had to clarify


Even with the decreased scope, timeline and resources, we were still able to produce a wonderful offering to allow customers to send emails with custom mail merge tags.

When sharing the work with customers, they were thrilled at the simplicity of the solution for something that is quite technical. We also had a prospect tell us about a use case that was much more complex than we anticipated and was surprised to find that our solution still held up.

Congratulatory slack message from the BIPs PM after demoing with Microsoft 😁

Mail Merge V2 will be rolled out for the remainder of 2023 and improvements will be prioritized based on customer feedback.