Agency Ops27 min read

The 80/20 Build: How Generalist Agencies Get Repeatable Without Niching Down

You don't have to niche down to become repeatable. A modular GoHighLevel core plus thin vertical add-ons makes 80% of every build assembly, not invention.

Farhad, founder of GHL Spark
Farhad · Founder, GHL Spark
Cover illustration — four ascending teal bars on a dark green background, marked GHL Spark, Agency Ops

In short

Every generalist agency has been told the same thing — niche down or die — and almost none of them can afford to take the advice, because turning away 60% of your revenue to chase focus is a strategy that only works if you already have runway. The good news is that the diagnosis is wrong. Breadth is not what destroys a generalist agency's margin; treating every build as bespoke is. A plumber and a dentist need the same six things — capture the lead, respond in minutes, book the appointment, follow up on the no-shows, ask for a review, report what happened — and only the thin surface layer of forms, copy, timing and integrations actually differs between them. Build that shared machinery once as a modular core snapshot in GoHighLevel, add small vertical modules on top, and roughly 80% of every new client build becomes assembly rather than invention. In practice this takes a typical multi-vertical build from 12-15 hours down to 4-6, collapses monthly reporting from days to hours, and lets the same headcount carry 30-40% more clients. GHL Spark builds that core and its vertical modules for roughly $1,000 in setup plus a $400-$1,200 monthly retainer, so the standardization work does not have to come out of your delivery capacity.

Key takeaways

  • Roughly 80% of what any local service business needs from a marketing system is identical across verticals — lead capture, speed-to-lead response, pipeline, appointment booking, review generation and reporting — and only about 20% is genuinely vertical-specific.
  • A generalist agency that treats every build as custom typically spends 12-15 hours per client setup, while the same agency running a modular core snapshot plus a vertical add-on module spends 4-6 hours for equivalent output.
  • Bespoke per-client reporting is the single largest hidden cost in a generalist agency, routinely consuming 2-3 full days of senior time every month before a standardized dashboard replaces it.
  • Niching down is not the only path to repeatability — standardizing the delivery layer while keeping the client book broad achieves most of the margin benefit without turning away revenue.
  • Specialists will still beat a generalist on the deepest vertical work, so the honest positioning is operational excellence and speed across many verticals rather than the deepest expertise in any one.

You have been told to niche down. Probably more than once, probably by someone whose agency was already profitable when they said it.

The advice is not wrong exactly. It is just unaffordable. Turning away the two-thirds of your revenue that sits outside a chosen vertical is a strategy for agencies with a war chest and a soft landing, not for a twelve-person shop with payroll on the fifteenth and thirty-four clients who all expect to be somebody's priority.

So here is the more useful claim. Your problem is not that you serve a plumber, a dentist, a boutique and a law firm. Your problem is that you build the plumber's system as if the dentist's system had never existed. Breadth is not what kills generalist margin. Bespoke is.

Do you have to niche down to run a profitable agency?

No. You have to become repeatable, and niching is only one of the available routes to repeatability — arguably the most expensive one.

The niching argument runs like this. Serving one vertical means you learn one buyer, one set of objections, one competitive landscape, one funnel shape. You get faster, you get better results, you can charge more, and your marketing writes itself. All of that is true.

But notice what is actually doing the work in that argument. It is not the vertical. It is the repetition. The reason the specialist gets faster is that they build a similar thing over and over until the building becomes assembly. Niching is a way of forcing repetition by restricting your inputs.

There is another way to force repetition, which is to standardize your outputs regardless of what comes in the door. Build one core system that every client gets, identically, and confine variation to a thin, named, controlled layer on top. You get the compounding benefit of repetition without narrowing the funnel.

That is the 80/20 build. Roughly 80% of what any local service business needs from a marketing operations system is the same as every other local service business, and roughly 20% is genuinely specific to their trade. The generalist agency's entire margin problem is that it rebuilds the 80% every single time.

A twelve-person agency with 34 clients that spends 14 hours on an average build is spending something in the region of 380 hours per year on new client setup, and if 80% of that is duplicated work, roughly 300 of those hours produced nothing that did not already exist somewhere in the estate. That is not a niching problem. That is a manufacturing problem.

What actually costs a generalist agency money?

The cost is not breadth. It is the six specific consequences of unstandardized delivery, and each one is measurable.

Rebuild time. Every new client starts from a blank sub-account or from a snapshot of whichever previous client seemed vaguely similar. Typical multi-vertical build times land between 12 and 18 hours of hands-on configuration, and a large share is recreating automations that already exist elsewhere in your own account.

