profile

Growth Dives

Growth Dives: How Salesforce and HubSpot built complexity into their model


Designed to be complicated

Why Salesforce and HubSpot profit from complexity - and how Attio resets the model

A lil' 🎁 for you: Very excited to share the raw assets with you this week. Dive into the Figma file for this issue here, with a little extra sprinkling of analysis too.

It’s always struck me as utterly absurd that you need a consultant just to use the big, incumbent CRM tools.

Entire industries exist to make Salesforce or HubSpot usable. Salesforce alone has 170,000+ consultants worldwide, with over 3,400 partner companies.

Old-school complexity has become a business model.

And it sells.

HubSpot’s Q1 2025 revenue was $741 million. Salesforce’s market cap is $242 billion 🫠

BUT, I have never met anyone who says:

“I love Salesforce 🫶”

Or;

“HubSpot is such a joy to use .”

My first experience with HubSpot was back when I was UK Chapter Lead for Women in Tech. Hubspot's UI felt like walking into a garage full of cobwebs, the instinct is to get out as fast as you can 💨💨

That was three years ago. Fast forward to three weeks ago, when I joined Fyxer and had to start using HubSpot again.

But this time, there are alternatives - newcomers built to upend the incumbents.

Attio is one of them.

The biggest question on my mind is: do the older tools need to be that complex?

I want to know whether complexity by design is here to stay, or whether the newcomers can upend it.

So, I set out to compare them end-to-end, specifically looking at:

  • How easy is it to get set up on each CRM?
  • How do I feel across the flow, empowered or stupid?
  • Which feels more impactful?

Let’s jump in.

First stop: landing pages

The first thing you notice: Attio is clean, HubSpot is busy.

What makes Attio’s page different:

  • Concise copy: Attio’s hero has 50% fewer words - 12 words in total for the header + sub-header. HubSpot has 24.
  • Fewer distractions: Attio has 9 clickable exits above the fold. HubSpot has 13, with two nav bars, repetition in sales buttons, and a more prominent chatbot.

Scanning the two pages with your eyes, it’s clear there’s just less on Attio’s page. Which means lower cognitive load, reducing the risk of decision paralysis and making users likely to convert 🧠

If we zoom in on the page navigation specifically, we see the same thing. At first glance, I thought the site architecture looked similar:

  • HubSpot: Products | Solutions | Pricing | Resources
  • Attio: Platform | Resources | Customers | Pricing

Until I noticed that HubSpot has two top navigations; it has a second strip above this, with links for language, contrast toggle, customer support, contact sales, account, and about.

There’s repetition too: contact sales/get a demo shows up twice on HubSpot, and customer support appears both in the navigation and in the chatbot.

Almost like it’s foreshadowing the fact we’re going to need support in the future… 🥴

Moving on from buttons and architecture, the language and imagery show more differences, Attio:

  • Has moving animations of the UI in the hero section, whereas HubSpot has lifestyle imagery (a man looking at his laptop pensively)
  • Uses language that's short, concrete, playful, and memorable. HubSpot is more functional and catch-all; broad, corporate, aspirational.
Customer Relationship Magic
Attio is the AI Native CRM for GTM builders

Vs.

Where go-to-market teams go to grow
Unite marketing, sales, and customer service on one AI-powered customer platform that delivers results fast

I can tell you one thing: your header needs to show a promise it can deliver on.

“Unite marketing, sales, and customer service” is such a sweeping promise - I don’t think anyone has actually achieved this in practice.

But what we can do is test the second claim from HubSpot: “a platform that delivers fast results.” That comes down to how quickly you reach the first moment of value.

Let’s look at the time-to-magic moment.


Signup through onboarding

One thing I’ve learned in the past eight years is that shorter doesn’t always mean better when it comes to onboarding.

