PayOnJobs
← All posts
pricing · model · marketing

Pay-Per-Booking Marketing for Contractors: The Math Versus a Retainer

Brandon Rodriguez··8 min read

Most marketing agencies pitch trade business owners on a flat monthly retainer of two thousand to seventy-five hundred dollars. The pitch is simple. You pay us this much every month. We make your phone ring. Trust the process.

The problem with that structure is not the people running these agencies. Some of them are talented. The problem is the math underneath the contract.

Once you are on a retainer, the agency gets paid the same whether your phone rings five times or five hundred times. Their incentive becomes keeping you on the contract long enough to recoup their acquisition cost, then managing your churn risk. Their incentive is not to maximize your booked jobs. It cannot be. The pricing structure does not reward it.

If you have ever been the trade owner on that side of the table, you know exactly what this looks like in practice. You sign in February for three thousand a month. By April you are starting to wonder. By June you are looking at six monthly reports full of impressions, clicks, sessions, "engagement," "reach"; every metric except booked jobs and dollars in the bank. You call the agency. They tell you that marketing is a long game, that the brand is compounding, that the next quarter is when things really kick in. You give them another three months. By October you are out twenty-four thousand dollars and your monthly bookings look the same as January. Maybe one or two more. Hard to tell.

The owner cancels. The agency does not lose money on that owner because the contract was paid in advance. The agency moves on to the next owner. Repeat.

We built PayOnJobs against that pattern. Specifically against that pattern.

Here is what we charge. Zero dollars to start. Zero dollars per month. We take seventeen percent of revenue from jobs we book and the customer actually paid for. If we book a job and the customer never pays, we get nothing. If we book zero jobs in a month, the invoice that month is zero dollars. We make money only when you make money, on the exact dollars you would not have made without us. That is the entire economic relationship.

Three things change immediately when you flip the pricing structure that way.

== One: our incentive becomes identical to yours ==

We do not get paid until you get paid. This is not aspirational language. It is mechanically true because the Stripe Connect application_fee_amount on every transaction is configured to route eighty-three percent to your connected bank and seventeen percent to ours, at the moment of payment, automatically. There is no separate invoice we send you at the end of the month. There is no settlement process. The split is built into the payment itself.

That means we wake up in the morning thinking about the same thing you wake up thinking about. How do we get more paying customers in front of you, today. Not how do we keep this contract for another quarter. Not how do we manage account expectations. Just: more booked, paid jobs.

If we look at the dashboard on Tuesday morning and your bookings are slower than they should be for your trade and your zip in late May, we are losing money. So we go fix it. We adjust the AI's qualifying script. We tighten the ad targeting. We push your social to surface a different kind of customer. We do whatever the data says. Because every percentage point of conversion lift compounds into our revenue.

This is the part owners we have worked with on a handshake call "agency alignment that actually works." It is not magic. It is just the absence of the misalignment that retainer pricing builds in.

== Two: you can cancel without sunk cost ==

Most retainer-based agencies trap you in twelve-month minimums. Some have early-termination clauses that charge you sixty percent of the remaining contract. Some make you give ninety days notice before you can leave, then run the meter for those ninety days at full price.

Our deal has thirty days notice and you walk. You keep the domain. You keep the website code. You keep the Google Business Profile. You keep the customer list. You keep your Stripe Connect account. You keep every review you earned during the term.

There is a small early-exit buyout if you cancel inside the first twelve months: three months of trailing-twelve-month revenue share, capped at twenty-five thousand dollars, and waived entirely if we failed to deliver at least twenty-five percent of expected lead volume in any consecutive ninety-day window. That clause exists because we are funding the platform build and the initial ad spend out of our pocket; if a partner takes the entire stack and bounces after two months, we lose more than we earned. But it is genuinely a small fee compared to what you would owe a retainer agency over the same period.

After month twelve the deal is fully month-to-month. Thirty days notice. No buyout. You can leave any time you want and you owe us nothing further.

This matters psychologically. If you have ever been stuck in a marketing contract you knew was not working but you could not afford to break, you remember exactly how that feels. We do not want anyone to feel that way working with us. The only reason to stay is that the system is making you more money than you are paying us. The moment it is not, leave.

== Three: the math has to work for us, which means it works for you ==

We cannot afford to take a partner where we cannot move the needle. If we sign you and we struggle to book paying jobs, we make zero. So our incentive is to filter for partners where the model works on day one.

What does the filter look like? We take fewer than six new partners per quarter. One per trade per twenty-five-mile radius. We look at your existing customer base, your capacity to take more bookings, your job-management software, your ticket sizes, and your geography. If any of those factors makes the math hard, we tell you on the first call and we do not sign.