Context switching. A team member who touches four unrelated verticals in a day is not working on four things, they are working on four things plus the overhead of reloading four mental models. The quality cost shows up as small errors — a merge field left pointing at the wrong custom field, a reminder sequence set to the wrong timezone, a review request that fires before the job is finished.

Knowledge in heads. In an unstandardized agency, the account manager is the documentation. When they take a week off, four clients get slower service. When they leave, you discover that nobody knows why that client's pipeline has seven stages or what the workflow named "new automation 3 FINAL" actually does.

Bespoke reporting. This is the quietly enormous one. When every client's data lives in a differently-shaped account, monthly reporting is not a report, it is 34 small research projects. Agencies routinely spend two to three full working days per month on reporting, most of it senior time, almost none of it billable.

Price competition without a defence. When a specialist pitches against you, they arrive with vertical proof and a faster answer. If your only differentiator is that you will build something custom, you are competing on price by default, and the custom work is exactly what is eating the margin you would need to win a price fight.

Margin evaporation. Put those together and the arithmetic is unkind. A $1,500 setup fee that takes 14 hours at a $75 blended internal cost is barely above breakeven before support, revisions and the account manager's onboarding calls. The retainer then has to subsidize the setup, which means the retainer cannot fund growth.

None of those six costs are caused by having a plumber and a dentist on the same client list. All six are caused by treating the plumber and the dentist as unrelated engineering projects.

What is a modular core snapshot?

A modular core snapshot is a single, versioned, maintained GoHighLevel configuration that every client receives identically, designed from the outset with defined extension points where vertical and per-client customization is allowed to happen.

Three words in that definition are load-bearing.

Versioned means the core has a number, a changelog and a release process. Version 2.3 is a specific thing, and you can say which accounts are running it.

Maintained means somebody owns it. When a better speed-to-lead pattern is discovered on a client account, it does not stay on that account — it gets proposed, tested, folded into the core and shipped to everyone on the next release.

Extension points means the customization is designed in rather than hacked in. There are specific places where a vertical module or a client-specific tweak plugs in — named custom fields, a qualification workflow slot, a swappable message set, an optional pipeline sub-stage. Everything outside those points is off-limits for editing, and that restriction is what preserves the ability to update the estate centrally.

The most common failure in agencies that "already have a snapshot" is the absence of all three. They have a copy of a client account from eighteen months ago, nobody owns it, it gets edited freely on deployment, and within a year every account is a private fork. The snapshot exists; the leverage does not.

What belongs in the core and what belongs in a module?

The test is simple. If a mechanism would be built essentially the same way for a roofer, a dentist, a boutique and a law firm, it belongs in the core. If it exists only because of what the business sells or how its industry regulates, prices or schedules, it belongs in a module.

Here is the split in practice.

LayerWhat lives hereWhyShare of build
CoreLead capture and source tracking, speed-to-lead response, pipeline and stage governance, calendar and booking, reminder and no-show recovery, review generation, reporting and dashboards, missed-call text-back, contact hygiene and deduplication, internal notificationsEvery local service business does these, and does them the same way~80%
Vertical moduleQualification questions, industry vocabulary in messaging, service-type custom fields, appointment types and durations, compliance overlays, seasonality rules, vertical-specific pipeline sub-stagesDetermined by the industry, shared by all clients within it~15%
Client customBrand assets, integration with the client's own booking or PMS system, individual team routing, unique offers, bespoke reporting additionsTrue one-offs, priced as custom work~5%

Some detail on the core, because the boundary is where agencies go wrong.

Lead capture and source tracking is core. Every client needs forms, a tracked phone number, a chat widget and a consistent lead-source taxonomy. The taxonomy in particular must be identical everywhere, because the moment one client uses "FB" and another uses "Facebook Ads" and a third uses "Meta", cross-client reporting dies. Fix the vocabulary once, in the core.

Speed-to-lead is core. The mechanism — inbound lead triggers an immediate SMS and email, then a call task, then escalation if untouched — does not vary by industry. Only the copy and the timing tolerance vary, and those are module-level swaps.

Pipeline and stage governance is core. This is the one agencies fight hardest about, and it is the one where standardization pays most. A canonical stage set of new lead, contacted, qualified, appointment booked, appointment attended, quoted or proposed, won, lost covers the overwhelming majority of local service businesses. A vertical may add one sub-stage. It should not rename the set.

Calendar and booking is core, including buffer rules, availability logic and confirmation flow. Appointment types and durations are module-level.

