project

Empowering the CDP user

How we moved critical customer tasks from our service team to the user, saving time and effort on both sides

Graphic for Customer Data Platform project - one product screenshot of an interface showing a list of users, their access levels, status, and other data. A dropdown menu shows actions that can be taken on the users.
continue to next section

Project details

Problem statement

Our customers rely on Acquia's team of in-house implementation and support consultants to manage the complex controls and functionality of their customer data platform (CDP) including data onboarding and user management. The process is time-consuming, costly, and often creates delays in deploying updates or making critical adjustments. End users and their administrators are left frustrated with limited visibility and control over their own data, restricting their ability to quickly respond to evolving business needs. primary effect on the user include the following:

  • needing to submit a support ticket for day-to-day tasks like adding users or changing their permissions
  • concerns about data security due to permissions that may grant unauthorized access or actions
  • having little control over how the complex customer data is handled or modified as it flows into the CDP

Impact

Empowered End Users and Administrators: By streamlining data onboarding and user management processes, end users and administrators gain greater visibility and control over their customer data platform (CDP). This enhanced autonomy reduces reliance on external consultants, enabling faster decision-making and the ability to adapt quickly to changing business needs.
Reduced Operational Costs and Deployment Delays: Simplifying the complex controls of the CDP minimizes the time and resources required for implementation and support. This efficiency lowers operational costs, expedites updates, and ensures critical adjustments are deployed promptly, improving overall user satisfaction and system reliability.

My responsibilities

Role: Project, design, + research lead - Acquia 2022-23

  • Collaborate with product and customer-facing teams to identify internal pain points
  • Recruit for, conduct, and analyze user interviews
  • Design and run internal workshops to drive and maintain project alignment
  • Generate interface designs at all levels of fidelity and iterate as feedback and insights were received
  • Annotate pixel perfect screen designs and meet with developers throughout the build process
  • Conduct post-release user data analysis
  • Prioritize future product features based on data and user interviews

Objectives + metrics

HAPPINESS: Boost customer satisfaction with implementation and onboarding by 20% within 4 months post-launch.

TASK COMPLETION: Enable admin users to autonomously manage user roles and key database configurations

INTERNAL: Reduce account-related support tickets by 40% and minimize management time for customer-facing teams, measured through internal surveys.

Research + analysis

Objective: Understand the current task distribution, identify user pain points, and determine a phased approach to empower users and reduce reliance on in-house consultants
Key activities:
  • Conduct internal research to analyze existing task distribution and validate the business case
  • Hold customer interviews to identify the most significant pain points related to product controls and functionality
  • Generate an effort/impact matrix to evaluate customer needs and prioritize features based on available resources
Effort/Impact Matrix with various sticky notes and one highlighted area for the priority focus (User Management).

Mapping + alignment

Objective: Align internal stakeholders and define a clear path for enhancing the user experience across key product interaction phases
Key activities:
  • Develop a customer journey map to visualize the end-to-end account management experience
  • Communicate project goals and user-focused priorities to internal stakeholders
  • Map primary user flows to support decision-making and ensure clarity for design efforts
  • Research and decide on the overall permissions structure to be used to optimize user flows

Permissions structure

During the initial review of user flows, it became evident that there was a lack of cross-team alignment on the overarching user permissions structure. Achieving this alignment was crucial, as the structure would ideally scale across all products and support a platform-wide permissions feature in the future. To address this, I conducted in-depth research on the existing permissions framework and analyzed best practices from similar multi-product platforms. I then presented my findings and strategic recommendations to a panel of stakeholders, fostering consensus and paving the way for a unified permissions strategy.

Role-based access control (RBAC)

Permissions are assigned to roles, and users are granted roles. Access is determined by the role(s) a user has, rather than assigning permissions to individual users.

Pros

  • Simplicity of management: Easier to manage permissions for large organizations because changes are made at the role level, affecting all associated users.
  • Scalability: Works well for organizations with hierarchical structures where roles align with job functions.
  • Ease of auditing: Roles and their associated permissions are easier to track and audit.

Cons

  • Complex initial setup: Requires careful planning and definition of roles, which can be time-consuming.
  • Static Nature: Changing business requirements might cause frequent updates to role definitions.
  • Less Granularity: Roles might not always accommodate fine-grained access needs without creating role sprawl (too many roles).

Access control list (ACL)

Permissions are assigned directly to users or objects (resources). Each resource has a list specifying which users or groups can access it and what actions they are allowed to perform.

