Consistent Builder Initiative

One of the areas I lead design efforts for at ActiveCampaign is our landing page builder, Pages. While powerful, this tool offers a vastly different experience than other builders in the platform, both in functionality and UI. In April of 2021, recognizing these shortcomings, I created two new layout options that would better organize existing functionality; provide a solid foundation for new features; and align with our design system, Camp. I then tested these two layouts using Maze, the results of which can be seen here.

Around this time, I also started noticing how these disparate experiences contributed to declining NPS scores and detracting user feedback. Consider the following quote, which speaks to unnecessary cognitive load and decreased efficiency:

“The first time I attempted to build a landing page, there was a bit of a learning curve since the builder is different from the designer for Campaigns.”

-Anonymous Maze participant and ActiveCampaign user

The screenshots below illustrate exactly what this user describes: four different builders with four different experiences. It became clear that we needed to prioritize a solution for these variances.

These observations prompted an idea: given the broad variance in ActiveCampaign’s builder experiences, what if we created a library of builder components that would be transferrable across the platform?

Introducing the Consistent Builder Initiative (CBI), a yearlong effort that audited existing builders, produced 45 new components and documented those components for our Camp engineers. While I led this initiative, I also worked with an incredible team of designers who represented other builders and our design system. This project wouldn’t have been nearly as successful without their support and collaboration.

Continue below to learn more about this initiative.

 

Step 1: Audit Existing Builders

To determine whether the CBI was worthwhile, we began by auditing existing builders to gauge what functionality was unique, versus what could be reused in another area. The greater the overlap in functionality, the more apparent the need for reusable components became. Our audit spanned four builder experiences (Automations, Campaigns [our email builder], Forms, and Pages) and identified over 50 pieces of functionality required in two or more builders.

Screenshot showing a sample of our audit, comparing existing functionality across four builder experiences.

 
 
 

Step 2: Create Figma Components

To prevent this initiative from stalling, our team adhered to a weekly cadence that addressed one audited item per week. The schedule went as follows:

  • Monday: Our team would meet for 90 minutes to address the next item in our audit. Each designer would review their assigned builder and identify critical functionality, then collaborate on an initial design that accommodated each experience.

  • Tuesday–Wednesday: This design would then be “componentized” in Figma and allow for variants and multiple use cases.

  • Thursday: Designers would meet for 30–60 minutes to review the component(s) and make necessary iterations.

  • Friday–Sunday: Component(s) would then be documented in Figma. See more about this documentation below.

Sample set of Figma components (and their variants) created for border, padding and corner-radii functionality.

 

Step 3: Document The Components

While component documentation varied in complexity, we tended to follow a similar structure. First, we introduced the component and showed it in the context of a builder. Multiple mockups were included if we needed to show various styles. We’d then dissect the component and detail its anatomy, showing additional states or interactions as needed.

Components often had two parts: sidebar functionality and canvas functionality. Sidebar functionality allows users to determine how a given object (i.e. countdown timer, image, video, etc.) will appear on the canvas. The countdown timer below is a perfect example. Not only did we have to account for the various styles and interactions on the canvas, but we needed to determine how that object would be manipulated from the sidebar. As such, a section was often included to define sidebar content and structure.

Lastly, we’d redline each part of the component(s) using Camp tokens, simplifying the handoff process between our team and design system engineers. See below for a dissected document detailing the countdown timer.

 

Introduction & Sample Mockups


 

Anatomy of the Component


 

Additional States & Interactions


 

Sidebar Functionality


 

Redlines & Specifications


 
 
 

Additional Document Samples

In all, 29 documents were created to detail and group related components. Below is a sample of that documentation.

 

End Results and Status

After a year of auditing, collaborating, and documenting, our team successfully completed the CBI, adding 45 new components to our toolkit. This was a remarkable achievement, considering it was an ancillary project alongside our dedicated workloads. I’m immensely proud of the team and our commitment to enhancing ActiveCampaign’s builder experiences.

The impact of this initiative is already evident in several ways. Firstly, it guided the UI redesign for the Campaigns team as they revamped our email builder in 2021 and 2022. (See below for an example of this new builder, heavily utilizing CBI designs.) As of November 2023, Camp engineers have developed two components—the rich text editor and color picker—that can be used across the platform. Lastly, our Forms builder is undergoing a reimagination to incorporate additional functionality and stylistic options, with its UI entirely derived from the Consistent Builder Initiative. This has significantly reduced the time spent on designing.

Screenshot demonstrating how the new Campaigns builder utilizes CBI designs. This custom UI will eventually be replaced with components as they are developed by Camp engineers.

 

CBI Component List

Below, you'll find a comprehensive list of all components created and documented for this initiative:

  • Sidebar

  • Drag-and-Drop Builder

  • Drag-and-Drop Element Padding

  • Element Isolator

  • Builder Toolbar

  • Name or Rename Page

  • Publish, Activate, or Send

  • Unpublish or Deactivate

  • Fullscreen Takeover

  • Preview

  • Floating Rich Text Editor

  • Responsive View

  • Save as Template

  • Add Tags to Visiting Contacts

  • Add Visiting Contacts to a List

  • Metadata Configuration

  • Page-Level Custom Code

  • Add or Replace Image

  • Image URL

  • Undo (⌘+Z)

  • Redo (⌘+⇧+Z)

  • Tracked Changes

  • Copy and Paste Element (⌘+C/V)

  • Copy and Paste Element Styles (⌘+⇧+C/V)

  • Duplicate Element (⌘+D)

  • Delete Element (⌫/Del)

  • Finished Editing Element (Esc)

  • Element Visibility

  • General Color Picker

  • General Font Picker

  • Element Width (% or px)

  • Element Drilldown Indicator

  • ActiveCampaign Marketing Footer Toggle

  • Background Configurer

  • Inner Spacing Configurer

  • Border Configurer

  • Border Radius Configurer

  • Opacity Selector

  • Drop Shadow Configurer

  • Inner Shadow Configurer

  • Drag-and-Drop within Sidebar Rows

  • Element "On-Click" Selector

  • Countdown Timer

  • Section IDs

  • Divider Element

 
 
 

The materials above contain copyrighted content, trademarks, and other intellectual property owned by ActiveCampaign and are protected by law. Unauthorized copying, publication, or use without permission is strictly prohibited.

 
 
 
 
 

Click above to return to the ActiveCampaign case study.