Reminder and no-show recovery is core. The cadence — confirmation immediately, reminder at 24 hours, reminder at 1-2 hours, recovery sequence on no-show — is close to universal, and the no-show recovery step is the one most agencies never build for anyone.

Review generation is core. Trigger on a completed job or attended appointment, delay slightly, ask, route unhappy responses internally rather than publicly. Same everywhere.

Reporting is core and non-negotiable. If the reporting layer is not identical across all accounts, you have not standardized anything that matters commercially.

Missed-call text-back is core, and it is probably the single highest-return automation in local business marketing. A missed call from a stranger who wanted to buy something is a lead you paid for and dropped. The automated text costs nothing and recovers a meaningful share of them.

Now the other side of the boundary. Things that feel special but are not: welcome emails, appointment confirmations, lead notifications to the owner's phone, birthday messages, basic long-term nurture, unresponsive-lead reactivation. Every agency builds these fresh for every client and every one of them is core.

What does a vertical add-on module actually contain?

A module is deliberately thin. If your module is bigger than about a fifth of the total build, you have either put core functionality in the module or you are over-customizing.

A well-formed module contains four or five things and no more.

Qualification logic. The two to five questions that separate a good lead from a bad one in that industry, expressed as form fields plus a workflow that scores or routes accordingly. A roofer needs to know property type, roof age and whether it is an insurance claim. A dentist needs to know new or existing patient, insurance provider and reason for visit.

Vocabulary. The message set with the industry's words in it. "Your free roof inspection" versus "your consultation" versus "your estimate." Same sequence, same timing, different nouns.

Appointment types. The bookable services, their durations and their buffers. A dental hygiene appointment and a legal consultation have nothing in common except that both are a slot on a calendar.

Compliance overlay, where applicable. Some verticals carry rules that must be built in, not remembered — health-adjacent businesses handling patient information, financial and legal services with their own advertising and record-keeping constraints, and messaging rules that apply to certain categories.

Seasonality and timing. An HVAC business has two demand spikes a year; a wedding venue has one long season; a tax practice has a cliff. This is mostly automation timing and campaign calendars, not new machinery.

A practical starting module list for a broad generalist book, in the order most agencies should build them:

  1. Home services — plumbing, HVAC, roofing, electrical, landscaping. Emergency versus scheduled routing, quote-based pipeline, seasonal timing.
  2. Dental and medical practices — new versus existing patient split, insurance capture, recall and reactivation, privacy handling.
  3. Legal — matter type, conflict-check step before booking, consultation fee handling, longer nurture horizons.
  4. Fitness and wellness — trial and class booking, membership lifecycle, attendance-driven retention.
  5. Retail and hospitality — location handling, loyalty and repeat-visit prompts, event and promotion cadence.
  6. Professional services — accountants, consultants, agencies-of-one. Longer sales cycles, proposal stage, referral loops.

Six modules will cover the large majority of a typical generalist book. A twelve-person agency with 34 clients across 9 verticals will usually find that six modules cover 28 of the clients cleanly and the remaining six take a module that is close enough plus a slightly thicker custom layer.

How much time does a modular build actually save?

The saving comes from converting configuration into deployment, and the honest numbers are large but not magical.

Here is a typical before-and-after for a single client build.

Build stageBespoke buildModular build
Account setup, users, numbers, domains1.5 hrs0.5 hrs
Pipeline and stage configuration1.5 hrs0 hrs (core)
Forms, capture and source tracking2 hrs0.5 hrs
Core automations (speed-to-lead, reminders, reviews)4 hrs0 hrs (core)
Calendar and booking configuration1.5 hrs0.5 hrs
Vertical-specific qualification and messaging2 hrs1.5 hrs (module)
Reporting and dashboard setup2 hrs0.25 hrs (core)
Client-specific customization1 hr
QA and launch checks1.5 hrs0.75 hrs
Total16 hrs5 hrs

Three things are worth noticing in that table.

First, the biggest single saving is the core automation block, which goes from four hours to zero. That is the work most agencies think of as "the build" and it is the work that is most completely duplicated across clients.

Second, the vertical block barely moves. It goes from two hours to one and a half. Vertical work is genuinely custom-ish and you should not expect to eliminate it. This is the honest part of the argument — the module is a head start, not an answer.

Third, QA halves rather than disappearing. You still check everything. But checking a known configuration against a known checklist is faster and far more reliable than checking something nobody has seen before.

