Full-funnel growth partner · High-ticket local service

Your ad platforms are all taking credit for the same customer.

Tiny Mage runs acquisition, lifecycle, and the measurement layer that tells you which of the two actually produced revenue. For local service businesses already spending real money.

45 minutes. I read your last 90 days before we talk. No deck.

SPEND RECONCILIATION SAMPLE ACCOUNT

WHAT THE DASHBOARDS CLAIMED — LAST 90 DAYS

Total conversions claimed0

WHAT THE CRM ACTUALLY BOOKED

Jobs booked and paid4.8× OVERCOUNT 0

The same 41 customers, counted 4.8 times across four dashboards. Every platform graded its own homework and all of them passed.

Illustrative figures for a local service account at roughly $22,000/month in media. Yours will differ — finding out by how much is the first thing we do.

Being honest about the market

There are forty agencies in your market who will run your Google Ads.

Most of them are competent at it. That is the uncomfortable truth about this category: buying clicks stopped being the hard part when the platforms automated the bidding. Smart Bidding does not care which agency logs in.

The hard part is knowing what the spend produced. Not leads — revenue. Not platform-reported conversions — jobs on the calendar with a dollar value attached. That is a measurement problem, and it is the one almost nobody in this market can actually solve for you.

WHAT MOST AGENCIES SELL

Activity you can see

Campaigns built, keywords added, creatives refreshed, a monthly report with impressions and cost per lead. All real work. None of it answers whether the money came back.

WHAT YOU ARE ACTUALLY BUYING

Cost per booked job, by channel

One number per channel per service line, tied to your CRM, that survives contact with your accountant. Everything else on this page exists to produce that number and then move it.

The engagement

Three jobs, one person, one fee.

Full-funnel means I own the whole path from a stranger seeing an ad to a job showing up in your CRM with revenue attached. Not three vendors blaming each other.

01 — ACQUISITION

Getting in front of them

Google Search and Performance Max, Meta, Local Services Ads, YouTube where it earns its place. Built, restructured, and managed. Creative testing on a real cadence instead of whenever someone remembers.

02 — LIFECYCLE

The ones who didn't book

Most leads in a $5,000-job category do not close on the first call. Email and SMS follow-up, quote reminders, seasonal re-engagement, review requests timed to when the work finished. This is usually the cheapest revenue in the building and it is usually switched off.

03 — MEASUREMENT

Knowing which of the two worked

Server-side tracking, CRM revenue pushed back into the ad platforms, and a blended view that does not let any channel grade its own homework. This is the part I am actually known for.

You can hire three specialists who are each better than me at their one thing. What you cannot easily buy is one person who sees all three and can tell you, in a sentence, which one to put the next dollar into. That sentence is the product.

The part that is different

Platform-reported conversions are a marketing number, not an accounting number.

Every ad platform is measured on how good it looks. Each one counts a conversion it can plausibly claim — view-through, modeled, cross-device, a 30-day window that overlaps the other three. Nobody is lying. They are all just answering a different question than the one you asked.

4 windows Google, Meta, GA4, and your CRM each use a different attribution window and lookback. The same customer lands in all four.
Modeled A growing share of reported conversions are estimated, not observed, as cookie and app tracking keep degrading.
$0 revenue Most local accounts send no revenue value back to the platforms at all, so the bidding algorithms optimize toward leads, not money.
The gap The distance between claimed conversions and booked jobs is the number this engagement exists to close.
WHAT GETS BUILT
  • Server-side tracking so the measurement survives browser and app privacy changes instead of quietly decaying.
  • Offline conversion import. When a job closes in your CRM, that revenue goes back to Google and Meta so their bidding optimizes toward money instead of form fills.
  • Call tracking that reconciles with the CRM, not a separate number in a separate dashboard.
  • Blended CAC by service line. What a booked roof costs to acquire versus a booked repair, which are not the same business.
  • One dashboard with the four or five numbers that matter, not forty you will never open.
WHAT I WILL NOT CLAIM
  • Perfect attribution. It does not exist. Anyone selling you a single source of truth that resolves every customer is selling a model and calling it a measurement.
  • That the numbers will look better immediately. Honest tracking usually makes reported conversions go down in month one, because the double-counting stops. Budget for that conversation.
  • That measurement alone grows revenue. It does not. It tells you where to point the spend. Pointing it is the other two-thirds of the job.

My first month often looks like bad news. It is the same news you already had — just counted properly for the first time.

The first 90 days

What actually happens, in order.

The initial term is 90 days because that is roughly how long it takes to rebuild measurement, get a clean baseline, and see one full cycle of results. Anyone promising a turnaround in 30 is describing luck.

DAY 1–14Teardown and rebuild

Full audit of accounts, tracking, and CRM. Server-side tagging built. Conversion definitions fixed. We find out what your numbers have actually been measuring.

