RReshape.
← All articles

Setting a CAC Ceiling Before Launching Meta Ads for Solo Law Firms

By Alex Regueiro · October 25, 2026 · 5 min read

Boosting posts feels like marketing and measures like nothing. A solo attorney who runs a business-formation practice had been doing it, with no measurable outcome, while the website did not convert and the contacts imported from the payment processor sat unsorted.

We rebuilt the path before spending a dollar on new ads, starting with a number: the most the practice could pay to win one new retainer client. This write-up is for home service businesses and other local professional practices that sell a one-time service and a recurring one. No ads had launched when this was written, so there is no result to report.

The situation

The practice sells two things: a one-time business formation service and a monthly retainer. The retainer clients stay, on average, for 12 months or more, which makes them the valuable ones.

Marketing was boosted posts. The owner could not tie them to any result. The existing website did not convert visitors, and the contacts imported from the payment processor were a pile of names with no stage and no next step.

What was broken

The break was in what happened after attention, not in the attention itself.

  • No capture. Boosted posts produced no measurable outcome, and the website did not convert.
  • No stages. Imported contacts had no place in a pipeline, so no one knew who was a lead, who was a client and who was neither.
  • No ceiling. Without a limit on what a new client could cost, any ad spend felt like a leap, and the owner was anxious about it.

What we built

We built the machine first and the ads second.

  • GoHighLevel pipelines for business formation, general legal help, past clients and everyone else, with contacts assigned to stages. Moving a lead into the right stage triggers SMS and email workflows, and the owner can see exactly what sends, when and why.
  • A holding stage for unknown contacts. They sit in a new-lead stage with no messaging until the owner approves, and nothing is deleted until we sort them together.
  • The imported payment-processor contacts, visible through smart lists in GoHighLevel.
  • A funnel in a fixed order: a Meta lead form, an automatic landing page, a booking button, SMS and email follow-up, retargeting and human follow-up on top.
  • Scripted hooks, said word for word, because the first 3 seconds of an ad are the test. The body of the video can stay natural.
  • A plan for at least 8 creatives, so one or two videos are not the bottleneck.
  • A plan for a two-offer ladder: a low-friction instant form for formation, then a booked call with a sales video sent by SMS and email for the retainer.

What changed

We have no ad results. The change is in the decision rule. We set a working ceiling for the cost of acquiring one new retainer client, and we kept the dollar figure out of this article. The ceiling is not a target. It is a shutdown line: if cost per new client comes in under it, scale. If it comes in over it, fix the funnel or the creative before spending more.

We also pinned down the definition. The cost applies per new paying customer, not per month of spend. The call was set up to take the anxiety out of the spending decision, and the owner agreed to the ceiling.

Set your own ceiling in ten minutes

This section is advice for your practice, not a claim about the client. Write down what a new client is worth over the time they stay: the one-time fee plus the recurring fee times the months. Decide what fraction of that you can afford to spend to win them, and call it your ceiling.

Write it on paper before you build ads. Then you have a rule that tells you when to scale and when to stop, and you are not guessing at every invoice.

Frequently asked questions

What is a CAC ceiling?

It is the most you will pay to acquire one new paying customer. In this practice it applied per new retainer client, not per month of spend. We treated it as a shutdown line and not as a target: under it you scale, over it you fix the funnel.

How do you replace boosted posts with a measurable funnel?

In this build, a Meta lead form collects the contact, an automatic landing page and a booking button follow, and SMS and email follow-up and retargeting run behind it. Each step records a result, which a boosted post does not.

Why hold unknown contacts without messaging them?

Imported contacts may never have asked for marketing. Here, unknown contacts sit in a new-lead holding stage with no messages until the owner approves, and no one is deleted until the owner and we sort them together.

Why script the hook word for word?

The first 3 seconds of an ad decide whether anyone keeps watching, so we treat them as the test. The hook gets scripted and said exactly, while the rest of the video can stay natural. Reshoot hooks if performance calls for it.

If you are paying to be seen and cannot say what a new client may cost you, book a 30-minute AI follow-up and reporting audit. We work out your ceiling and show you the funnel stage that needs to exist before you spend.