An 11-hour saving per build, on an agency signing two clients a month, is 264 hours a year — roughly one-sixth of a full-time employee, recovered without hiring. On an agency signing four a month it is over 500 hours.

Why is monthly reporting the hidden margin killer?

Because it is the only delivery task that recurs every single month for every single client, and in an unstandardized agency its cost scales linearly with client count and never improves.

Run the arithmetic. Thirty-four clients, each needing a monthly report. In a bespoke estate, each report requires pulling numbers from a differently-configured account, reconciling metrics that are defined differently, assembling a document, and writing commentary. Forty minutes per client is optimistic. That is roughly 23 hours — approaching three working days — every month, done by someone senior enough to interpret the numbers.

Three days a month is 36 days a year. At agency rates that is a five-figure annual cost producing a document that a large share of clients skim for thirty seconds.

Standardized reporting attacks this from three directions.

Identical metric definitions. A "lead" means the same event in every account. "Speed to lead" is measured the same way. "Booked" means entry into the same pipeline stage. Without this, no amount of automation helps, because the numbers are not comparable and a human has to reinterpret each one.

Automated assembly. When every account has the same structure, the dashboard is built once and populated automatically. The report generates itself and sends on a schedule.

Commentary by exception. The account manager does not write 34 narratives. They review a single internal overview that flags accounts outside expected ranges, and they write commentary only where something needs explaining. Roughly a fifth of accounts need commentary in a given month.

The standardized version of that same 34-client reporting cycle takes about two hours. Not because anyone works faster, but because 90% of the work stopped existing.

There is a client-facing benefit too, and it is underrated. Consistent reporting makes your retainer defensible. A client who receives the same clear numbers on the fifth of every month knows what they are paying for. A client who receives an irregular, variable document is quietly building a case for cancelling.

What does a standardized report contain?

Answer-first: five sections, the same five every month, for every client regardless of vertical.

Volume. How many enquiries arrived, by source, versus last month and versus the same month last year where available.

Response. Median and 90th-percentile speed-to-lead. Percentage answered within five minutes. Missed calls and how many were recovered by text-back.

Conversion. How many enquiries booked, how many attended, how many converted to won. Stage-to-stage conversion rates with the previous period alongside.

Value. Revenue attributed where the client shares it, cost per lead and cost per booked appointment where ad spend is visible, and the pipeline value sitting in open stages.

Reputation. Review requests sent, reviews received, current rating, and any negative feedback routed internally.

Then one short commentary block, written only when something needs explaining.

That is the whole report. It is deliberately not a forty-page slide deck. Vertical differences show up as different numbers in the same frame, which is exactly what you want — it means you can compare a dentist's speed-to-lead against a roofer's and learn something about your own operation.

Case study — how Fieldstone Marketing rebuilt delivery without changing its client list

Fieldstone Marketing is a twelve-person agency serving 34 clients across nine verticals — home services, dental, legal, fitness, retail, hospitality, professional services, automotive and one stubborn nonprofit. It is exactly the shape of agency that every consultant tells to niche down.

The starting position. Average new client build was 14 hours. Every client had a differently-named pipeline. Monthly reporting consumed three days of the operations lead's time and one account manager's evenings. Two of the four account managers held the only working knowledge of their books. Setup fees were $1,500 and the founder privately suspected they were losing money on them, though nobody had done the arithmetic.

They had also tried niching, briefly. They spent four months positioning as a home services agency in 2024, lost two non-home-services clients who felt deprioritized, gained one home services client, and quietly stopped.

What they found in the audit. Fieldstone catalogued every workflow across all 34 accounts. There were 1,100-odd workflows. After deduplication by function rather than by name, there were 61 distinct things being done. Of those 61, 22 appeared in more than 30 of the 34 accounts — built from scratch 34 times each, with 34 slightly different sets of bugs.

The most quoted finding internally was that they had built an appointment reminder sequence 34 separate times, and that in 9 of those accounts the 24-hour reminder was misconfigured badly enough that it was firing at the wrong time or not at all. Nobody had noticed, because nobody had a way to look across accounts.

What they built. A core snapshot containing the 22 universal workflows plus canonical pipeline stages, a fixed lead-source taxonomy, a standard form and capture set, the calendar framework, and a reporting dashboard. Then six vertical modules — home services, dental and medical, legal, fitness and wellness, retail and hospitality, professional services.

Build took five weeks of roughly half-time effort from two people, and the founder's summary was that three of those weeks were arguing about pipeline stages and two were clicking.

