Full-funnel growth partner · High-ticket local service
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.
WHAT THE DASHBOARDS CLAIMED — LAST 90 DAYS
WHAT THE CRM ACTUALLY BOOKED
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
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.
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.
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
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.
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.
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.
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
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.
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
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.
Full audit of accounts, tracking, and CRM. Server-side tagging built. Conversion definitions fixed. We find out what your numbers have actually been measuring.
Honest baseline set and written down. Campaign structure rebuilt around service lines and margin, not around whatever the account inherited.
Testing cadence running. Follow-up sequences live for the leads that did not book. Offline conversions feeding back to the platforms.
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
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.
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.
Qualification
Who you are hiring
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.
Also worth knowing: your customers have started asking ChatGPT and Google AI Mode who to hire, and that channel produces no click for your ads reporting to catch. Tiny Mage measures that separately.
The AI Visibility Audit — $1,500Objections
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.
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.
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.
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.
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.
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.
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
Booking calendar loads here once GHL_CALENDAR is set in the config block.