It’s what you do within those steps that matters:

  • Do you encourage the user to take core actions ASAP?
  • Do users feel like they’re curating their experience?
  • Do you cover off any worries they have?
  • And, crucially with AI products: do they feel like they’re in control?

The number of steps is secondary. What matters is whether customers feel seen, heard, and successful.

Overall, Attio has more steps and questions between the landing page and home - but that doesn’t matter when the steps are designed to delight, and you land on a powerful aha moment at the end.

In total, here they are:

  • Attio: 12 steps (Homepage → Sign Up → Temporary Password → Personal Details → Company Details → How did you hear about us? → Connect Email → Configure Account (how emails show up) → Set up Call Recording → Personalisation [what are you using Attio for?] → Invite Team → Start Reverse Trial → Magic moment: view enriched contacts in situ)
  • Hubspot: 7 steps (Homepage → Sign Up → Industry → Role → Company Name → Company Size → Company Website → Loading screen [“We’re glad you’re here”] → Empty State Homepage)

You can see each step individually here in the full Figma file: here.

Despite getting through HubSpot’s onboarding in a fifth of the time, I felt empty because I hadn’t made any progress.

On Hubspot's homepage:

  1. I’m told that I’m 8% of the way through setting up
  2. I have 5 guides to read
  3. Three sub-sections are all 0% complete
  4. I have 10 things on the left navigation and 8 on the top

💀💀💀

Do I see an AI-powered platform that delivers results fast?

Nope.

I see an empty dashboard with a lot of work to do.

And I’m not the only one. On Reddit, users talk about HubSpot’s steep learning curve and “cluttered” UX. One described the interface as leaving their eyes strained after an hour, while another summed it up as “slow... not intuitive... a hunk of UX-gaffe.”

Meanwhile, compare that to my experience with Attio:

The product has been working hard for me in the background throughout onboarding. I see:

  1. 2315 emails already processed
  2. A fully populated table with email contacts
  3. A checklist with “14% completed" and “Nice start!”
  4. AI-enriched data with the connection strength of the contact and the bucket they fall into
  5. A clear trial modal telling me what plan I’m in and what’s next

What we have here is a strong magic moment, where the promise of an ‘AI-native CRM’ comes to life.

This experience was only possible through a longer onboarding.

So instead of thinking: less steps = good.

Reframe it as: well-engineered steps = good.

You need to curate an experience by forcing a user to complete key setup tasks that correlate with retention. All without harming the onboarding conversion rate.

The caveat here is that if you’re adding onboarding steps, they need to work hard.

The three ways to do that are through UI, copy, and personalisation.


How to make a longer onboarding feel frictionless

When adding onboarding steps to strengthen your magic moment, you need to make those steps easy and relevant.

There are SO many tactics at play here, too many to count. I've listed off the big ones below:

1. Whitespace & Layout

  • Spacious layout: generous padding and line spacing so each step feels digestible rather than cramped.
  • Hierarchy through type and weight: Clear differentiation between headline (action prompt), body text (context), and microcopy (help or reassurance) = reduces scanning effort.
  • Whitespace is doing the heavy lifting - it doesn’t just look modern, it slows down cognitive load, helping users focus on one choice at a time.

The result is that your eyes aren’t working hard to filter and organise the content in your mind.

2. Input design

  • Short forms: Fewer fields per screen (chunking). Even if there are 12 steps, each feels achievable because you’re only asked for 1–3 inputs at a time.
  • Soft borders + muted backgrounds: Inputs don’t shout at you, instead they blend with the page until active. That lowers visual stress.
  • Smart defaults / autofill: Where possible, use pre-fills (e.g. email domains) and drop downs, so the work is shared between user and system. Pre-fill pills used vs. open text field = winning.

The result is that - even though there are more steps - they’re easy to complete.

And lastly, my favourite:

3. ✨ Personalisation ✨

When I upload my logo, it’s pulled into the example UI:

When I’m asked to use a feature, my name is already on it:

When I say what I do, that’s reflected in the UI:

I originally thought this was just fun.

But digging deeper, the psychology at play is more closely tied to relevance, control, and reciprocity than just pure entertainment.

The psychological principles are:

🧠 Personalisation bias: we all have an ego, let’s be honest. We’re wired to notice things that are about us. Seeing your name or behaviour reflected captures attention.
🧠 Reciprocity: by doing some work for you (e.g. pre-filling data, processing emails, auto-setting preferences), you’re more likely to continue engaging because you feel it’s already given you value.
🧠 Trust and competence signalling: convincing personalisation shows that the product is capable, attentive, and worth your time.
🧠 Illusion of control: When the product feels like it already “knows” you and adapts to your needs, you feel more in control.

The last point is especially critical for AI-based products.

I’ve seen this at Fyxer , where the theme of control comes up often in customer interviews. It’s commonly cited as an underlying reason for churn - the lack of control or the general lack of trust in what the AI is doing.

Now, compare all this to HubSpot.

There’s generous whitespace, then there’s just a lack of design 😂

Many of the rules we just went through are broken in HubSpot’s onboarding flow.

What I see here is:

  • Each screen is text + a set of boxes.
  • All buttons are uniform, same weight, same style = every choice feels equally important (increases how much you have to think through each).
  • Copy is polite but transactional.
  • There’s no micro copy or inline reassurance (e.g. “This is how your company will show up in your CRM”).
  • Empty effort: there’s no reward. I answer “Industry” and “Role,” but the product doesn’t show how those answers will shape my experience.

The effect of this is a flow that feels somewhat ungrateful for my effort and very underwhelming.

It feels flat and one-dimensional.

It feels like form-filling, not onboarding.

HubSpot’s onboarding is shorter, but it feels like bureaucracy - low motivation, low clarity, no sense of progress. Attio’s is longer, but it feels like co-creation - your workspace is coming alive as you go. And the result is that I enter into an intuitive, pre-built product experience, meaning I see value and I get it. Versus the setup I’m still required to do with HubSpot: uploading lists, setting custom data, and more. The former makes me excited, the latter fills me with dread.


In conclusion, do CRMs need to be complex by design?

Absolutely not.

The bigger question is how they ended up that way.

Part of me thinks it’s a first-mover advantage, where these older tools got there first, snagged the customers, made it hard to switch, and grew so big that they have too many cooks in the kitchen. In the process, they chose customisation over good UX, and so complexity became the default.

This could be a sales-led strategy, where they’re gating the best knowledge until later down the funnel. Typically, sales-led companies can struggle to move to product-led, as their onboardings are not set up to provide value without human support.

But I honestly don’t think being sales-led is an excuse. I believe that complexity isn’t inevitable; it’s a design choice.

Attio demonstrates that well-engineered steps can replace complexity with something more refreshing and in-tune.

Complexity has been the business model of the past. Control and clarity will be the business model of the future. Done right, it creates progress, control and trust (the things that actually keep users around).

That’s the shift we’re seeing.

And I love to see it. I can't wait 🤸🏼


Full transparency: This post is sponsored by Attio, BUT here’s how it worked:

  • I came up with the idea
  • I wrote the article
  • Attio had a look, and requested a grand total of two wording changes 😂 ('simple' -> 'clean' and 'friction' -> 'steps') and left all my opinions intact.
  • So while it’s sponsored, the ideas - and the cobwebs - are all my own.

Would love to know what ya think! 👀

This is definitely my most in-depth article of the year, I went deep 🤿 I also learned some new words like: chunking, input design.

You learn something new every day hey.

And don't forget to check out the Figjam file for this issue: here. This is roughly the format I used for my UX reviews as a freelancer, you're welcome to steal the template, just make a copy and on you go.

See you next week!!

Rosie


Growth Dives

Each week I reverse engineer the products of leading tech companies. Get one annotated teardown every Friday.

Share this page