Rollout. New clients got the core immediately. Existing accounts were migrated at three per week over eleven weeks, starting with the newest and simplest and finishing with the two oldest accounts, which took a full day each because of accumulated custom logic. Three clients had genuine one-off integrations that survived migration as documented custom-layer items.

Results at six months.

MetricBeforeAfter
Average new client build14 hrs5 hrs
Monthly reporting cycle3 days2 hrs
Clients served3445
Headcount1212
Distinct pipeline configurations341 core + 6 module variants
Accounts with correctly firing reminders25 of 3445 of 45
Median speed-to-lead across the booknot measured3.2 minutes

Eleven additional clients on the same headcount is the number that matters commercially. Fieldstone did not grow by selling harder; it grew by removing the delivery constraint that had been capping the book at roughly 34.

What did not improve. Two things, and the founder is candid about both.

They still lose competitive pitches to specialists on deep vertical work. A dental marketing specialist with 90 dental clients knows things about dental patient acquisition that Fieldstone does not, and when a large practice runs a proper selection process, the specialist usually wins.

And the nonprofit client remains a genuine one-off. The core covers maybe half of what it needs, the rest is custom, and Fieldstone has accepted that it is a relationship account rather than a profitable one.

Where will a specialist still beat you?

This is worth saying plainly, because an argument that claims no downside is not an argument, it is a pitch.

A specialist beats you on vertical depth of knowledge. They know the seasonality, the competitive dynamics, the objections, the pricing psychology and the regulatory quirks of their one industry at a level you cannot match while serving nine.

They beat you on proof. "We work with 90 dental practices" beats "we work with local businesses including some dental practices" in a room where the buyer is nervous.

They beat you on creative and offer strategy inside the vertical. Knowing which offer converts for a med spa in a competitive metro is accumulated pattern recognition from dozens of tests you have not run.

They beat you on referral gravity. Specialists get recommended within their industry's networks in a way generalists never do.

What you beat them on is different and real. You beat them on operational excellence across a mixed book — the ability to onboard any local business in a week with a proven system. You beat them on relationship breadth, because you are the marketing partner for a business owner who also owns two other businesses in different industries. You beat them on resilience, because when one vertical takes a hit — a regulatory change, a platform policy shift, a recession that lands hardest on discretionary spend — you lose one-ninth of your revenue and they lose all of it.

The honest positioning for a modular generalist is this. You are not the deepest expert in any single industry. You are the agency that will have a properly functioning lead-to-customer system running for any local business within a week, measured and reported the same way every month, and you will not disappear when their industry has a bad year.

That is a defensible position. It is not the same position as the specialist's, and pretending otherwise loses deals.

How do you build the core without stopping delivery?

Answer-first: pick two representative clients, extract what is common, build against those two, deploy to new clients first, and retrofit the estate at two to four accounts a week.

The failure mode is trying to design the perfect core in the abstract. It produces four weeks of meetings and a document.

Week one — audit. List every automation, form, pipeline and custom field across your accounts. Group by function, not by name. Count how many accounts contain each function. Anything present in more than roughly two-thirds of accounts is a core candidate. This exercise is almost always shocking, and the shock is useful for getting team buy-in.

Week two — decide the canon. Agree the pipeline stages, the lead-source taxonomy, the custom field naming convention and the metric definitions. This is the hardest week and it is not a technical week. Everyone will have a reason their client's stages are special. Someone senior has to make a call and hold it. Write the decisions down, because you will be relitigating them in six months otherwise.

Weeks three and four — build. Configure the core in a clean sub-account against your two reference clients. Build for the general case; resist adding anything that only one of the two needs. Version it. Document what each workflow does in plain language, and document the extension points explicitly.

Week five — first deployment and module one. Deploy to a live new client. Note every friction point. Build your highest-volume vertical module from the gaps that appear.

Then retrofit, slowly. Two to four accounts a week alongside normal delivery. Newest and simplest first, so the team builds confidence and speed before hitting the accounts with eight years of accumulated logic. Tell clients honestly — most hear "we're upgrading your system to our current standard at no cost" as good news, which it is.

Governance from day one. A named owner. A changelog. A rule that core edits happen in the core, never in a client account. A quarterly review of the custom layer to promote recurring one-offs into modules. Without governance you will have 34 forks again within eighteen months, and you will have spent five weeks to arrive back where you started.

What does the delivery process documentation look like?

Standardized building produces standardized process, and the documentation is what converts a good system into an asset that survives staff turnover.

Four documents carry most of the weight.

