This week’s case study: Marketo.

Why have public SaaS stocks crashed?  Why are pre-AI unicorns seeing their growth stall out, in many but not all cases?

The answer isn’t actually that complicated.  They just aren’t very good software anymore. Not in the age of AI.  Not compared to Claude, OpenAI, Gamma, Replit/Lovable, the best of AI + B2B.  Older software is just so … old now.

Everyone wants to blame macro, rates, AI disruption as some abstract force, budgets tightening, the usual list. The real answer is simpler and more brutal: a huge swath of the legacy B2B stack is actively worse than the alternatives now, and customers have finally noticed.

Let me give you a fresh example from this week.

The Marketo Story

SaaStr still runs email marketing on Marketo (now owned by Adobe). It’s a dated platform but it has scale, and migrating an email marketing system isn’t something you do on a whim.

For the last 2+ weeks, the unsubscribe link has been broken on emails Marketo sends from us. Fully broken. Recipients click unsubscribe, nothing happens. They keep getting emails.

That’s a CAN-SPAM violation. And it’s not some edge feature. Unsubscribe handling is about as core to what an email marketing platform does as it gets. If you can’t reliably unsubscribe people, you don’t have an email marketing product. You have a liability.

So we opened a support case. Here’s how it went:

  • First, support told us it could not be fixed, and blamed Salesforce. This made no sense. The unsubscribe link is generated by Marketo, sent by Marketo, and processed by Marketo.
  • Then we were told the only way we could actually get someone on the phone was if we escalated to engineering. We pushed, and we finally did.
  • On that call, engineering also blamed Salesforce at first. Then they pivoted and said maybe we were using a different email client, not Marketo. (We aren’t.) Then the final answer: “it must be something you are doing.”

For $60K+ a year.

They never committed to any fix. No ETA, no ticket ownership, no “we’ll get back to you by Friday.” Just a shrug.

And Then Adobe Confirmed It In Writing

Eventually the case got escalated up the chain. Adobe’s Global Escalation Desk sent back a confirmation email. Here’s what Adobe themselves wrote, in their own case notes:

That’s Adobe. Confirming in writing, in their own internal case notes, that Marketo is “not honoring unsubscribes properly.” Two-plus weeks in. On a CAN-SPAM-critical feature.

Only at the renewal-is-in-jeopardy tier did anyone at Adobe treat this like the core product failure it is. Not when we first reported it. Not when we got engineering on the phone. Only when $60K was visibly about to walk.

The escalation reason code is worth sitting with too: “Time to Resolution.” Not “Product Defect.” Not “Compliance Issue.” Just: we took too long. That tells you how Adobe internally categorizes a core feature being broken for weeks.

So We Built the Fix Ourselves.  Even There, Working with a Pre-AI API Was Brutal.

We spun up a new unsubscribe endpoint in Replit. It handles the click, deletes the record directly in Marketo via API, confirms to the subscriber. Built and shipped in an afternoon.

Think about what that means. A team of 3 humans plus some AI agents built a replacement for a core feature of a $60K/year product, in a few hours, because the vendor couldn’t or wouldn’t fix their own CAN-SPAM violation.  Five years ago that story doesn’t happen. You’d have no leverage. You’d wait in the queue. You’d pay someone $300/hour to maybe build a workaround over a few weeks. The workaround is trivial now. Claude plus Replit plus an afternoon.

Still, boy its dated 2018 API was hard to work with.  Reason enough to leave today.  Even Replit almost pulled out its hair trying to get the dated Marketo API to work:

A Dated, Pre-AI API is Death Now.  Your Agents Won’t Stand For It.  Nor Will More and More of Your Customers.

Anyone running AI Agents needs a state-of-the-art API today that works well with … AI agents.

And with Marketo, even on a $60k+ “standard plan”, you realistically get one good read per day. Any “live dashboard” of Marketo audience numbers is actually a “snapshot at 5 AM” dashboard wearing a costume.

Compare that to Stripe, Plaid, Anthropic, OpenAI, Vercel, Supabase, Linear. Any developer-led company built in the last decade. The gap isn’t incremental. It’s generational. For $60K a year, from Adobe, your buyers now expect the modern end of that spectrum. Not the 2015 end.

This Is the Whole Story of B2B Right Now

Marketo isn’t unique. Plenty of pre-AI era B2B companies are still running this playbook:

Charging $20K to $500K+ for products that increasingly don’t work very well. Treating support as a cost center to shrink. Blaming integration partners for their own bugs. Never really shipping meaningful improvements. Relying on switching costs and inertia to hold the base.

That worked for a long time because the alternative was “build it yourself” and nobody had time or budget for that. The calculus has flipped. When Claude is this good, and Replit (or Cursor, or Lovable, or whatever you use) can ship production code in an afternoon, the switching cost side of the equation collapses. Customers don’t need to find a new vendor. They can just build the specific thing the incumbent is failing at.  That’s at least one reason the valuations are compressing. It’s not a sentiment problem. It’s a product problem. The stack got worse relative to the alternative. And the market is repricing based on what the product is actually worth in 2026, not what the logo and contract value suggest.

Would you buy your own product again today?  Would customers choose it, or look at an AI native new entrant you can actually … get to do what you want?  That has an epic AI Agent?

The Honest Truth: The #1 Problem Is Culture

The root cause under all of this isn’t product roadmap. It’s culture.

A lot of B2B leaders are still running their companies at mass scale like it’s 2016 to 2022. The playbook worked so well for so long that nobody seriously questioned it. Net dollar retention above 130%. Price increases every renewal. Land and expand. Lean on the installed base for most of the growth. Treat customer success as a revenue extraction function. And when something goes wrong: blame the customer.

That playbook is dead. Most of the teams running it haven’t accepted that yet.

Walk into a typical legacy B2B company right now and you see:

  • Blaming the customer when the product fails. “It must be something you are doing.” Marketo just told us that. Verbatim. For a broken unsubscribe link.
  • Endless pricing increases attached to modest feature enhancements. 30%, 50%, 100% hikes for what is essentially the same product with a cosmetic update. A CRO actually told us last year, plainly: “Because we need the revenue. So I’m forcing you to pay it.”
  • Few to no AI agents actually doing the work. The marketing page mentions AI. The P&L still looks like 2019. The org chart is still 1:1 against every customer-facing function.
  • Mediocre APIs. No developer love. Docs that haven’t been meaningfully updated in two years. Rate limits that assume it’s still 2018.
  • Support orgs that gate access to anyone who can actually solve a problem. Three tiers of triage before you reach someone with commit rights.
  • Customer Success that cares about little but the upsell.  It’s all been moved into the sales org, after all.
  • Sales teams incentivized to close, not to make sure the product works after the PO is signed. Once the contract signs, the relationship cools by design.

The gig is up. The reason it’s up is simple.

Every buyer at every B2B company now uses Claude and ChatGPT every single day. Those are the tools they benchmark every other piece of software against. When you’ve spent your morning shipping production code with Claude in 45 seconds that would have taken two weeks a year ago, and your afternoon watching an AI agent autonomously close a deal in your CRM, there is zero patience left for a legacy vendor taking two weeks to not fix a CAN-SPAM violation.

Our expectations have been raised. Forever. And they keep going up.

That’s a cultural problem, not a product one. You can’t patch your way out of it with a roadmap. You have to run the company differently. Fewer humans, more agents. Support as a product function, not a cost center. Renewal conversations about value delivered, not price floors. APIs developers actually like. Shipping weekly, not quarterly. Owning your failures instead of blaming Salesforce, the customer, or the weather.

Be Honest Here.  The Problem Is Probably You, Or At Least, Your Dated B2B Product

Most B2B and SaaS products didn’t really change from 2015 to 2024. Almost a full decade. Same feature velocity. Same UX patterns. Same quarterly release cadence. A new integration every so often. A visual refresh every three years. A couple of AI features bolted on in 2023 that nobody actually uses. That was the playbook, top to bottom, across the entire stack.

And for most of that decade, it was fine. The category was growing fast enough that stagnant products still compounded. Customers had no real alternatives. Switching costs were brutal. Inertia was the best moat you had.

2015 to 2024 product strategy, honestly: ride the category, don’t rock the boat, push price every renewal.

That worked. Until it didn’t.

We are in the AI Age now. Every buyer in your base has recalibrated what “good software” actually means. They ship production code with Claude in minutes. They run entire GTM functions with agents that work overnight, or at least are beginning to. They built a workaround for your broken feature in Replit this afternoon.

A 2019-quality product priced at 2024 renewal levels is not a value proposition anymore. It’s a 1x ARR exit waiting to happen.

 

Related Posts

Pin It on Pinterest

Share This