That filter is good for you in two ways. First, it means the partners we do sign are the ones we are confident we can make money for. We are putting our own labor and ad-spend skin in the game; we only do that on bets we like. Second, it means the deal you are offered is real. There is no high-pressure sales push to sign you whether or not it works. The sales call is more like a vetting call from both sides.

== A specific math comparison ==

Imagine you run an HVAC business that currently does four hundred thousand dollars a year in revenue from your existing customer base, repeat business, and referrals.

You sign with a retainer agency at four thousand dollars a month. Year one cost: forty-eight thousand dollars. Plus, in most retainer contracts, you also fund your own ad budget with a fifteen to twenty percent media-management fee on top. Call it three thousand a month in ads with a five-hundred-dollar markup. Total agency-related spend in year one: eighty-four thousand dollars. The agency delivers maybe sixty thousand dollars in new attributable bookings over twelve months, which is honestly pretty good. Your net position: minus twenty-four thousand dollars before counting your own labor on the operations side. You go negative in year one and hope year two compounds.

Same operator signs with PayOnJobs instead. Zero monthly retainer. Zero setup fee. No required ad budget. The 24/7 AI on your tracked number captures roughly ninety percent of inbound calls that previously went to voicemail. At your trade and your historical close rate, that conversion lift alone generates an additional sixty thousand dollars in booked, paid revenue in the first six months without spending a dollar on ads. We invoice seventeen percent of that: ten thousand two hundred dollars. Your net position: plus forty-nine thousand eight hundred dollars over the same period.

If you then choose to add ads, the upside ratchets up. A typical New England HVAC partner running three thousand dollars a month in ads (directly to Google, no markup from us) generates roughly an additional ninety thousand dollars in attributable booked revenue annually. We take seventeen percent: fifteen thousand three hundred dollars. You pay Google thirty-six thousand. Your net on the ad layer alone: plus thirty-eight thousand seven hundred dollars.

Combine: roughly eighty-eight thousand five hundred dollars net to you in the first twelve months with PayOnJobs, versus minus twenty-four thousand with the retainer agency. That is a one hundred twelve thousand dollar swing in your direction in year one.

These numbers are illustrative composites from real operating ranges, not a guarantee for any specific partner. The point is the structure. The retainer agency loses money for you before it makes any. The revenue share only kicks in after it has already made money for you.

== The objection we hear most ==

"This sounds too good to be true."

It is not. It is just a different pricing structure. Pay-for-performance has existed in marketing for decades. Service Direct has operated a pay-per-valid-call model since 2006. BrokerCalls, Payperlead.com, and several others have built durable businesses on similar structures. The reason rev-share is not the default in trades marketing is not that it does not work. It is that it requires the agency to assume real risk and to bring real infrastructure (AI receptionist, Stripe Connect automation, integrated analytics) that did not exist in usable form ten years ago.

The infrastructure exists now. The risk is one we are willing to take because we are confident in our ability to filter for partners we can make money for. The economics make sense. The trust math is built into Stripe instead of into a handshake.

If that math fits how you want to run your marketing, the application takes three minutes. We read every one personally and call back within twenty-four hours. If your trade and your zip are open, we will tell you straight. If not, we will tell you that too and point you somewhere useful.

== One last note on the seventeen percent ==

The number is not arbitrary. We landed on seventeen percent after running the model with a handful of partners on handshake terms for two years. Lower percentages did not generate enough margin to fund the ad spend, the AI infrastructure, the Stripe processing, the dispatcher coverage during emotional escalation calls, and the platform engineering work that keeps everything integrated. Higher percentages started to feel like we were taking too much of the partner's revenue on jobs where their craft was the actual driver of the close. Seventeen sits right at the inflection point where both sides agree the math is fair across most trades and most operator profiles. It is the number we plan to hold at as we grow.

== How to run this math for your own business ==

You do not need us to check whether pay-per-booking beats your current retainer. Pull three numbers from your own books and do it on the back of an envelope.

First, your average job value. Take last year's completed-job revenue and divide by the number of jobs. For most HVAC service operations in New England that lands between four hundred and nine hundred dollars; roofing replacement work runs far higher.

Second, your real monthly marketing cost. The retainer, plus the ad spend the agency bills through, plus whatever you pay for chat widgets, lead services, and the answering service. Owners are consistently surprised by this total. It is rarely just the retainer.

Third, the bookings that marketing actually produced. Not calls, not clicks, booked jobs you can trace to the spend. If the agency cannot tell you this number, that silence is itself the answer.

Now divide cost by booked jobs. If you are paying a two-thousand-dollar retainer that produces six traceable bookings a month at a six-hundred-dollar average, you are paying about fifty-five percent of that new revenue for it. Seventeen percent, charged only after the job closes and the money is collected, does not need a sales pitch next to that number. The envelope does the pitching.

Ready to talk?

Three-minute application. Brandon reads every one personally.

Apply for a partner slot