The onboarding runbook. Every step from signed contract to live system, in order, with owner and expected duration. Kickoff call agenda, asset collection checklist, account provisioning, core deployment, module selection, client customization, QA, launch, and the 7-day and 30-day check-ins. When this exists, onboarding a new client stops depending on which account manager picked them up.

The QA checklist. Every core function with a specific pass condition. Test lead submits and appears in the pipeline. Speed-to-lead SMS fires within 60 seconds. Reminder fires at the correct interval in the client's timezone. Review request triggers on the correct event. Dashboard populates. Roughly 30 checks, all binary. This is what stops the 9-out-of-34 broken reminder situation from ever happening again.

The core changelog. Version, date, what changed, which accounts need the update, who applied it. Boring and essential.

The account map. For each client — which core version, which module, what sits in the custom layer and why. This is the document that dissolves the account-manager-as-single-point-of-failure problem. When someone leaves, their successor reads the map rather than reverse-engineering eight accounts.

None of this is glamorous. All of it is the difference between an agency that is worth something without its founder and one that is not.

Bespoke delivery versus a modular core, compared directly

DimensionBespoke per clientModular core plus vertical modules
Build time12-18 hrs4-6 hrs
Time to live2-4 weeks3-7 days
Monthly reporting (34 clients)2-3 days~2 hrs
Quality consistencyVaries by builder and by dayUniform, QA-verified
Fixing a discovered bugOnce per account, manuallyOnce in core, deployed to all
Onboarding a new team member2-3 months to competence2-3 weeks
Knowledge locationAccount managers' headsDocumented core and account map
Clients per delivery person8-1012-15
Setup profitability at $1,500MarginalHealthy
Client capacity ceilingHits a wall around 30-40Scales with modules, not headcount
Cross-client benchmarkingEffectively impossibleNative
Depth in any single verticalLowLow to moderate

The last row is the one to sit with. Modularization does not make you a specialist. It makes you an efficient generalist, which is a different and perfectly viable business — and, unlike niching, it does not require you to fire anyone to get there.

How does the economics change?

The setup fee is where the immediate change lands, and most agencies should resist the urge to cut it.

At 14 hours and a $75 blended internal cost, a $1,500 setup produces roughly $450 of contribution before any support or revision time — which the revisions then usually consume. At 5 hours, the same $1,500 produces around $1,125. Same price to the client, same output, a swing of about $675 per client.

The retainer is where the durable change is. A $400-$1,200 monthly management fee is defensible when the client receives consistent reporting, a system that visibly works and a documented process behind it. It is much harder to defend when the monthly deliverable is variable and the client cannot tell what they are paying for. Standardization does not just reduce your cost of servicing a retainer; it materially improves retention, and retention is the whole game in agency economics.

Then capacity. If a delivery person can carry 12-15 standardized accounts instead of 8-10 bespoke ones, a four-person delivery team goes from a ceiling of around 36 accounts to around 54 without a hire. That is not a marginal improvement. That is the difference between growth requiring recruitment and growth requiring sales.

And there is an exit consideration worth naming. Agencies sell on the basis of transferable, documented, recurring revenue. A book of 45 clients on one documented system with automated reporting is a materially more valuable asset than 45 bespoke accounts held together by four people's memories, even at identical revenue.

How do you sell a standardized system to a client who asked for custom?

You reframe what "custom" means, and you do it before the proposal rather than in the objection.

Nobody actually wants custom software. What a business owner means when they say they want something built for their business is that they want it to work for their business — to speak their language, handle their scheduling reality, and not force them into a process that makes no sense for how they operate. Those are all satisfied by the module and custom layers. What they are not asking for, because they have never thought about it, is a bespoke automation architecture that nobody else has ever tested.

So make the standardization the pitch rather than hiding it.

The line that works is some version of this. "We have built this exact system for 40-odd local businesses. The parts that handle getting the lead, answering it fast, booking it, chasing the no-shows and asking for the review are the same for you as they are for everyone, because they are the same problem — and because we have run them 40 times, we know they work. What we build specifically for you is the part that reflects how your business actually operates. That is why we can be live in a week instead of a month, and why nothing in your system is a first attempt."

Business owners respond well to this, because the alternative — being someone's experiment — is a fear they already have and have usually been burned by.

Two specifics help in the room.

Show the QA checklist. Handing a prospect a one-page list of the thirty things you verify before launch does more for close rates than any case study, because it is tangible evidence of a process. Most competitors cannot produce one.

Show a sample report. The same report they will receive on the fifth of every month, with realistic numbers in it. This sets the expectation that they will be told what happened, which is precisely what they did not get from the last agency.