DAY 15–30Baseline and restructure

Honest baseline set and written down. Campaign structure rebuilt around service lines and margin, not around whatever the account inherited.

DAY 31–60Creative and lifecycle

Testing cadence running. Follow-up sequences live for the leads that did not book. Offline conversions feeding back to the platforms.

DAY 61–90The first honest read

Cost per booked job by channel and service line, compared against the baseline. This is the meeting where we both find out whether this is working.

Pricing

A flat monthly fee. Never a percentage of your spend.

$6,500–$12,000
/ month

Set by media spend, number of channels, and how many service lines
or locations we are measuring separately. You get the number before you commit.

WHY NOT PERCENT OF SPEND

Because it pays me to spend more of your money. If the honest recommendation is to cut Meta by 40% and put it into lifecycle, a percentage-of-spend agency takes a pay cut to tell you that. Most of them do not tell you. A flat fee means my incentive and your incentive point the same direction, which is the entire reason to hire an analyst instead of a media buyer.

TERMS
  • 90-day initial term, then month to month. Cancel any month after that.
  • Media spend is yours, on your cards, in your accounts. I never take custody of ad budget.
  • You own everything. Accounts, tracking, dashboards, sequences. If we part ways it all stays with you, working.
  • One client per category in the metro. I will not run ads for your competitor.

Qualification

The spend threshold is real, and I will tell you if you are under it.

A FIT IF
  • You are doing $1M–$10M as a local service business in a single metro.
  • You are already spending $20,000 a month or more on media. Below that, the fee is too large a share of the budget to justify.
  • A single job is worth $5,000 or more, so measurement error is expensive enough to be worth fixing.
  • You have a CRM, even a messy one. I can work with messy. I cannot work with nothing.
  • The person reading this can decide without a committee.
NOT A FIT IF
  • You are spending under $20k/month. Say so on the call and I will point you at someone cheaper who is good.
  • You want percent-of-spend pricing. I do not offer it at any spend level.
  • You want someone to execute a plan you have already written. Hire a contractor, not a partner.
  • You need results inside 30 days. The measurement rebuild alone takes two weeks.
  • You are unwilling to let anyone see the CRM. The whole engagement runs on that data.

Who you are hiring

An analyst who learned to buy media, not the other way around.

I am Connor Hand. Six-plus years running paid media and lifecycle analytics — at a Birmingham ad agency and at a national tech company. Most of that time my actual job was building the reporting that told executives which channels were real and which were rounding errors, and then defending those numbers in rooms where people did not like them.

That is an unusual background for someone running local ad accounts, and it is the whole pitch. I am not going to be the person with the cleverest creative hook. I am going to be the person who can tell you, with receipts, what your money bought.

One client per category in this metro. Small enough that you talk to the person doing the work, because that person is me.

Birmingham, Alabama. No account managers. No offshore team. No dashboard you will never open.

Objections

The questions you were already going to ask.

Why not just hire someone in-house?

At your size you should, eventually. The catch is that one in-house hire at $85k is usually strong at one of the three jobs on this page and learning the other two on your budget. If you are already interviewing, tell me on the call — I would rather set the role up properly and hand it over in a year than pretend you need me forever.

My current agency says my tracking is fine.

Then ask for one specific thing: cost per booked job by channel for the last quarter, reconciled against the CRM. Not cost per lead. If it comes back in an afternoon, your tracking is genuinely fine and you should keep them. In four years of asking that question, I have rarely seen it come back at all.

Do you rebuild my accounts or take over what I have?

Mostly take over, then restructure in place. Burning down a working account to prove a point costs you learning data and a month of performance. I rebuild the tracking layer almost always, because that is usually what is broken, and I restructure campaigns where the structure is actively costing money.

What happens if it doesn't work?

You cancel after the initial term and keep everything — accounts, tracking, dashboards, sequences, all of it in your name and still running. I would also tell you before you got there. The 60-90 day meeting exists to have that conversation on a schedule instead of six months late.

Can I buy just the measurement piece?

Sometimes, as a fixed-scope build rather than a retainer. It is a real option and I will quote it. But be honest with yourself about what happens next: a clean measurement layer that nobody acts on is an expensive way to feel informed.

What do you need from me to start?

Read access to your ad accounts, analytics, and CRM, and about two hours of your time in the first fortnight. After that, one call a month unless something breaks. I am not going to fill your calendar to look busy.

Find out what your spend actually bought.

Send me read access to your ad accounts and I will spend an hour in them before we talk. On the call I tell you what I would change and what it is probably worth. If the answer is "not much," you get that for free too.

No deck, no proposal unless you ask for one. If we are not a fit I will say so on the call rather than sending a document about it three days later.

Pick a time

45 minutes. I read your last 90 days first.

Booking calendar loads here once GHL_CALENDAR is set in the config block.