{"id":1368,"date":"2026-10-25T05:09:23","date_gmt":"2026-10-25T05:09:23","guid":{"rendered":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/"},"modified":"2026-10-25T05:09:23","modified_gmt":"2026-10-25T05:09:23","slug":"cost-per-booked-job-roofing-company-aim-for","status":"publish","type":"post","link":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/","title":{"rendered":"What cost per booked job should a roofing company aim for?"},"content":{"rendered":"<p class=\"ll-al-subhead\">For roofing owners who want a number to hold their marketing to, built from their own job prices, margins and close rate instead of someone else&#8217;s average.<\/p>\n<p class=\"ll-al-hero-cta\"><a href=\"https:\/\/www.limitless-local.com\/contact\/?utm_source=resources&amp;utm_medium=answer-library&amp;utm_campaign=cost-per-booked-job-roofing-company-aim-for&amp;utm_content=hero\">Get a free visibility audit<\/a> &middot; <a href=\"https:\/\/www.limitless-local.com\/contact\/?utm_source=resources&amp;utm_medium=answer-library&amp;utm_campaign=cost-per-booked-job-roofing-company-aim-for&amp;utm_content=hero\">Book a growth call<\/a><\/p>\n<h2>How do I set a target cost per signed roofing job for my own company?<\/h2>\n<p class=\"ll-al-answer\" style=\"font-weight:600;color:#001b52;font-size:1.06em;line-height:1.6\">There&#8217;s no single right number: a roofing company should aim for a cost per booked job it can afford, worked out from its own average job price, gross margin and close rate. Multiply your average signed job by your gross margin to get the gross profit on a job, decide what share of that you&#8217;re willing to spend to win it, and that&#8217;s your ceiling per signed job. Multiply the ceiling by your lead-to-signed-job rate to get the most you can pay per lead, and set separate targets for repairs and replacements, because a cost one replacement can carry would sink a repair.<\/p>\n<p>Cost per booked job is the number we think every roofer should hold their marketing to, including the marketing we run. It&#8217;s how we judge the <a href=\"https:\/\/www.limitless-local.com\/packages\/\">marketing packages<\/a> we run for <a href=\"https:\/\/www.limitless-local.com\/industries\/roofing\/\">roofing companies<\/a>. If you want to know what roofing marketing costs by channel before you set a target, <a href=\"https:\/\/www.limitless-local.com\/roofing-marketing-cost\/\">how much roofing marketing costs<\/a> covers it, and the <a href=\"https:\/\/www.limitless-local.com\/resources\/roofing-marketing\/\">roofing marketing questions<\/a> library takes the rest one question at a time.<\/p>\n<h2>What does cost per booked job mean for a roofing company?<\/h2>\n<p>It&#8217;s what you spent to get a signed roofing job, divided across the jobs you signed. For a roofer, &#8220;booked&#8221; should mean a signed contract, not a scheduled inspection, because an inspection that doesn&#8217;t sign earns nothing.<\/p>\n<p>Canada&#8217;s business development bank, BDC, gives the general version of the formula: add your sales costs and your marketing costs, then divide by the number of new customers those efforts brought in (<a href=\"https:\/\/www.bdc.ca\/en\/articles-tools\/blog\/calculating-customer-lifetime-value-cost-acquisition\">BDC<\/a>). For a roofing company that means ad spend, agency or software fees, and the cost of the people who run inspections and close the sale, divided by signed jobs. Leaving out the sales side makes your marketing look cheaper than it is.<\/p>\n<p>Measure it per channel where you can: Google Ads, Local Services Ads, SEO and Maps, referrals, door knocking. A blended number across everything hides the channel that&#8217;s losing money.<\/p>\n<h2>Is there a standard cost per booked job for roofers?<\/h2>\n<p>Not one you can trust for your company. What you can afford to pay depends on what you charge, what you keep after materials and labor, how many leads you close, and how crowded your market is. A roofer doing mostly full replacements in a high-cost metro can afford a very different number from one doing mostly repairs in a small town.<\/p>\n<p>We don&#8217;t quote an industry average here because we haven&#8217;t found a primary source that publishes a reliable one for roofing, and an average from someone else&#8217;s mix of jobs can mislead you either way. In our judgement, the number you work out from your own books is the only one worth holding your marketing to. The rest of this page shows how to work it out.<\/p>\n<h2>How do I work out the most I can pay for a signed roofing job?<\/h2>\n<p>Three numbers from your own books, and one decision:<\/p>\n<ol>\n<li><strong>Average signed job.<\/strong> Pull the last six to twelve months of signed contracts from your software and average them, separately for repairs and replacements if you can.<\/li>\n<li><strong>Gross margin.<\/strong> BDC defines gross profit margin as net revenue minus direct expenses, divided by net revenue, times 100% (<a href=\"https:\/\/www.bdc.ca\/en\/articles-tools\/entrepreneur-toolkit\/templates-business-guides\/glossary\/gross-profit-margin-ratio\">BDC<\/a>). For a roofer, direct expenses are mainly materials, crew labor, disposal and permits on the job.<\/li>\n<li><strong>Gross profit per job<\/strong> is the average signed job times your gross margin.<\/li>\n<li><strong>Your decision:<\/strong> what share of that gross profit you&#8217;re willing to spend to win the job. That share has to leave room for overhead and profit.<\/li>\n<\/ol>\n<p>The result is your ceiling: the most a signed job can cost before the work stops paying. A target below that ceiling gives you room for bad months.<\/p>\n<p>To check the overhead side, the SBA&#8217;s break-even calculator divides your fixed costs by the price minus variable costs to show how many jobs a month you need to cover them (<a href=\"https:\/\/www.sba.gov\/counseling\/plan-your-business\/break-even-point-calculator\/\">U.S. Small Business Administration<\/a>). If marketing pushes your cost per job up, that break-even number goes up with it.<\/p>\n<h2>How does my close rate change what I can pay per roofing lead?<\/h2>\n<p>Directly. The most you can pay per lead is your ceiling per signed job multiplied by the share of leads that sign. If 1 in 8 leads becomes a signed roof, you can pay at most an eighth of your ceiling per lead. If you get better at closing and 1 in 5 sign, the same ceiling lets you pay a fifth of it per lead.<\/p>\n<p>That&#8217;s why cost per lead on its own can mislead. A cheaper lead source that rarely closes can cost more per signed roof than an expensive one that closes often. Your software can show your close rate: Jobber&#8217;s quotes report, for example, shows a quote conversion rate and the value of quotes sent and converted each month (<a href=\"https:\/\/help.getjobber.com\/en\/articles\/quotes-report\/\">Jobber Help Center<\/a>). What rate is realistic for online leads is its own question; <a href=\"https:\/\/www.limitless-local.com\/resources\/close-rate-roofer-expect-from-online-leads\/\">what close rate a roofer should expect from online leads<\/a> covers it.<\/p>\n<h2>Should repairs and replacements have different cost-per-job targets?<\/h2>\n<p>Yes. A replacement carries far more gross profit than a repair, so it can carry a far higher cost to win. If you average them together, you&#8217;ll either overspend chasing repairs or starve the campaigns that bring in replacements.<\/p>\n<p>Tag every lead and job as repair, replacement, inspection or other, and work out a ceiling for each. Then judge each campaign against the target for the work it&#8217;s meant to bring in. In our judgement, a repair campaign is often worth running near break-even if repair customers come back for replacements later or send referrals, but that&#8217;s a decision to make on purpose, with your own numbers. <a href=\"https:\/\/www.limitless-local.com\/resources\/roofing-marketing-repairs-or-replacements\/\">Whether your roofing marketing should go after repairs or replacements<\/a> covers that trade-off.<\/p>\n<h2>How should storm and insurance work change my target?<\/h2>\n<p>Keep it in its own bucket. Storm work arrives in bursts, the jobs can be larger, and the time from first call to signed contract and payment can be longer and less predictable than retail work. In our judgement, mixing a storm month into your normal numbers makes the rest of the year look cheaper or more expensive than it is.<\/p>\n<p>Track storm jobs as their own type, with their own cost per signed job, and don&#8217;t let a strong storm season set the target for a quiet winter. This is about measuring your marketing, not advice on how claims work; never build a target that depends on what an insurance company will pay.<\/p>\n<h2>Should agency fees and my own sales costs count in cost per booked job?<\/h2>\n<p>Yes. BDC&#8217;s formula puts sales costs and marketing costs together (<a href=\"https:\/\/www.bdc.ca\/en\/articles-tools\/blog\/calculating-customer-lifetime-value-cost-acquisition\">BDC<\/a>). For a roofer, in our judgement, that means counting:<\/p>\n<ul>\n<li>Ad spend paid to Google, Meta or anyone else.<\/li>\n<li>Agency, software and call tracking fees.<\/li>\n<li>Lead purchases from any lead seller.<\/li>\n<li>Estimator time or commission on inspections, including the ones that don&#8217;t sign.<\/li>\n<li>Any door hangers, mailers or yard signs tied to the campaign.<\/li>\n<\/ul>\n<p>If you only count ad spend, every channel looks profitable on paper. If you count everything, you find out which ones actually are. When you&#8217;re comparing channels for the same job type, <a href=\"https:\/\/www.limitless-local.com\/resources\/roofer-split-budget-google-ads-lsas\/\">how a roofer should split budget between Google Ads and LSAs<\/a> uses the same math.<\/p>\n<figure class=\"ll-al-photo\"><img src=\"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/roofing-crew-tearing-off-shingles-on-replacement.webp\" alt=\"Roofing crew tearing off old shingles during a full roof replacement\" width=\"1200\" height=\"675\" loading=\"lazy\" decoding=\"async\" \/><\/figure>\n<h2>How do I find my real cost per booked job for each channel?<\/h2>\n<p>You need two lists that match: what you spent on each channel, and which signed jobs came from it. Many job management tools can do the second half. Jobber&#8217;s lead source report, for example, tracks leads and the first revenue tied to them by marketing source, such as referrals, your website or social media (<a href=\"https:\/\/help.getjobber.com\/en\/articles\/lead-source-report\/\">Jobber Help Center<\/a>).<\/p>\n<p>The hard part is getting the source right at the start: a tracked phone number per channel, a source field on every form, and someone in the office asking &#8220;how did you hear about us?&#8221; and recording it. <a href=\"https:\/\/www.limitless-local.com\/resources\/track-which-roofing-leads-turn-into-signed-jobs\/\">Tracking which roofing leads turn into signed jobs<\/a> walks through the setup.<\/p>\n<p>Measure over a long enough window. Roofs often sign weeks after the first call, so a single month undercounts jobs from new campaigns and overcounts jobs from old ones. In our judgement, a rolling quarter is a fairer view.<\/p>\n<h2>Can Google Ads bid toward my target cost per booked job?<\/h2>\n<p>Partly, and only if you tell it what a booked job is. Google&#8217;s Target CPA bidding lets you set your desired average cost per conversion, and it needs conversion tracking set up first (<a href=\"https:\/\/support.google.com\/google-ads\/answer\/6268632?hl=en\">Google Ads Help<\/a>). If your conversion is a form fill or a call, Google is bidding toward a cost per lead, not a cost per signed roof.<\/p>\n<p>To get closer, Google offers offline conversion imports, which let you measure what happens offline, at your office or over the phone, after someone clicks your ad (<a href=\"https:\/\/support.google.com\/google-ads\/answer\/2998031?hl=en\">Google Ads Help<\/a>). Importing signed jobs, and giving them values, lets Google see which clicks became roofs. Google says conversion values let you measure the total business value your ads generated rather than just the number of conversions (<a href=\"https:\/\/support.google.com\/google-ads\/answer\/3419241?hl=en\">Google Ads Help<\/a>). In our judgement, few small roofers need this on day one, but it&#8217;s worth setting up once your tracking from lead to signed job is reliable.<\/p>\n<h2>What should I do if my roofing cost per booked job is over target?<\/h2>\n<p>Find out which part of the chain is costing you before you cut spend. In our judgement, check in this order:<\/p>\n<ol>\n<li><strong>Response time.<\/strong> Leads that wait go to whoever called first. <a href=\"https:\/\/www.limitless-local.com\/resources\/how-fast-roofing-company-call-back-new-lead\/\">How fast a roofing company should call back a new lead<\/a> covers it.<\/li>\n<li><strong>Lead quality.<\/strong> Are the calls real homeowners in your area asking for work you do?<\/li>\n<li><strong>Close rate.<\/strong> Are inspections turning into signed contracts at your usual rate?<\/li>\n<li><strong>Job mix.<\/strong> Is the channel bringing in small repairs when you wanted replacements?<\/li>\n<li><strong>The channel itself.<\/strong> Only then decide whether to change, cut or move the budget.<\/li>\n<\/ol>\n<p>If an agency runs your marketing, ask it to report cost per booked job by channel, using your signed-job data. <a href=\"https:\/\/www.limitless-local.com\/resources\/know-if-roofing-marketing-agency-getting-results\/\">How to know if your roofing marketing agency is getting results<\/a> lists what that report should show.<\/p>\n<div class=\"ll-inline-cta ll-al-cta\">\n<div class=\"t\">\n<h4>Not sure which of these is costing you jobs?<\/h4>\n<p>A free visibility audit checks the Google profile, reviews, site and tracking, and shows what to fix first.<\/p>\n<\/div>\n<div class=\"ll-al-cta-actions\"><a class=\"ll-btn\" data-arrow=\"1\" href=\"https:\/\/www.limitless-local.com\/contact\/?utm_source=resources&#038;utm_medium=answer-library&#038;utm_campaign=cost-per-booked-job-roofing-company-aim-for&#038;utm_content=cta-1\">Get my free visibility audit<\/a><a class=\"ll-btn ghost\" href=\"https:\/\/www.limitless-local.com\/contact\/?utm_source=resources&#038;utm_medium=answer-library&#038;utm_campaign=cost-per-booked-job-roofing-company-aim-for&#038;utm_content=cta-1\">Book a growth call<\/a><\/div>\n<\/div>\n<h2>What&#x27;s different about cost per booked job for roofing companies<\/h2>\n<p><strong>High tickets change the math.<\/strong> One replacement can carry a cost to win it that would be unthinkable for a service call in most trades. That&#8217;s why roofers can afford channels that look expensive per lead, as long as they close.<\/p>\n<p><strong>Long, uneven sales cycles.<\/strong> Replacement shoppers compare bids, wait on financing or wait for the right season. Judge cost per booked job over a quarter or more, not week by week.<\/p>\n<p><strong>Storm spikes distort averages.<\/strong> A hail month can make every channel look cheap. Keep storm work in its own bucket so it doesn&#8217;t set the target for the rest of the year.<\/p>\n<p><strong>Referrals and reviews come later.<\/strong> In our judgement, a happy replacement customer often brings neighbors and reviews that don&#8217;t show up in the first job&#8217;s numbers. That&#8217;s a reason to protect a channel that&#8217;s near target, not a reason to ignore a channel that&#8217;s well over it.<\/p>\n<h2>A worked example: setting a roofing cost-per-job target<\/h2>\n<p>These numbers are made up to show the math, not a benchmark for your market. Say your average signed replacement is $12,000 and your gross margin on replacements is 35%, so each one leaves $4,200 in gross profit. You decide you&#8217;re willing to spend up to 20% of that to win the job.<\/p>\n<ul>\n<li>Ceiling per signed replacement: $4,200 x 20% = <strong>$840<\/strong>.<\/li>\n<li>Say 1 in 2 leads books an inspection and 1 in 4 inspections signs, so 1 in 8 leads becomes a signed roof. Most you can pay per lead: $840 &divide; 8 = <strong>$105<\/strong>.<\/li>\n<li>Repairs, separately: a made-up $900 average repair at 40% gross margin leaves $360. At the same 20%, the ceiling is <strong>$72<\/strong> per signed repair. If 1 in 2 repair leads signs, that&#8217;s $36 per lead.<\/li>\n<\/ul>\n<p>Now put a full month against it. Say your marketing costs $3,500 for our Essentials package plus a made-up $2,000 in Google Ads spend, which is $5,500, and ad spend is always paid to Google separately. At an $840 ceiling, that month needs about 6.5 signed replacements, so at least 7, to stay on target. If it brings 9, you&#8217;re under target; if it brings 4, something in the chain needs fixing. Working this out with your real numbers, by channel, is part of what a free visibility audit is for.<\/p>\n<figure class=\"ll-al-infographic\"><img src=\"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/cost-per-booked-job-roofing-company-aim-for-cost-per-job-target-steps.webp\" alt=\"Four-step made-up example of a roofing cost-per-job target: a $12,000 average signed job, $4,200 gross profit at a 35% margin, an $840 ceiling per job when spending up to 20% of gross profit, and a $105 maximum per lead when 1 in 8 leads signs\" width=\"1200\" height=\"675\" loading=\"lazy\" decoding=\"async\" \/><\/figure>\n<h2>Frequently asked questions<\/h2>\n<h3>Is cost per lead or cost per booked job more important for a roofer?<\/h3>\n<p>Cost per booked job. A cheap lead that never signs costs more per roof than an expensive lead that closes, and only cost per signed job shows that.<\/p>\n<h3>What share of gross profit should I spend to win a roofing job?<\/h3>\n<p>That&#8217;s your call, and it depends on your overhead and the profit you need to keep. In our judgement, start with a share that still leaves a profit after overhead at your current job volume, then adjust as you see real results.<\/p>\n<h3>Should door knocking count toward cost per booked job?<\/h3>\n<p>Yes, as its own channel. Count canvassers&#8217; pay or commission and materials, divide by the jobs it signs, and compare it with your online channels on the same basis.<\/p>\n<h3>How often should I recalculate my target?<\/h3>\n<p>In our judgement, whenever your prices, material costs or crew costs change, and at least once a year. A target built on last year&#8217;s margins can let you overspend this year.<\/p>\n<h3>Do referrals have a cost per booked job?<\/h3>\n<p>Often close to zero in marketing spend, but not in sales time. Track them as their own source so they don&#8217;t make your paid channels look better than they are.<\/p>\n<h2>Key takeaways<\/h2>\n<ul>\n<li>Cost per booked job is all your sales and marketing costs for a channel divided by the signed jobs it brought in.<\/li>\n<li>Your ceiling per job = average signed job x gross margin x the share of gross profit you&#8217;ll spend to win it.<\/li>\n<li>The most you can pay per lead = your ceiling x the share of leads that sign.<\/li>\n<li>Set separate targets for repairs, replacements and storm work, and judge over a quarter, not a week.<\/li>\n<li>If you&#8217;re over target, check response time, lead quality, close rate and job mix before cutting the channel.<\/li>\n<\/ul>\n<div class=\"ll-inline-cta ll-al-cta\">\n<div class=\"t\">\n<h4>Want a second set of eyes on your setup?<\/h4>\n<p>We&#x27;ll look at how you show up locally and where calls are leaking, then send you a plain-English breakdown.<\/p>\n<\/div>\n<div class=\"ll-al-cta-actions\"><a class=\"ll-btn\" data-arrow=\"1\" href=\"https:\/\/www.limitless-local.com\/contact\/?utm_source=resources&#038;utm_medium=answer-library&#038;utm_campaign=cost-per-booked-job-roofing-company-aim-for&#038;utm_content=cta-2\">Get the free audit<\/a><a class=\"ll-btn ghost\" href=\"https:\/\/www.limitless-local.com\/contact\/?utm_source=resources&#038;utm_medium=answer-library&#038;utm_campaign=cost-per-booked-job-roofing-company-aim-for&#038;utm_content=cta-2\">Book a growth call<\/a><\/div>\n<\/div>\n<h2>More in this section<\/h2>\n<ul class=\"ll-al-more\">\n<li><a href=\"https:\/\/www.limitless-local.com\/resources\/roofing-website-include-more-estimate-requests\/\">What should a roofing website include to get more estimate requests?<\/a><\/li>\n<li><a href=\"https:\/\/www.limitless-local.com\/resources\/roofing-company-follow-up-on-unsigned-estimates\/\">How should a roofing company follow up on unsigned estimates?<\/a><\/li>\n<li><a href=\"https:\/\/www.limitless-local.com\/resources\/close-rate-roofer-expect-from-online-leads\/\">What close rate should a roofer expect from online leads?<\/a><\/li>\n<li><a href=\"https:\/\/www.limitless-local.com\/resources\/is-1000-month-enough-roofing-marketing\/\">Is $1,000 a month enough for roofing marketing?<\/a><\/li>\n<li><a href=\"https:\/\/www.limitless-local.com\/resources\/track-which-roofing-leads-turn-into-signed-jobs\/\">How do I track which roofing leads turn into signed jobs?<\/a><\/li>\n<\/ul>\n<h2>Sources<\/h2>\n<ol class=\"ll-al-sources\">\n<li><a href=\"https:\/\/www.bdc.ca\/en\/articles-tools\/blog\/calculating-customer-lifetime-value-cost-acquisition\" rel=\"noopener\" target=\"_blank\">Calculating customer lifetime value &amp; cost of acquisition<\/a> &mdash; BDC (Business Development Bank of Canada)<\/li>\n<li><a href=\"https:\/\/www.bdc.ca\/en\/articles-tools\/entrepreneur-toolkit\/templates-business-guides\/glossary\/gross-profit-margin-ratio\" rel=\"noopener\" target=\"_blank\">Gross profit margin<\/a> &mdash; BDC (Business Development Bank of Canada)<\/li>\n<li><a href=\"https:\/\/www.sba.gov\/counseling\/plan-your-business\/break-even-point-calculator\/\" rel=\"noopener\" target=\"_blank\">Break-even point calculator<\/a> &mdash; U.S. Small Business Administration<\/li>\n<li><a href=\"https:\/\/support.google.com\/google-ads\/answer\/6268632?hl=en\" rel=\"noopener\" target=\"_blank\">About Target CPA bidding<\/a> &mdash; Google Ads Help<\/li>\n<li><a href=\"https:\/\/support.google.com\/google-ads\/answer\/2998031?hl=en\" rel=\"noopener\" target=\"_blank\">About offline conversion imports<\/a> &mdash; Google Ads Help<\/li>\n<li><a href=\"https:\/\/support.google.com\/google-ads\/answer\/3419241?hl=en\" rel=\"noopener\" target=\"_blank\">About conversion values<\/a> &mdash; Google Ads Help<\/li>\n<li><a href=\"https:\/\/help.getjobber.com\/en\/articles\/quotes-report\/\" rel=\"noopener\" target=\"_blank\">Quotes Report<\/a> &mdash; Jobber Help Center<\/li>\n<li><a href=\"https:\/\/help.getjobber.com\/en\/articles\/lead-source-report\/\" rel=\"noopener\" target=\"_blank\">Lead Source Report<\/a> &mdash; Jobber Help Center<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>How to set a roofing cost per booked job target from your own job price, gross margin and close rate, with separate targets for repairs and replacements.<\/p>\n","protected":false},"author":2,"featured_media":1365,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_canonical":"","ll_review_state":"approved","ll_template_version":"v1","ll_sources":"[\"https:\/\/www.bdc.ca\/en\/articles-tools\/blog\/calculating-customer-lifetime-value-cost-acquisition\", \"https:\/\/www.bdc.ca\/en\/articles-tools\/entrepreneur-toolkit\/templates-business-guides\/glossary\/gross-profit-margin-ratio\", \"https:\/\/www.sba.gov\/counseling\/plan-your-business\/break-even-point-calculator\/\", \"https:\/\/support.google.com\/google-ads\/answer\/6268632?hl=en\", \"https:\/\/support.google.com\/google-ads\/answer\/2998031?hl=en\", \"https:\/\/support.google.com\/google-ads\/answer\/3419241?hl=en\", \"https:\/\/help.getjobber.com\/en\/articles\/quotes-report\/\", \"https:\/\/help.getjobber.com\/en\/articles\/lead-source-report\/\"]","ll_faq":"[{\"q\": \"Is cost per lead or cost per booked job more important for a roofer?\", \"a\": \"Cost per booked job. A cheap lead that never signs costs more per roof than an expensive lead that closes, and only cost per signed job shows that.\"}, {\"q\": \"What share of gross profit should I spend to win a roofing job?\", \"a\": \"That's your call, and it depends on your overhead and the profit you need to keep. In our judgement, start with a share that still leaves a profit after overhead at your current job volume, then adjust as you see real results.\"}, {\"q\": \"Should door knocking count toward cost per booked job?\", \"a\": \"Yes, as its own channel. Count canvassers' pay or commission and materials, divide by the jobs it signs, and compare it with your online channels on the same basis.\"}, {\"q\": \"How often should I recalculate my target?\", \"a\": \"In our judgement, whenever your prices, material costs or crew costs change, and at least once a year. A target built on last year's margins can let you overspend this year.\"}, {\"q\": \"Do referrals have a cost per booked job?\", \"a\": \"Often close to zero in marketing spend, but not in sales time. Track them as their own source so they don't make your paid channels look better than they are.\"}]","ll_cluster_id":"roofing-0113","ll_hub":"roofing","ll_lang":"en","ll_last_regenerated":"2026-10-25","tldr":"<ul><li>Cost per booked job = everything you spend to get the work, divided by signed jobs.<\/li><li>Your ceiling = average signed job x gross margin x the share of gross profit you&#x27;ll spend to win it.<\/li><li>Your most per lead = that ceiling x the share of leads that become signed jobs.<\/li><li>Set repair, replacement and storm-work targets separately, and count fees and sales costs too.<\/li><\/ul>","_yoast_wpseo_primary_category":8,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-1368","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-roofing-marketing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Cost per Booked Job Should a Roofer Aim For?<\/title>\n<meta name=\"description\" content=\"How to set a roofing cost per booked job target from your own job price, gross margin and close rate, with separate targets for repairs and replacements.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Cost per Booked Job Should a Roofer Aim For?\" \/>\n<meta property=\"og:description\" content=\"How to set a roofing cost per booked job target from your own job price, gross margin and close rate, with separate targets for repairs and replacements.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/\" \/>\n<meta property=\"og:site_name\" content=\"Limitless Local\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-25T05:09:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/roofing-owner-reviewing-job-invoices-with-calculator.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Answer Library Publisher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Answer Library Publisher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/\"},\"author\":{\"name\":\"Answer Library Publisher\",\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/#\\\/schema\\\/person\\\/f2405e7db1c31775cbad66b60b9c13e7\"},\"headline\":\"What cost per booked job should a roofing company aim for?\",\"datePublished\":\"2026-10-25T05:09:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/\"},\"wordCount\":2646,\"image\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/roofing-owner-reviewing-job-invoices-with-calculator.webp\",\"articleSection\":[\"Roofing Marketing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/\",\"url\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/\",\"name\":\"What Cost per Booked Job Should a Roofer Aim For?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/roofing-owner-reviewing-job-invoices-with-calculator.webp\",\"datePublished\":\"2026-10-25T05:09:23+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/#\\\/schema\\\/person\\\/f2405e7db1c31775cbad66b60b9c13e7\"},\"description\":\"How to set a roofing cost per booked job target from your own job price, gross margin and close rate, with separate targets for repairs and replacements.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/roofing-owner-reviewing-job-invoices-with-calculator.webp\",\"contentUrl\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/roofing-owner-reviewing-job-invoices-with-calculator.webp\",\"width\":1200,\"height\":675,\"caption\":\"Roofing company owner reviewing printed job invoices with a calculator at an office desk\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/cost-per-booked-job-roofing-company-aim-for\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What cost per booked job should a roofing company aim for?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/#website\",\"url\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/\",\"name\":\"Limitless Local\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/#\\\/schema\\\/person\\\/f2405e7db1c31775cbad66b60b9c13e7\",\"name\":\"Answer Library Publisher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c43e448664548de9ff72279276416c15206b8cf6e8f5619dc5de0047b3635a8a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c43e448664548de9ff72279276416c15206b8cf6e8f5619dc5de0047b3635a8a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c43e448664548de9ff72279276416c15206b8cf6e8f5619dc5de0047b3635a8a?s=96&d=mm&r=g\",\"caption\":\"Answer Library Publisher\"},\"url\":\"https:\\\/\\\/www.limitless-local.com\\\/resources\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Cost per Booked Job Should a Roofer Aim For?","description":"How to set a roofing cost per booked job target from your own job price, gross margin and close rate, with separate targets for repairs and replacements.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/","og_locale":"en_US","og_type":"article","og_title":"What Cost per Booked Job Should a Roofer Aim For?","og_description":"How to set a roofing cost per booked job target from your own job price, gross margin and close rate, with separate targets for repairs and replacements.","og_url":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/","og_site_name":"Limitless Local","article_published_time":"2026-10-25T05:09:23+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/roofing-owner-reviewing-job-invoices-with-calculator.webp","type":"image\/webp"}],"author":"Answer Library Publisher","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Answer Library Publisher","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/#article","isPartOf":{"@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/"},"author":{"name":"Answer Library Publisher","@id":"https:\/\/www.limitless-local.com\/resources\/#\/schema\/person\/f2405e7db1c31775cbad66b60b9c13e7"},"headline":"What cost per booked job should a roofing company aim for?","datePublished":"2026-10-25T05:09:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/"},"wordCount":2646,"image":{"@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/#primaryimage"},"thumbnailUrl":"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/roofing-owner-reviewing-job-invoices-with-calculator.webp","articleSection":["Roofing Marketing"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/","url":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/","name":"What Cost per Booked Job Should a Roofer Aim For?","isPartOf":{"@id":"https:\/\/www.limitless-local.com\/resources\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/#primaryimage"},"image":{"@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/#primaryimage"},"thumbnailUrl":"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/roofing-owner-reviewing-job-invoices-with-calculator.webp","datePublished":"2026-10-25T05:09:23+00:00","author":{"@id":"https:\/\/www.limitless-local.com\/resources\/#\/schema\/person\/f2405e7db1c31775cbad66b60b9c13e7"},"description":"How to set a roofing cost per booked job target from your own job price, gross margin and close rate, with separate targets for repairs and replacements.","breadcrumb":{"@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/#primaryimage","url":"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/roofing-owner-reviewing-job-invoices-with-calculator.webp","contentUrl":"https:\/\/www.limitless-local.com\/resources\/wp-content\/uploads\/2026\/10\/roofing-owner-reviewing-job-invoices-with-calculator.webp","width":1200,"height":675,"caption":"Roofing company owner reviewing printed job invoices with a calculator at an office desk"},{"@type":"BreadcrumbList","@id":"https:\/\/www.limitless-local.com\/resources\/cost-per-booked-job-roofing-company-aim-for\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.limitless-local.com\/resources\/"},{"@type":"ListItem","position":2,"name":"What cost per booked job should a roofing company aim for?"}]},{"@type":"WebSite","@id":"https:\/\/www.limitless-local.com\/resources\/#website","url":"https:\/\/www.limitless-local.com\/resources\/","name":"Limitless Local","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.limitless-local.com\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.limitless-local.com\/resources\/#\/schema\/person\/f2405e7db1c31775cbad66b60b9c13e7","name":"Answer Library Publisher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c43e448664548de9ff72279276416c15206b8cf6e8f5619dc5de0047b3635a8a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c43e448664548de9ff72279276416c15206b8cf6e8f5619dc5de0047b3635a8a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c43e448664548de9ff72279276416c15206b8cf6e8f5619dc5de0047b3635a8a?s=96&d=mm&r=g","caption":"Answer Library Publisher"},"url":"https:\/\/www.limitless-local.com\/resources\/"}]}},"_links":{"self":[{"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/posts\/1368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/comments?post=1368"}],"version-history":[{"count":0,"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/posts\/1368\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/media\/1365"}],"wp:attachment":[{"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/media?parent=1368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/categories?post=1368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.limitless-local.com\/resources\/wp-json\/wp\/v2\/tags?post=1368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}