Last week, I watched a prospect get stuck in an authentication loop. They couldn’t access their onboarding portal. For two hours, they thought they had a serious problem.
A VA dug into it and found the issue: a Chrome profile conflict. The fix was literally incognito mode. Three actions. Sixty seconds.
But here’s what struck me: during those two hours, the prospect didn’t think “I’ll switch platforms.” They thought “This integration is too complex for us.” The perceived lock-in was real, even though the actual lock-in didn’t exist.
This is the most underrated competitive moat I’ve found in B2B sales: psychological switching costs.
I learned this from a payments processor who came to me terrified of a migration. Their existing vendor had them convinced that moving to a competitor would require a complete technical overhaul. The prospect quoted me six months of integration work, custom API rewrites, downtime costs, the whole nightmare scenario.
I called an engineer. They looked at the migration path for fifteen minutes.
“It’s three lines of code,” they said. “Maybe a day of testing. That’s it.”
The vendor had built lock-in entirely through perception. The switching cost was real in the buyer’s mind and illusory in the actual product. But the perception was the stickier thing.
Here’s the problem: most people don’t know what’s complex. They can’t tell the difference between “this requires rewiring our entire backend” and “this requires one config change.” So when a vendor fills that uncertainty with doom scenarios, the buyer believes it.
I’ve started weaponizing this in reverse. When I’m selling against a bloated incumbent, I do something specific: I make the switching path visible. I show the actual technical effort. I give them the specific sequence of changes, the testing checklist, the timeline. Suddenly, their perceived lock-in collapses because I’ve replaced it with concrete reality.
Buyers aren’t stupid. They’re just risk-averse in darkness.
The inverse is true for building real stickiness. The products I’ve seen survive price wars and feature comparisons all do one thing: they make their core value loop cognitive. Stripe’s lock-in isn’t that leaving is hard. It’s that switching is confusing, and confusion feels like risk.
This is why docs matter more than most people think. Why onboarding matters. Why your support team’s response time is a moat. Each of these is a signal of switching complexity that the buyer internalizes, whether it’s real or not.
The authentication loop I mentioned? That’s the inverse lesson. A one-second fix communicated poorly becomes a three-hour panic. A three-line code change communicated well becomes “they’ve got lock-in we’ll never escape.”
So here’s what I’m testing now: What if you inverted the psychology? What if, instead of letting your product be a black box, you made the effort of adoption genuinely transparent? “Here’s what you’ll change. Here’s how long it takes. Here’s the exact moment you’re running both systems in parallel.” Most vendors hide this because they want you to think it’s harder.
But if you’re the one showing the real complexity, and the real complexity is low, you own the switching conversation. You’re not competing on lock-in anymore. You’re competing on actual value. And value is a way better moat than perceived complexity.
The payment processor I mentioned? They eventually switched. Because I showed them what switching actually cost. And it was less than what they were already spending on the vendor who’d terrified them into staying.
Perceived lock-in works until someone shows the buyer what’s actually locked. Then you have to compete on real things.