Pros

  • Flexibility: Ideal for environments where access requirements vary significantly between users or resources.
  • Granularity: Offers fine-grained permissions, allowing precise control over individual users' access to specific resources.
  • Adaptability: Permissions can be adjusted on a per-user or per-resource basis as needed.

Cons

  • Complexity in large systems: Managing individual permissions for many users or resources can become overwhelming and error-prone.
  • Difficulty of auditing: Tracking and verifying permissions across multiple users and resources can be challenging.
  • Risk of inconsistencies: Directly managing permissions increases the risk of accidental over-permissioning or misconfigurations.

Design recommendation

Although an ACL-based permissions structure was expected to be easier to implement initially, the design recommendation provided to the product and engineering teams prioritized an role-based structure. This decision was driven by RBAC's superior scalability—particularly for future integration with other products in the suite—and its increased security from offering consistent, audit-friendly user permissions to support long-term growth and reliability.

Design + development

Objective: Design, test, and deliver user-centric solutions that address pain points and streamline product controls
Key activities:
  • Create basic wireframes to validate technical feasibility and refine user flows
  • Produce more detailed designs for unmoderated user testing, focusing on task completion and navigation clarity; analyze results in Dovetail
  • Deliver annotated designs with user feedback incorporated, finalize details, and prepare assets for handoff
  • Collaborate with engineers post-handoff to ensure design intentions are implemented accurately
Gif showing user test on 30% designs.

Low-fidelity

These initial wireframes were built out during the conversations around the overall structure of the permissions system mentioned above.
Purpose: Validate technical feasibility of the main user list, role definitions, and primary user tasks with minimal UI to distract from the core experience.
Two mid-fi prototype screens showing a user list and a list of roles and the actions that can be taken on each

Mid-fidelity

This next phase focused on refining some of the user controls, adding in some context, and iterating on the best way to represent the custom roles for each user.
Purpose: Test and select the best organizational and visual concepts to move into a series of moderated and unmoderated user tests. Confirm technical and architectural plans before moving into high-fidelity.
Two highly-annotated screenshots of the final  interface design

High-fidelity

These designs combined the user insights from testing with the full design system components and guidelines to form a complete and coherent set of screens to be developed.
Purpose: Pixel perfect, fully annotated designs built to be used with Figma Dev Mode to facilitate the hand-off to developers.

Results

Outcome + metrics

HAPPINESS: Partway through the project, we lost funding for the third-party tool used to collect in-product feedback, preventing us from comparing customer satisfaction ratings before and after the feature release. However, in-house support teams reported a noticeable improvement in overall customer sentiment.

TASK COMPLETION: The scope was narrowed to focus solely on user management tasks, with plans to apply the same approach later to other areas like data onboarding. All planned tasks for the admin persona were completed. For non-admin users, all tasks were achieved except for permission viewing (see lesson learned below).

Four months post-release, account-related support tickets decreased by 25%, and internal surveys confirmed a reduction in time spent on management tasks for customer-facing teams.

Lessons learned

The non-admin user’s need to view their own permissions was overlooked.

Problem: During the design phase, we did not account for users' need to easily view and understand their permission levels within the system. This oversight led to confusion and reliance on support teams for clarification.

Solution: Post-release, we brainstormed several design solutions, such as adding a dedicated permissions tab in the user profile or embedding tooltips throughout the interface. These are now prioritized in the feature backlog.

What I would do differently: We would have conducted more thorough user research and workflow analysis to identify critical needs like permissions visibility early in the design process. Usability testing prototypes could have surfaced this requirement before development began.

The technical and visual complexity of the permissions system was underestimated.

Problem: The permissions system was designed for general use but failed to account for the diverse and complex structures unique to different clients, leading to technical limitations and visual clutter.

Solution: We implemented incremental updates to the system to address common edge cases and began documenting client-specific needs for future design iterations.

What I would do differently: A more collaborative approach with engineering and client stakeholders during the scoping phase could have highlighted these complexities earlier. Prototyping scenarios with diverse client data would also have helped identify challenges and prevent rework.

Pre-release communication was not detailed enough for users

Problem: Insufficient communication with users about new features and updates led to confusion and an initial increase in support tickets, which strained resources post-launch. While this eventually evened out, there were a few weeks of strain that could have been avoided with a more proactive communication plan.

Solution: We added an onboarding guide and a series of in-app notifications using GainsightPX to explain the changes and how to use the new functionality effectively.

What I would do differently: Developing a detailed communication plan alongside the release timeline would have ensured all stakeholders, including support teams and end-users, were well-informed. Collaborating with marketing or customer success teams could have improved the delivery of these messages.