I've been selling marketing services for fifteen years. CRM, analytics, ABM, automation, content strategy. Dozens of companies ask me: which capabilities should we build internally? Which should we outsource?
And I'm going to give you the most honest answer possible, even though it works against my business interests.
Why I need to be straight about this
An agency owner has an obvious conflict of interest. The more you outsource, the more I earn. But I'm telling you this now because I've learned something: the clients who truly succeed aren't the ones who give me all the work. They're the ones who build a solid foundation internally, then call me to amplify.
Clients who outsource everything become dependent. Stuck. Unable to respond quickly. Ultimately, fragile.
So here's what you should really build internally, and what's fine to leave with an agency.
Capability number one: Understanding your customer data
This is non-negotiable.
You need someone internally who understands: Who are your customers? How do you segment them? What's their journey? What problem do you solve for them? At what stage do they buy?
No need for a data scientist. No need for external consultants for two years.
Just one person (or two in a medium-sized company) who can:
- Read a customer data dashboard
- Ask questions about your metrics
- Spot patterns: "Wait, why does this segment have 40% conversion and that one 10%?"
- Present these facts to leadership to influence strategy
If nobody understands your data, you navigate blind. No agency can fix that for you. It's like asking someone else to learn to read on your behalf.
Capability number two: Defining your marketing strategy
Your agency can help. But strategy must come from you.
Why? Because real strategy aligns with your company vision, distinctive strengths, operational constraints, budget reality. Nobody can decide that for you.
A good agency asks the right questions and structures your thinking. But you decide:
- Which market to compete in
- Which customer to genuinely talk to
- How you're different
- Which problems you solve better than competitors
- How to measure success
If you delegate strategy to an agency, you get generic strategy. Readable. But disconnected from your reality. And generic never wins.
Capability number three: Managing your CRM
Wait. I often sell CRM services. Why am I saying this?
Because companies that succeed with CRM aren't the ones having an agency run it entirely. They're the ones with someone internally who:
- Understands data structure (what goes in, in what format, when)
- Sets the rules (if customer does X, trigger Y)
- Validates data quality ("Why do 500 contacts have no company name?")
- Uses the CRM daily to make operational decisions
An agency can install, configure, build workflows. But an agency can't live in your CRM daily.
And a CRM that isn't used daily, isn't maintained, accumulates bad data? That's a cost with zero ROI.
Capability number four: Knowing your audience
Who are your real customers? Not the generic persona you defined two years ago.
Your actual customers. Their current frustrations. What they're searching for. How they talk. Where they spend time online.
An agency can help conduct audience research, run interviews, analyze public data.
But continuous knowledge, the ability to sense market shifts, talk directly with customers, adjust your understanding: that's internal.
If your marketing team never speaks to real customers, you lose your antenna.
Capability number five: Critical review and validation
The ability to say "no, that's not good enough" or "yes, let's go." Internal.
Why? Delegating this decision to an agency means losing quality control.
An agency proposes. You decide if it's worthy of your brand, your standards, your audience. You know better than anyone what rings true for your customers.
Too often I see clients accept mediocre work because they lack confidence or framework to say no. That's a trap.
Now, what you can safely outsource
Technical campaign execution
You don't need to know how to set up a Facebook pixel. Don't need to master SQL. Don't need to know what a "webhook" is or how to sync data between systems.
Agencies do this daily. Let the agency manage.
Large-scale content production
Writing a blog post in two hours, creating ten social variations, designing twenty website banners: that's repetitive work.
You can delegate execution. Not content strategy. Not final review.
Someone inside defines: "We need to address three key questions for our audience this quarter." The agency transforms them into optimized content.
Iterative campaign optimization
Once strategic direction is clear, an agency can test, measure, adjust campaigns. A/B tests, tweaks, optimization cycles: that's work an agency can own.
But you keep veto power: "No, that doesn't align with our direction anymore. Stop."
Market research and monitoring
What's new in marketing? How are competitors performing? What are best practices in your industry?
An agency can monitor. You evaluate relevance. You decide if you adopt.
But watch out for two traps
Trap number one: Say "we'll build this internally" then never do it
Many companies plan: "We'll hire someone to manage our CRM internally." Then two years pass. No hire. Budget cut. CRM neglected.
If you can't commit to building a capability, own it. Outsource and accept short-term dependency. More honest than leaving a project in limbo.
Trap number two: Hire the wrong person
You've decided someone should own your customer data internally. You hire. But they lack curiosity. Or autonomy. Or context to truly contribute.
Worse: you hire a technical expert with no marketing alignment. A data analyst who doesn't understand your customer.
Choosing the right people is harder than choosing an agency. But it's critical.
The ideal model
You have an internal team of five or six people who:
- Understand your customer data
- Define and guard your strategy
- Pilot your CRM or customer database
- Know your audience intimately
- Validate quality on everything bearing your name
- Decide budget allocation
You have an agency (or several) who:
- Propose ideas and innovative approaches
- Manage technical execution
- Produce content at scale
- Optimize campaigns
- Bring market intelligence and specialized expertise
And every two months, you meet: "Here's our data. Here's what the agency proposes. Does it align with our direction? Do we amplify or pivot?"
That's partnership. Not dependency.
In summary
To be honest, I prefer working with clients who have minimum internal capabilities. Yes, that means less billable work.
But it also means: smarter projects, better fit, more success. Clients who return, who refer, who want to expand partnership when they see results.
Versus fully dependent clients who frustrate when I can't anticipate everything, who leave when another agency promises the moon.
Build your foundation internally. That's your competitive advantage. The agency is an accelerator, not a substitute.
And if you can't invest internally, own it. Find an agency you can grow with in true partnership. Not one making you more dependent every quarter.


