A BPO contract fails on a schedule.
Not when you sign it. Not in the first quarter, when the queue is moving and the cost-per-ticket line looks great in the ops review. It fails the day support quality starts to matter to revenue. And that day rarely announces itself: a renewal cohort softens, a competitor starts winning on experience, the NPS comment field fills up with "I had to explain my problem four times."
If you run CX or operations, you know the scene that follows. Two options land on the table. Renew the BPO contract and negotiate harder on SLAs. Or pull support in-house and absorb the hiring problem. Most teams treat those as the only two structures available.
They're not. There's a third: a dedicated customer support team that works only on your product, inside your tools and your brand voice, employed and managed nearshore. Costa Rica and Colombia, on US working hours. This post is about why the BPO model breaks structurally (not because any particular vendor is bad at their job), and what the embedded version does differently at each break point.
1. Shared agents: your customers are one queue among many
The economics of a BPO depend on utilization. Agents sit in a pool and get allocated wherever the volume is, which means the person who answered your customer on Tuesday is not the person answering them on Thursday. That's not a vendor failing. It's the design.
Shared staffing is fine when every interaction is atomic: password resets, order status, anything a script closes in one touch. It breaks the moment your tickets need memory. The customer whose third contact depends on context from the first two starts every conversation at zero. So does the agent. Multiply that across the queue and you get the signature BPO experience: technically within SLA, emotionally infuriating.
A dedicated team inverts the design. Every agent works on your account only. They know the product's sharp edges, remember last month's incident, and recognize the customer's name when it comes back around. The agent handling the angry refund call in March is still handling it in October.
2. Per-interaction billing pays for volume, not outcomes
Follow the invoice. A BPO bills per ticket, per minute, or per contact, so its revenue grows with your interaction count. Sit with that for a second: the vendor's best month is your product's worst one. A confusing checkout flow that generates a few hundred extra tickets isn't a problem inside that contract. It's growth.
Nobody at the vendor is paid to make a ticket unnecessary. The agent who watches the same bug surface forty times has no channel, and no reason, to get it fixed. Deflection, root-cause work, voice-of-customer analysis: all of it reduces billable volume, so none of it happens.
Per-agent-per-month pricing flips the incentive. You budget the way you'd budget an internal hire, and the agent's job is the outcome, not the count. Writing the knowledge-base article that kills a ticket category is doing the job. Flagging the product flaw behind an escalation pattern is doing the job. On our teams those are literally roles: knowledge-base writers, voice-of-customer analysts, escalation specialists.
3. Training amortized across clients keeps product knowledge shallow
A BPO trains agents to be deployable, because deployable agents keep utilization high. So the investment goes into the general skills that transfer between accounts, and your product gets whatever is left: a script, a macro library, a short shadowing week. No shared-pool model can justify deep product training, because the agent might be on someone else's account next quarter. The shallowness isn't a corner being cut. It's the cost structure telling the truth.
Compare that to what onboarding looks like when the agent is yours indefinitely. Before a SMASH agent handles a single customer interaction, they go through two weeks of structured onboarding: product training, certification on your actual tooling (your Zendesk or Intercom or Gorgias, your Salesforce, your phone system), brand voice immersion, and shadowing your existing senior agents. Most clients see the new agent at full interaction volume by week three.
That level of investment only makes sense because the agent stays. Which brings us to the last break point.
4. Attrition resets everything, and the shared model runs hot on attrition
When an agent is interchangeable by design, they eventually act like it. Rotation between accounts, thin product connection, per-seat economics: the shared model treats agents as capacity, and capacity leaves. Every departure is a reset. The replacement inherits no context, retrains from the same shallow base, and your quality metrics dip while they climb the curve. If the resets come often enough, your team is permanently mid-curve.
The embedded model is built around the opposite bet: an agent who owns one product, gets real training, and has an actual career path stays for years. Continuity is where the quality gain compounds. And it shows up in the numbers.
+9
CSAT points, three months after a US SaaS company replaced its rotating BPO with a dedicated SMASH pod
That team started at three agents. Three months in, first-response time had been cut in half. Twelve months in, it had grown to twenty agents and taken over retention end to end. Not because anyone worked harder than the BPO's agents did. Because nobody had to start over.
What the embedded model looks like in practice
Strip the labels and it's a short list:
- Your tools. Agents log in to your helpdesk, your CRM, your phone system. We don't bring parallel tooling you can't see into.
- Your brand voice. Trained on your tone and your escalation paths, so the nuanced refund conversation happens in your register, not off a vendor script.
- Your metrics. CSAT, first-response time, resolution time, escalation rate, retention impact, tracked in your dashboards. No opaque vendor scorecards.
- Bilingual by default. English is the working language; most agents are fluent in English and Spanish. They're based in Costa Rica and Colombia, inside the US business day on Central and Eastern time, so the queue is live when your customers are.
- One omnichannel team. Voice, chat, email, tickets, handled by the same dedicated group rather than a patchwork of vendors.
- Per agent, per month. Priced like headcount, because functionally that's what it is.
Not outsourcing. An extension of your team. The full breakdown of roles, channels, and the questions we hear before kickoff lives on the Customer Experience page.
The honest word on building in-house
Worth saying plainly: building in-house gets you everything on that list too. If you can recruit bilingual agents fast enough, keep them for years, and carry the management and payroll overhead, in-house is a good answer and we'd tell you so.
Where in-house strains is speed and elasticity. A dedicated pod of three to five agents is typically live within three to four weeks of kickoff. Scaling to fifteen or twenty agents for a peak (Black Friday, a launch, a churn-recovery sprint) is a six-to-eight-week move with notice, and it can come back down afterward. In-house hiring doesn't flex on either of those timelines. Meanwhile the employer stack (recruiting, payroll, equipment, benefits, retention) is our operational load, not another line on your COO's plate.
If you're mid-decision, the longer list of questions worth asking any partner is on our FAQ. The thirty-minute version is a call: no pitch deck, we sketch the team composition, the tooling integration plan, and the per-agent number for your situation. Book it. And if your operation doesn't fit embedded delivery, we'll say so on the call.