There is one situation where the standardized pitch genuinely does not work, and it is worth recognizing early rather than losing three weeks to it. A larger client running a formal selection process, in a vertical where specialists compete, will usually choose the specialist — and pushing a standardization argument into that room reads as an excuse. The right move is to qualify those out quickly. Your best-fit client is a local business under roughly fifty staff that wants something reliable running soon and does not have a marketing hire of its own. That client is a majority of the market, and your speed to launch is genuinely a differentiator to them in a way vertical depth is not.

One further internal discipline. When a prospect asks for something the core does not do, the answer is not "yes we can build that" reflexively. It is "let me check whether that is something we do as standard, something we do for businesses like yours, or something genuinely specific to you — because the last one is priced separately." Saying that out loud in a sales call sounds professional, sets the pricing expectation before the work exists, and quietly protects the core from being eroded by the sales team one promise at a time. Agencies that skip this step rebuild their custom problem from the front end even after fixing it in delivery.

What should you build yourself and what should you have built for you?

The honest answer depends on whether the four to six weeks actually exists.

Build it yourself if you have a genuinely quiet quarter, someone senior who can own it end to end, and the political capital to force the canonical-stages decision through a team that will resist it. The knowledge you gain from doing the audit yourself is real, and the ownership makes governance stick.

Have it built for you if — as is true for most agencies of this shape — the four to six weeks does not exist, because the same people who would build the core are the people delivering client work, and delivery always wins. Standardization projects in busy agencies do not fail at the design stage. They stall at week three, sit at 70% complete for a year, and quietly get abandoned while everyone goes back to bespoke builds.

Either way, three things should stay with you permanently and should never be outsourced. The decision about which verticals you serve. The client relationships and the strategy conversations. And ownership of the governance — the changelog, the release decisions, the quarterly review of what should be promoted from custom into a module.

GHL Spark builds the core snapshot and its vertical modules, sets up the standardized reporting layer, documents the onboarding runbook and QA checklist, and hands over a governed system with a version number and a changelog. Typical engagement is around $1,000 in setup with a $400-$1,200 monthly retainer covering maintenance, module development and reporting operations, depending on account volume and support expectations. The retrofit of your existing estate is scoped separately, because it depends entirely on how much accumulated custom logic is in there.

The honest summary

You do not have to niche down. You have to stop building the same thing thirty-four times.

Roughly 80% of what a plumber, a dentist, a boutique and a law firm need from a marketing operations system is identical — capture the lead, respond in minutes, book it, remind them, follow up, ask for the review, report what happened. The remaining 20% is real, it matters, and it is a thin layer on top rather than a different machine underneath.

Build the 80% once, as a governed core. Build six thin vertical modules over it. Standardize the reporting so month end takes hours instead of days. Document the process so the knowledge lives in the agency rather than in four people.

The result is not that you become a specialist. You will still lose the deepest vertical pitches to agencies that do one thing, and you should stop pretending otherwise in sales conversations. The result is that you become an efficient generalist — faster to launch, consistent in quality, measurable across a mixed book, and able to grow the client list without growing the payroll.

Fieldstone went from 34 clients to 45 with the same twelve people, took build time from 14 hours to 5, and turned a three-day reporting slog into a two-hour review. They did not change their client list, their positioning or their pricing. They changed how they built.

That is available to any generalist agency willing to spend a few weeks deciding what is actually the same across their clients — and then holding the line on it.

Frequently asked questions

