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.
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.
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.
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.