Isn't a modular core just a fancy word for a template? I already have snapshots and they didn't help.
Most agencies have snapshots; very few have a core. The difference is governance. A snapshot is a frozen copy of one client's account that someone exported on a good day, and the moment it lands in a new sub-account it gets edited, which means every client drifts into a private variant and none of the improvements ever travel back. A core is a maintained product with a version number, a changelog, an owner, and a rule that per-client edits happen in defined extension points rather than by rewriting core workflows. When you fix a bug in the speed-to-lead sequence in a governed core, you know exactly which 34 accounts need the patch and you can apply it in an afternoon. When you fix the same bug in an ungoverned snapshot estate, you fix it 34 times, badly, over six weeks. The technical artifact looks similar; the operational discipline around it is the entire value.
My clients are genuinely different. A law firm's intake is nothing like a gym's. How can 80% be the same?
Compare them at the level of mechanism rather than appearance. Both need a form or call that captures a stranger's contact details. Both lose a large share of those strangers if nobody responds within a few minutes. Both need the enquiry to sit in a named stage with an owner and a next action. Both need a calendar that prevents double-booking. Both need a reminder sequence that reduces no-shows. Both need a polite review request after a good outcome. Both need someone to be able to say at month end how many enquiries arrived, how fast they were answered, how many booked and what it cost. That is the 80%. The law firm's conflict check, matter type taxonomy and consultation-fee handling are real and genuinely different — but they are a thin layer of custom fields, one qualification workflow and a modified booking form, not a ground-up rebuild of the machinery underneath.
Won't standardizing make my agency look generic to prospects?
Only if you sell the template instead of the outcome. Prospects do not buy pipeline stage names; they buy the promise that enquiries stop falling through the cracks and that someone can tell them what their marketing produced. A documented, proven operating system is a credential, not a commodity signal — it is the thing that lets you say "we have run this exact process across 34 businesses and here is the median speed-to-lead we achieve" instead of "we'll build you something custom." The agencies that read as generic are the ones with no articulated method at all. In practice, standardization tends to raise perceived seniority, because you arrive with a defined approach rather than a discovery call full of open questions.
How long does it take to build the core, and can we do it while still serving clients?
Expect four to six weeks of part-time effort for a first core if you build it internally, and the honest warning is that most agencies underestimate this by a factor of two because the work is not the clicking, it is the deciding. Agreeing one canonical pipeline stage set across a team that has been improvising per client is a genuinely hard conversation. The workable sequence is to pick your two most representative existing clients, extract what is truly common, build the core against those two, then deploy it to the next new client that signs rather than retrofitting the estate first. Retrofitting comes later and should be paced at roughly two to four accounts per week alongside normal delivery. If the four to six weeks genuinely does not exist, that is the specific case for having the core built for you.
What happens when a client asks for something the core doesn't do?
You answer it in one of three ways and the discipline is in choosing deliberately. If more than about a third of your clients would benefit, it belongs in the core and you version the core. If it is characteristic of a vertical you already serve, it becomes part of that vertical module. If it is genuinely unique to one client, it goes in that account's custom layer, gets logged as such, and — this is the part agencies skip — it gets priced as custom work rather than absorbed into the retainer. The failure mode is treating every request as a one-off, because after two years you have 34 unique accounts again. A simple rule of thumb is that any request appearing for the third time is no longer a one-off and should be promoted into a module.
Should I still niche down eventually?
Possibly, and the modular approach actually tells you when and where. Once you are running the same core across a broad book, your data shows which verticals produce the fastest builds, the lowest support load, the highest retention and the best margin per account. That is a far better basis for choosing a niche than a podcast telling you to pick one. Several agencies that adopt a modular core end up niching by attrition — they keep signing the two verticals where their modules are strongest and quietly stop pursuing the rest, without ever having to fire anyone. The point is that standardizing first makes niching optional and evidence-based, rather than a leap of faith you take with your revenue.
How does this change what we charge?
It mostly changes what you keep. Most agencies do not raise setup fees immediately after standardizing; they hold price and let the hour reduction land as margin, which on a 12-hour build dropping to 5 is a substantial swing at any blended rate. The bigger commercial change is on the retainer side, because automated reporting and a documented process make a monthly management fee defensible in a way that ad-hoc work never is. Typical numbers for a modular core deployment are around $1,000 in setup and $400-$1,200 a month in management depending on channel volume and support expectations. The strategic gain is capacity — the same team can carry meaningfully more accounts, and growth stops requiring a hire.
We use different tools for different clients. Does this require moving everyone into GoHighLevel?
It requires moving the core mechanics into one system, which in practice means the CRM, pipeline, calendar, automation and reporting layer. Peripheral tools can stay where they are as long as they feed the core rather than replacing parts of it — an ad platform, a call tracking provider or an accounting system can all integrate without breaking standardization. What does break it is running two different systems of record for the same function across your book, because then every process, every SOP and every report has two variants and your team has to remember which client is which. If you have clients on legacy stacks, migrate them on renewal rather than all at once, and be honest in the interim about which accounts are on the standardized process and which are not.

About the author

Farhad, founder of GHL Spark

Farhad

Founder, GHL Spark

Farhad is the founder of GHL Spark, where he builds and white-labels GoHighLevel SaaS platforms for agencies and SaaS operators. He writes about the parts of GoHighLevel that actually break in production — A2P registration, onboarding, support load and automation.

Want this handled for you?

We set up, configure and white-label your GoHighLevel SaaS — so you can sell it instead of building it.

Fixed quote · No lock-in · Launch-ready in ~7 days