# LSA Budget Estimator

> How much do Google Local Services Ads cost? Estimate leads, monthly and weekly budget and cost per booked job, with 2026 cost-per-lead data by trade.

- URL: https://www.netembark.com/budget-calculator/local-services-ads/
- Published: 2026-10-19
- Updated: 2026-10-19
- Author: Gary Pyatigorsky

---

/* ---- inner-page additions (.ne-page) ---- */ .ne-page{overflow-x:clip} .ne-page section.slight{background:#fff} .ne-page section.sice{background:#EEF5FB} .ne-page section.smid{background:#D6E6F5} .ne-page section.sdark{background:#44566B;color:#fff} .ne-page .sdark h2,.ne-page .sdark h3:not(.card h3):not(.ctitle){color:#fff} .ne-page .sdark .eyebrow{color:#BFDCF4} .ne-page .sdark .lead,.ne-page .sdark\>.wrap\>div\>p,.ne-page .sdark .split p{color:#E6EDF4} .ne-page .sdark .checks li{color:#F2F6FA} .ne-page .sdark .checks li:before{background:#7EB6E3;color:#3C3C3B} .ne-page .sdark .card{border-color:transparent} .ne-page .sdark .card h3{color:#3C3C3B} .ne-page .phero{min-height:560px;padding:96px 0 88px} .ne-page .phero .htext{max-width:820px} .ne-page .phero h1{font-size:clamp(34px,4.6vw,56px)} .ne-page .split.rev\>div:first-child{order:2} .ne-page .split .media img{border-radius:22px;box-shadow:0 24px 50px rgba(60,60,59,.18);aspect-ratio:4/3;object-fit:cover;width:100%} .ne-page .split p+p{margin-top:14px} .ne-page .split .lead+.checks{margin-top:22px} .ne-page .grid5.c2{grid-template-columns:repeat(2,1fr)} .ne-page .grid5.c4{grid-template-columns:repeat(4,1fr)} .ne-page .grid5.c5{grid-template-columns:repeat(5,1fr);gap:18px} .ne-page .grid5.c5 .card{padding:26px 20px} .ne-page .grid5.c5 .card h3{font-size:18px} .ne-page .imgband{background:linear-gradient(180deg,#44566B 0 50%,#fff 50% 100%);padding:0} .ne-page .imgband.flip{background:linear-gradient(180deg,#fff 0 50%,#44566B 50% 100%)} .ne-page .imgband.ice{background:linear-gradient(180deg,#EEF5FB 0 50%,#fff 50% 100%)} .ne-page .imgband figure{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(60,60,59,.22);background:#EEF5FB} .ne-page .imgband img{width:100%;height:clamp(220px,32vw,420px);object-fit:cover} .ne-page .imgband figcaption{position:absolute;left:20px;bottom:20px;right:20px;max-width:560px;background:rgba(60,60,59,.82);color:#fff;font-weight:600;font-size:15px;padding:12px 18px;border-radius:12px} .ne-page .vsec .yt{position:relative;max-width:880px;margin:36px auto 0;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#3C3C3B;box-shadow:0 30px 60px rgba(60,60,59,.22);cursor:pointer} .ne-page .vsec .yt img{width:100%;height:100%;object-fit:cover;opacity:.9} .ne-page .vsec .yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0} .ne-page .ytplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:62px;background:none;border:0;cursor:pointer;transition:transform .2s} .ne-page .yt:hover .ytplay{transform:translate(-50%,-50%) scale(1.08)} .ne-page .ytplay svg{width:100%;height:100%} .ne-page .vnote{margin-top:16px;font-size:15px} .ne-page .vnote a{color:#2F7BBD;font-weight:600} .ne-page .journey{list-style:none;position:relative;margin-top:28px;display:grid;gap:14px} .ne-page .journey li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:center;background:#fff;border:1px solid #D5E5F3;border-radius:14px;padding:12px 16px;animation:jstep 6s infinite;animation-delay:calc(var(--i)*1.2s)} .ne-page .journey li small{grid-column:2;color:#55595E;font-size:14px;line-height:1.4} .ne-page .journey li b{font-family:Montserrat,sans-serif;color:#3C3C3B} .ne-page .adot{grid-row:span 2;width:40px;height:40px;border-radius:50%;background:#EEF5FB;color:#2F7BBD;font:800 16px Montserrat,sans-serif;display:grid;place-items:center;border:2px solid #7EB6E3} @keyframes jstep{0%,100%{box-shadow:none;border-color:#D5E5F3}8%,18%{box-shadow:0 10px 26px rgba(47,123,189,.22);border-color:#2F7BBD}} .ne-page .journey .pulse{display:none} .ne-page .aframe{background:#fff;border-radius:22px;box-shadow:0 24px 50px rgba(60,60,59,.14);padding:18px 22px 22px;position:relative;overflow:hidden} .ne-page .abar{display:flex;gap:6px;margin-bottom:16px} .ne-page .abar span{width:11px;height:11px;border-radius:50%;background:#D5E5F3} .ne-page .abar span:first-child{background:#FBBC04} .ne-page .abars{height:240px;display:flex;align-items:flex-end;gap:4%;padding:0 4px;border-bottom:2px solid #E3EAF3} .ne-page .abars i{flex:1;height:calc(var(--h)*1%);background:linear-gradient(180deg,#7EB6E3,#2F7BBD);border-radius:8px 8px 0 0;transform-origin:bottom;animation:agrow 4.8s ease-in-out infinite;animation-delay:var(--d)} @keyframes agrow{0%{transform:scaleY(.15)}35%,80%{transform:scaleY(1)}100%{transform:scaleY(.15)}} .ne-page .aline{position:absolute;left:22px;right:22px;top:46px;height:220px;pointer-events:none} .ne-page .aline svg{width:100%;height:100%} .ne-page .aline path{fill:none;stroke:#FBBC04;stroke-width:4;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:adraw 4.8s ease-in-out infinite;vector-effect:non-scaling-stroke} @keyframes adraw{0%{stroke-dashoffset:420}40%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:420}} .ne-page .acap{font-size:12px;color:#55595E;margin-top:10px;text-align:right} .ne-page .kpis.k4{grid-template-columns:repeat(4,1fr)} .ne-page .vlinks{margin-top:28px;display:flex;gap:12px 28px;justify-content:center;flex-wrap:wrap} .ne-page .vlinks a{color:#fff;font-weight:700;border-bottom:2px solid #7EB6E3} .ne-page .quotes.qn2{grid-template-columns:repeat(2,1fr);max-width:900px;margin-left:auto;margin-right:auto} .ne-page .quotes.qn1{grid-template-columns:1fr;max-width:640px;margin-left:auto;margin-right:auto} .ne-page .rv .rating .stars{letter-spacing:1px} .ne-page .faqs.sice{background:#EEF5FB} .ne-page .faqs.sice .faq{background:#fff} .ne-page .partners-sec .badges{margin-top:28px} .ne-page .chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px} .ne-page .chips li{border:1px solid #C3D7EA;background:#fff;border-radius:999px;padding:7px 16px;font-weight:600;font-size:14px;color:#3C3C3B} .ne-page .sdark .chips li{background:transparent;border-color:rgba(255,255,255,.4);color:#fff} .ne-page .terms{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;text-align:left} .ne-page .term{background:#fff;border-radius:18px;padding:26px;border:1px solid #C3D7EA} .ne-page .term b{display:block;font:800 28px Montserrat,sans-serif;color:#2F7BBD;margin-bottom:6px} .ne-page .term p{color:#3F4A56;font-size:16px} .ne-page .roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;text-align:left;counter-reset:r} .ne-page .rphase{background:#fff;border:1px solid #E3EAF3;border-top:5px solid #7EB6E3;border-radius:18px;padding:26px 22px} .ne-page .rphase:nth-child(4){border-top-color:#FBBC04} .ne-page .rphase .when{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#2F7BBD} .ne-page .rphase h3{font-size:19px;margin:6px 0 10px} .ne-page .rphase ul{padding-left:18px;color:#55595E;font-size:15px} .ne-page .rphase li{margin-bottom:6px} .ne-page .partner-note{margin-top:22px;padding:18px 20px;border-left:4px solid #FBBC04;background:rgba(255,255,255,.7);border-radius:10px;font-size:16px;color:#3C3C3B} .ne-page .cgrid{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:start} .ne-page .cform{background:#fff;border:1px solid #E3EAF3;border-radius:22px;padding:32px;box-shadow:0 24px 50px rgba(60,60,59,.1)} .ne-page .cform h2{font-size:28px} .ne-page .cform .fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0} .ne-page .cform .fld{display:flex;flex-direction:column;gap:6px} .ne-page .cform .full{grid-column:1/-1} .ne-page .cform label{font-weight:600;font-size:14px;color:#3C3C3B} .ne-page .cform input,.ne-page .cform textarea{font:16px Inter,sans-serif;padding:12px 14px;border:1px solid #C9D6E3;border-radius:10px;width:100%;background:#fff} .ne-page .cform input:focus,.ne-page .cform textarea:focus{outline:3px solid #7EB6E3;border-color:#2F7BBD} .ne-page .cform textarea{min-height:120px;resize:vertical} .ne-page .cform .btn-submit{width:100%;font-size:17px;padding:16px} .ne-page .cform .small{font-size:13.5px;color:#55595E;margin-top:10px} .ne-page .cinfo{display:grid;gap:16px} .ne-page .ci{background:#fff;border:1px solid #C3D7EA;border-radius:18px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start} .ne-page .ci .icon{flex:none;width:48px;height:48px;margin:0} .ne-page .ci .icon svg{width:22px;height:22px} .ne-page .ci b{display:block;font-family:Montserrat,sans-serif;color:#3C3C3B} .ne-page .ci a{color:#2F7BBD;font-weight:700;font-size:18px} .ne-page .ci p{color:#55595E;font-size:15px} .ne-page .mnav{display:none} .ne-page .mnav:not(\[hidden\]){display:flex;flex-direction:column;gap:4px;padding:10px 24px 20px;background:#fff;border-top:1px solid #E3EAF3} .ne-page .mnav a{padding:10px 0;font-weight:600;border-bottom:1px solid #EEF2F6} .ne-page .mnav a.btn{border:0;margin-top:10px;text-align:center} .ne-page .burger{cursor:pointer;color:#3C3C3B} @media(min-width:981px){.ne-page .mnav{display:none!important}} @media(max-width:1100px){.ne-page .grid5.c5{grid-template-columns:repeat(3,1fr)}.ne-page .roadmap{grid-template-columns:1fr 1fr}} @media(max-width:980px){.ne-page .grid5.c4,.ne-page .kpis.k4{grid-template-columns:1fr 1fr}.ne-page .split.rev\>div:first-child{order:0}.ne-page .cgrid{grid-template-columns:1fr}.ne-page .terms{grid-template-columns:1fr}.ne-page .quotes.qn2{grid-template-columns:1fr}} @media(max-width:600px){.ne-page .phero{min-height:auto;padding:56px 0 48px}.ne-page .grid5.c2,.ne-page .grid5.c4,.ne-page .grid5.c5,.ne-page .roadmap{grid-template-columns:1fr}.ne-page .cform{padding:22px}.ne-page .cform .fgrid2{grid-template-columns:1fr}.ne-page .abars{height:180px}.ne-page .aline{height:160px}.ne-page .imgband figcaption{position:static;border-radius:0;max-width:none}.ne-page .kpis.k4{grid-template-columns:1fr 1fr}} @media(prefers-reduced-motion:reduce){.ne-page .journey li,.ne-page .abars i,.ne-page .aline path{animation:none}.ne-page .aline path{stroke-dashoffset:0}} .ne-page .cbadges{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 26px} .ne-page .cbadges img{height:72px;width:auto;border-radius:10px} .ne-page .cbadges img.mlogo{height:30px} .ne-page .sdark .wcard h3{color:#3C3C3B} .ne-page .imgband.graphic img{object-fit:contain;height:auto;max-height:440px;background:#EEF5FB} .ne-page .imgband.graphic figcaption{position:static;max-width:none;border-radius:0;text-align:center;background:#3C3C3B} .ne-page .sdark .card .checks li{color:#3C3C3B} .ne-page .sdark .card .checks li:before{background:#2F7BBD;color:#fff} .ne-page .sdark .card p{color:#55595E} .ne-page .phero .hbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0} .ne-page a.btn\[href="/contact-us/"\],.ne-page .band a.btn\[href="/contact-us/"\]{background:#FBBC04;color:#3C3C3B;border:0;font-weight:800} .ne-page a.btn\[href="/contact-us/"\]:hover{background:#E0A800;color:#3C3C3B} .ne-page .casetabs{flex-wrap:wrap;justify-content:center;border-radius:22px;max-width:100%} .ne-page .gform_wrapper{margin:18px 0 0} .ne-page .gform_wrapper .gfield{margin-bottom:14px} .ne-page .gform_wrapper .gfield_label,.ne-page .gform_wrapper label{font:600 14px Inter,sans-serif;color:#3C3C3B;margin-bottom:6px;display:block} .ne-page .gform_wrapper input:not(\[type=submit\]):not(\[type=checkbox\]):not(\[type=radio\]),.ne-page .gform_wrapper textarea,.ne-page .gform_wrapper select{font:16px Inter,sans-serif;padding:12px 14px!important;border:1px solid #C9D6E3!important;border-radius:10px!important;width:100%!important;background:#fff;box-shadow:none} .ne-page .gform_wrapper input:focus,.ne-page .gform_wrapper textarea:focus{outline:3px solid #7EB6E3;border-color:#2F7BBD!important} .ne-page .gform_wrapper .gform_footer input\[type=submit\],.ne-page .gform_wrapper .gform_footer button,.ne-page .gform_wrapper .gform_button{width:100%;background:#FBBC04!important;color:#3C3C3B!important;border:0!important;border-radius:999px!important;padding:16px!important;font:800 17px Inter,sans-serif!important;cursor:pointer} .ne-page .gform_wrapper .gform_button:hover{background:#E0A800!important} .ne-page .gform_wrapper .gfield_required{color:#2F7BBD} .ne-page .gform_wrapper .validation_message{color:#B3261E;font-size:14px}

@media(max-width:700px){.ne-page .plist{display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:flex-start !important;width:max-content;max-width:100%;margin-left:auto !important;margin-right:auto !important;gap:18px}.ne-page .plist li{justify-content:flex-start !important;width:100%;margin:0 !important}.ne-page .plist .pmark{width:32px;flex:0 0 32px;display:inline-flex;justify-content:center}} .ne-page header .logo img{height:62px !important}.ne-page header.shrink .logo img{height:46px !important}@media(max-width:700px){.ne-page header .logo img{height:50px !important}.ne-page header.shrink .logo img{height:42px !important}} .ne-page .sdark .step p,.ne-page .sdark .steps p,.ne-page .sdark \> .wrap \> p,.ne-page .sdark .center \> p{color:#E6EEF6 !important}.ne-page .sdark .step h3{color:#fff !important} .ne-page .wcard h3{color:#3C3C3B !important}.ne-page .sdark .partner-note,.ne-page .sdark .partner-note b{color:#E6EEF6 !important} /* medical pages */ .ne-page .wrap.narrow2{max-width:920px;margin-left:auto!important;margin-right:auto!important} .ne-page .msec h2{margin-bottom:18px} .ne-page .mbody p,.ne-page .mtext p{margin:0 0 14px} .ne-page .mbody h3,.ne-page .mtext h3{margin:22px 0 8px} .ne-page .mbody .checks,.ne-page .mtext .checks{margin:6px 0 18px} .ne-page .mcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:26px} .ne-page .mcards .card{padding:28px 26px} .ne-page .mcards .card p,.ne-page .mcards .card li{font-size:15.5px;color:#55595E} .ne-page .mcards .card h3{font-size:19px;margin:0 0 10px} .ne-page .tscroll{overflow-x:auto;margin:10px 0 22px;-webkit-overflow-scrolling:touch} .ne-page .tscroll .mtable{min-width:520px} .ne-page .note.legal{background:#FFF8E1;border-left:4px solid #FBBC04;padding:12px 16px;border-radius:8px;color:#3C3C3B;font-size:14.5px} .ne-page .msec a:not(.btn),.ne-page .mtext a:not(.btn){color:#1F5F99;text-decoration:underline} @media(max-width:700px){.ne-page .mcards{grid-template-columns:1fr}.ne-page .mcards .card{padding:22px 18px}} .ne-page .mtable td{color:#3C3C3B}.ne-page .mtable td.good{color:#1F5F99}

.ne-page .burger{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-right:-8px;color:#3C3C3B;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:5}@media(min-width:981px){.ne-page .burger{display:none!important}} /* Brands we've worked with: original client logo grid */ .ne-page .clogos{background:#fff;border-top:1px solid #E6ECF2} .ne-page .clogos .lead{margin-left:auto;margin-right:auto} .ne-page .lgrid{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px} .ne-page .lgrid li{margin:0;padding:14px 12px;height:96px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E6ECF2;border-radius:10px;transition:border-color .25s,box-shadow .25s} .ne-page .lgrid img{display:block;max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .3s,opacity .3s} .ne-page .lgrid li:hover{border-color:#C9D6E3;box-shadow:0 6px 18px rgba(31,95,153,.10)} .ne-page .lgrid li:hover img,.ne-page .lgrid li:focus-within img{filter:none;opacity:1} @media(hover:none){.ne-page .lgrid img{filter:none;opacity:1}} @media(max-width:1100px){.ne-page .lgrid{grid-template-columns:repeat(5,minmax(0,1fr))}} @media(max-width:700px){.ne-page .lgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px}.ne-page .lgrid li{height:72px;padding:8px 6px}.ne-page .lgrid img{max-height:48px}} .ne-page header a.btn\[href="/contact-us/"\]{white-space:nowrap !important}@media(max-width:600px){.ne-page header a.btn\[href="/contact-us/"\]{font-size:13px !important;padding:8px 14px !important;line-height:1.2 !important}}@media(max-width:360px){.ne-page header a.btn\[href="/contact-us/"\]{font-size:12px !important;padding:7px 11px !important}} @media(max-width:700px){.ne-page .lgrid{display:grid !important;grid-auto-flow:column !important;grid-template-rows:repeat(3,auto) !important;grid-template-columns:none !important;grid-auto-columns:31% !important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px !important;padding-bottom:10px;scrollbar-width:thin}.ne-page .lgrid li{scroll-snap-align:start}} /* shared results: medical case-study strip (casestudies) */ .ne-page .csstrip{margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18)} .ne-page .csstrip h3{font-size:20px;margin:0 0 16px} .ne-page .cslinks{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px} .ne-page .cslinks a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:inherit;text-decoration:none} .ne-page .cslinks a:hover{background:rgba(255,255,255,.16)} .ne-page .cslinks b{font-size:15px;line-height:1.25}.ne-page .cslinks span{font-size:13.5px;opacity:.85} @media(max-width:980px){.ne-page .cslinks{grid-template-columns:1fr 1fr}} @media(max-width:480px){.ne-page .cslinks{grid-template-columns:1fr}}

/* ---- sticky header: phone + Book a call always visible (nav.py) ---- */ .ne-page header{position:fixed !important;top:0;left:0;right:0;width:100%;box-sizing:border-box;z-index:999 !important;background:#fff;transition:box-shadow .2s,padding .2s} .ne-page .topbar{display:none !important} /* fixed (not sticky): Betheme sets body{overflow-x:hidden} ul{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;margin:0 !important;padding:0 !important} .ne-page header nav.mainnav\>ul\>li{display:flex;align-items:center;margin:0 !important;padding:0 !important;white-space:nowrap} .ne-page header nav.mainnav\>ul\>li\>a{display:inline-flex !important;align-items:center;white-space:nowrap !important;line-height:20px !important;padding-top:0 !important;padding-bottom:0 !important;height:24px} .ne-page header .hphone,.ne-page header a.btn\[href="/contact-us/"\]{align-self:center;line-height:20px !important}} .ne-page header.shrink{box-shadow:0 4px 18px rgba(60,60,59,.14)} .ne-page header .wrap{transition:padding .2s}.ne-page header.shrink .wrap{padding-top:6px !important;padding-bottom:6px !important} html{scroll-padding-top:120px}.ne-page \[id\]{scroll-margin-top:120px} .ne-page .hphone{position:relative;margin-left:18px;margin-right:30px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:700;color:#2F7BBD !important;font-size:15px;min-height:44px} .ne-page .hphone:after{content:"";position:absolute;right:-15px;top:50%;width:1px;height:24px;transform:translateY(-50%);background:#D5E2EE} .ne-page header a.btn\[href="/contact-us/"\]{background:#FBBC04 !important;color:#3C3C3B !important;border-color:#FBBC04 !important} @media(max-width:980px){.ne-page header a.btn.hide-m{display:inline-flex !important;align-items:center;min-height:40px}.ne-page header .wrap{gap:8px !important}.ne-page nav.mainnav{display:none !important} .ne-page .hphone{font-size:13px;gap:4px;margin-left:auto;margin-right:0}.ne-page .hphone:after{display:none}html{scroll-padding-top:90px}.ne-page \[id\]{scroll-margin-top:90px}.ne-page .mnav{max-height:calc(100vh - 80px);overflow-y:auto}} /* logo: keep natural 808x244 (3.31:1) ratio; desktop ~19% smaller than the old 62px/46px */ .ne-page header .logo{flex-shrink:0;display:inline-flex;align-items:center} .ne-page header .logo img{height:50px !important;width:auto !important;max-width:none !important;object-fit:contain;aspect-ratio:808/244} .ne-page header.shrink .logo img{height:38px !important} @media(max-width:980px){.ne-page header .logo img{height:40px !important}.ne-page header.shrink .logo img{height:36px !important}} @media(max-width:600px){.ne-page header .logo img{height:30px !important}.ne-page header.shrink .logo img{height:28px !important}} @media(max-width:480px){.ne-page header .wrap{padding-left:14px !important;padding-right:14px !important;gap:6px !important}.ne-page header .logo img,.ne-page header.shrink .logo img{height:26px !important}.ne-page .hphone{font-size:12.5px;gap:3px}.ne-page header a.btn\[href="/contact-us/"\]{padding:8px 12px !important;font-size:12.5px !important}} @media(max-width:380px){.ne-page header .logo img{height:26px !important}.ne-page header.shrink .logo img{height:26px !important}} @media(max-width:380px){.ne-page .hphone span{display:none}.ne-page .hphone{padding:0 6px}} /* ---- header nav: Industries dropdown + Contact (nav.py) ---- */ @media(min-width:981px){.ne-page header nav.mainnav ul{gap:22px;align-items:center;white-space:nowrap}.ne-page header nav.mainnav\>ul\>li{position:relative}} @media(min-width:981px) and (max-width:1280px){.ne-page header nav.mainnav ul{gap:14px;font-size:14px}.ne-page header .wrap{gap:14px}} @media(min-width:981px) and (max-width:1100px){.ne-page header nav.mainnav ul{gap:11px;font-size:13.5px}.ne-page header a.btn.hide-m{padding:10px 16px !important;font-size:14px !important}} .ne-page .hasdd{display:flex;align-items:center;gap:2px} .ne-page .ddbtn{background:none;border:0;padding:6px 4px;cursor:pointer;color:inherit;display:inline-flex;align-items:center;border-radius:4px} .ne-page .ddbtn .chev,.ne-page .maccbtn .chev{transition:transform .2s} .ne-page .hasdd.open .ddbtn .chev{transform:rotate(180deg)}.ne-page .hasdd.open\>.ddtop{color:#2F7BBD} .ne-page .ddpanel{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);padding-top:16px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility 0s .18s;z-index:1000;white-space:normal} .ne-page .hasdd.open .ddpanel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s,transform .18s} .ne-page .ddin{width:760px;min-height:430px;position:relative;background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(60,60,59,.18),0 2px 8px rgba(60,60,59,.08);border-top:4px solid #7EB6E3;padding:16px 0;text-align:left} .ne-page ul.ddlist{display:block !important;width:260px;list-style:none;margin:0;padding:0 0 0 12px;font-size:14.5px !important;border-right:1px solid #E3EAF3} .ne-page .ddlist\>li{display:block} .ne-page .ddindlink{display:flex !important;justify-content:space-between;align-items:center;padding:9px 14px;margin-right:12px;border-radius:8px;color:#3C3C3B !important;font-weight:600} .ne-page .ddarr{font-size:18px;color:#7EB6E3} .ne-page .ddind.act\>.ddindlink,.ne-page .ddindlink:hover,.ne-page .ddindlink:focus-visible{background:#EEF5FB;color:#2F7BBD !important} .ne-page .ddind.act .ddarr{color:#2F7BBD} .ne-page .ddsub{display:none;position:absolute;left:272px;right:0;top:16px;padding:6px 26px 10px} .ne-page .ddind.act\>.ddsub{display:block} .ne-page .ddsubhead{display:block;font-family:Montserrat,sans-serif;font-weight:800;font-size:16px;color:#2F7BBD !important;padding:4px 10px 10px;border-bottom:1px solid #E3EAF3;margin-bottom:8px} .ne-page .ddsub ul{display:grid !important;grid-template-columns:1fr 1fr;gap:2px 14px !important;list-style:none;margin:0;padding:0} .ne-page .ddsub ul a{display:block;padding:9px 10px;border-radius:8px;color:#3C3C3B;font-weight:500;font-size:14px} .ne-page .ddsub ul a:hover,.ne-page .ddsub ul a:focus-visible{background:#EEF5FB;color:#2F7BBD} .ne-page .ddallrow{margin-top:8px;padding:8px 14px 0;border-top:1px solid #E3EAF3;margin-right:12px} .ne-page .ddall{font-weight:700;font-size:14px;color:#2F7BBD !important} .ne-page .macc{border-bottom:1px solid #EEF2F6} .ne-page .maccbtn{width:100%;min-height:48px;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:10px 0;font:inherit;font-weight:600;color:#3C3C3B;cursor:pointer;text-align:left} .ne-page .maccbtn\[aria-expanded="true"\]{color:#2F7BBD}.ne-page .maccbtn\[aria-expanded="true"\] .chev{transform:rotate(180deg)} .ne-page .macclist{display:flex;flex-direction:column;padding:0 0 8px 14px;border-left:3px solid #7EB6E3;margin:0 0 10px 2px} .ne-page .macclist\[hidden\]{display:none} .ne-page .mnav .macclist a{min-height:48px;display:flex;align-items:center;font-weight:500;font-size:15px;border-bottom:1px solid #F2F5F8} .ne-page .mnav a.btn{min-height:48px;display:flex !important;align-items:center;justify-content:center} .ne-page .mnav .macclist a.mall{font-weight:700;color:#2F7BBD;border-bottom:0} .ne-page .macc2{border-bottom:1px solid #F2F5F8} .ne-page .maccbtn2{font-size:15px;font-weight:600;padding:10px 4px 10px 0} .ne-page .macclist2{border-left-color:#2F7BBD;margin:0 0 6px 0;padding-left:12px} .ne-page .mnav .macclist2 a.mall{border-bottom:1px solid #F2F5F8} .ne-page .mnav .macclist2 a{font-size:14.5px} /* About \> Locations (nested) */ .ne-page .hasdd.ddsm .ddpanel{left:auto;right:-40px;transform:translate(0,8px)}.ne-page .hasdd.ddsm.open .ddpanel{transform:translate(0,0)} .ne-page .ddsm .ddin{width:480px;min-height:250px}.ne-page .ddsm ul.ddlist{width:200px}.ne-page .ddsm .ddsub{left:212px} .ne-page .ddsm .ddsub ul.ddloc{display:block !important}.ne-page .ddloc li{display:block} .ne-page .ddloc .lv1 a{padding-left:24px !important}.ne-page .ddloc .lv2 a{padding-left:38px !important} .ne-page .ddloc .lv1 a:before,.ne-page .ddloc .lv2 a:before{content:"\21B3 ";color:#7EB6E3} .ne-page .mnav .macclist2 a.lv1{padding-left:14px}.ne-page .mnav .macclist2 a.lv2{padding-left:28px} .ne-page .mnav .macclist2 a.lv1:before,.ne-page .mnav .macclist2 a.lv2:before{content:"\21B3\00a0";color:#7EB6E3}

/* Betheme .section_wrapper adds 0 33px side padding (max-width 550px) at

[![Netembark](https://www.netembark.com/wp-content/uploads/2026/10/netembark-logo.png)](https://www.netembark.com/)

[(800) 707-2697](tel:+18007072697)
 [Book a call](https://www.netembark.com/contact-us/)

# Local Services Ads Budget Estimator

Google Premier Partner (2023) · Meta Business Partner · Microsoft Advertising Partner

## How much do Local Services Ads cost?

Google Local Services Ads charge per lead, not per click. Google doesn’t publish prices, but 2026 data from two LSA vendors puts most home-service trades at roughly **$33 to $66 per lead**, with roofing near $107 and water damage above $200. You set a weekly budget, and Google stops showing your ad once you reach that month’s maximum. Netembark recommends at least **$2,000 a month** in lead spend.

Enter the jobs you want to book each month, what a lead costs in your trade and how many leads you book. The calculator works backwards to the leads you need and a monthly and weekly budget. Every figure is lead spend paid to Google only.

## Your estimate

**Estimate only.** Actual costs, clicks, leads and results vary with competition, location, seasonality, ad quality and platform changes, and can be higher or lower. It is not a quote or a guarantee.

Budgets shown are lead charges paid to Google only. Google doesn’t charge for leads it finds invalid or low quality and may credit charged leads it later finds low quality; this estimate doesn’t subtract credits. Lead prices vary by location, job type, lead type and bidding.

[Get a custom plan](https://www.netembark.com/contact-us/)
 [Book a call](https://www.netembark.com/contact-us/)

';} function money(p){return usd.format(p.shown)+(p.floored?' (minimum)':'');} function calc(){ var cpl=n(el.cpl.value), goal=Math.round(n(el.goal.value)), rate=n(el.rate.value), val=n(el.val.value); if(!(rate\>0))rate=44; rate=clamp(rate,1,100); if(!(cpl\>0)||!(goal\>0)){ el.out.innerHTML='

'+(!(cpl\>0)?'Enter your average cost per lead to see your recommended budget.':'Enter how many booked jobs you want each month.')+'

';return;} var p=plan(cpl,rate,goal), pct=Math.round(CUSHION*100); var lo=plan(cpl*(1-CPL_SPREAD),rate,goal), hi=plan(cpl*(1+CPL_SPREAD),rate,goal); var h='

Recommended monthly budget

'+usd.format(p.shown)+'

'+ '

About **'+usd.format(p.weekly)+' per week** · '+(p.floored?'Netembark minimum applies':'includes a '+pct+'% budget cushion')+'

'; if(p.floored){ var fBase=MIN_BUDGET/(1+CUSHION), fLeads=Math.floor(fBase/cpl), fJobs=Math.floor(fLeads*rate/100); h+='

**Netembark’s minimum recommended Local Services Ads budget is '+usd.format(MIN_BUDGET)+'/month.** Your goal works out to '+usd.format(p.rec)+'/month (details below). At '+usd.format(MIN_BUDGET)+', you could expect roughly **'+num.format(fLeads)+' leads** and **'+num.format(fJobs)+' booked jobs** a month at your inputs, keeping the '+pct+'% cushion in reserve.

'; } h+='

 '+ row('Leads needed per month',num.format(p.leads))+ row('Base lead spend ('+num.format(p.leads)+' leads × '+usd2.format(cpl)+')',usd.format(p.base))+ row('Recommended '+pct+'% budget cushion','+'+usd.format(p.cushion),'ng-cushion')+ (p.floored?row('Computed budget for your goal',usd.format(p.rec))+row('Netembark minimum budget',usd.format(MIN_BUDGET),'ng-min'):'')+ row('Recommended monthly budget',usd.format(p.shown),'ng-total')+ row('Average weekly budget (÷ 4.34 weeks)',usd2.format(p.weekly))+ row('About per day (÷ 30.4)',usd2.format(p.daily))+ row('Estimated cost per booked job',usd2.format(p.base/goal))+ '

'; h+='

Local Services Ads use a weekly budget; Google caps a month at your weekly budget times the average number of weeks in a month. The cushion covers lead prices that run higher than expected with competition, seasonality and bidding changes. Cost per booked job uses base lead spend.

'; h+='

Likely range (recommended monthly budget)

 '+ row('If leads cost 25% less ('+usd2.format(cpl*(1-CPL_SPREAD))+')',money(lo))+ row('If leads cost 25% more ('+usd2.format(cpl*(1+CPL_SPREAD))+')',money(hi))+ '

Both figures include the '+pct+'% cushion and the '+usd.format(MIN_BUDGET)+' minimum.

'; if(val\>0){ var rev=goal*val, ret=rev/p.shown; h+='

Return on lead spend

 '+ row('Estimated revenue ('+num.format(goal)+' jobs × '+usd.format(val)+')',usd.format(rev))+ row('Revenue per $1 of recommended budget',usd2.format(ret))+ row('Revenue minus recommended budget',(rev-p.shown

Based on first-job value and the full recommended budget. Repeat work and referrals are not included.

'; } el.out.innerHTML=h; } el.cat.addEventListener('change',setCat); el.rateR.addEventListener('input',function(){el.rate.value=el.rateR.value;calc();}); el.rate.addEventListener('input',function(){var v=n(el.rate.value);if(v\>=5&&v0))v=44;v=clamp(Math.round(v),5,100);el.rate.value=v;el.rateR.value=v;calc();}); \[el.cpl,el.goal,el.val\].forEach(function(x){x.addEventListener('input',calc);}); calc(); })();

Category defaults are averages from two vendor datasets, not Google prices: 99 Calls, *Google LSA Cost Per Lead by Industry: 2025 vs. 2026* (LSA campaigns it manages, April–June 2026; published September 2026) and, for HVAC, drain and sewer, and multiple trades, SearchLight, *Google LSA Cost Per Lead by Trade* (888 contractors, February 2026 data, published March 2026, before lead credits). We found no solid public benchmark for legal or other categories, so those start blank.

## How the estimate works

**Leads needed** = booked jobs goal ÷ percent of leads you book

**Base lead spend** = leads needed × average cost per lead

**Recommended monthly budget** = base lead spend + 20% cushion, or $2,000, whichever is higher

**Average weekly budget** = recommended monthly budget ÷ 4.34 (average weeks in a month)

The booking rate is your assumption. We start it at 44%, close to the 43.9% blended book rate SearchLight reported in February 2026, but yours depends on how quickly you answer calls and messages and how well your team follows up.

**The 20% cushion.** Lead prices move with competition, seasonality and bidding changes, so the calculator budgets 20% above base spend and shows it as its own line. **The $2,000 minimum.** Below about $2,000 a month, most accounts get too few leads to keep a steady schedule or to judge which job types and areas pay off. If your goal works out to less, you still see the computed number and what $2,000 would buy.

## How Google charges for Local Services Ads leads

According to Google’s [How leads work](https://support.google.com/localservices/answer/7195435) page, you pay for valid leads: answered calls, voicemails, messages and booking requests related to the services you list. A few rules affect your budget:

- **Invalid leads aren’t charged.** Google assesses each lead when the customer first makes contact and doesn’t charge for leads it finds invalid or low quality.
- **Some charged leads are credited later.** Google reassesses charged leads over time and may credit low-quality ones automatically. You can also report a poor lead in its feedback survey, and Google says it may occasionally credit those.
- **Not every category gets credits.** Lead credits aren’t available for health care verticals, tax specialists or advertisers in EMEA.
- **Message leads usually cost less.** Google says message leads are typically priced lower than phone leads, though not always.
- **Your budget is weekly.** You can spend more than your weekly average in a busy week, but never more than the monthly maximum.

The calculator uses gross lead cost and doesn’t subtract credits, because credits aren’t guaranteed.

## What drives your cost per lead?

Google ranks Local Services Ads in an auction that weighs your bid and your profile quality. Its [ad ranking page](https://support.google.com/localservices/answer/7527305) lists the factors:

- **Your bid and bidding mode.** Your bid is the most you’ll pay for a lead; you may pay less. Google recommends “Maximize leads,” which sets bids to get the most leads for your budget.
- **Responsiveness.** Missed calls and slow replies can hurt your ranking. Turning on message and booking leads gives customers more ways to reach you after hours.
- **Reviews and profile quality.** Your rating, number of reviews, response time, photos and completed verification checks all count. Google says higher quality profiles may rank higher and may also pay lower costs per lead.
- **Relevance.** The services and job types you list, your business bio and the context of the search (job, time and location) all matter.
- **Trade, job type and market.** Emergency and high-ticket work like water damage and roofing costs more per lead than cleaning or painting, and busy metros cost more than small towns.

## Local Services Ads cost per lead by trade (2026)

Google doesn’t publish average lead prices, so these come from two vendors that report their own LSA data. They are directional, not a price list.

| Trade | Avg. cost per lead | Source |
| --- | --- | --- |
| Water damage | $215.31 | 99 Calls |
| Roofing | $106.87 | 99 Calls |
| Plumbing | $66.17 | 99 Calls |
| Window repair | $59.99 | 99 Calls |
| Drain & sewer | $59 | SearchLight |
| Multiple trades | $54 | SearchLight |
| HVAC | $51 | SearchLight |
| Electrical | $43.15 | 99 Calls |
| Handyman | $38.51 | 99 Calls |
| Tree services | $37.77 | 99 Calls |
| Landscaping | $37.29 | 99 Calls |
| Carpet cleaning | $35.49 | 99 Calls |
| Appliance repair | $34.35 | 99 Calls |
| Cleaning services | $33.21 | 99 Calls |
| Junk removal | $33.14 | 99 Calls |
| Painting | $33.06 | 99 Calls |

## How to set a Local Services Ads budget, step by step

1. **Pick a booked-jobs goal** your crews can actually handle in a month.
2. **Measure your booking rate.** Count last month’s LSA leads and how many became booked jobs. If you’re new to LSA, start near 40–45% and adjust.
3. **Find your cost per lead.** Divide last month’s LSA charges by charged leads, or start with your trade’s benchmark.
4. **Add the cushion and check the minimum.** The calculator does both and gives you a weekly budget to enter in your Local Services Ads account.
5. **Tighten job types and service areas** so you’re not paying for leads you would turn down.
6. **Review monthly.** Replace the estimates with your real cost per lead and booking rate, then adjust.

## Common Local Services Ads budget mistakes

- **Missing calls.** Missed calls can hurt ranking, and the customer calls the next company. Staff the phone or turn on message leads.
- **Listing every job type.** If you list work you don’t want, you can be charged for those leads.
- **Ignoring reviews.** Rating and review count feed directly into ranking.
- **Counting on credits.** Credits help, but plan the budget at full price.
- **Running LSA alone in a competitive market.** LSA shows only a few providers. Search ads reach the searches it doesn’t cover.

Netembark sets up and manages Local Services Ads alongside search campaigns for [home service companies](https://www.netembark.com/industries/home-services/), including [HVAC](https://www.netembark.com/industries/home-services/hvac/), [plumbing](https://www.netembark.com/industries/home-services/plumbers/) and [roofing](https://www.netembark.com/industries/home-services/roofers/). Deciding between the two? Read [Should roofers use LSA or Google Ads?](https://www.netembark.com/2026/10/13/should-roofers-use-lsa-or-google-ads/), then size the search side with the [Google Ads budget estimator](https://www.netembark.com/budget-calculator/google-ads/), or social with the [Meta ads budget estimator](https://www.netembark.com/budget-calculator/meta-ads/).

## Frequently asked questions

### How much do Local Services Ads cost per lead?

Most home-service trades paid roughly $33 to $66 per lead in 2026 vendor data, with roofing near $107 and water damage over $200. Google doesn’t publish lead prices. They vary by location, job type, lead type and bidding mode, so treat any benchmark as a starting point.

### How much should I budget for Local Services Ads per month?

Budget for the leads it takes to book your target number of jobs, plus a 20% cushion, with $2,000 a month as Netembark’s minimum recommended budget. For example, 20 booked jobs at a 44% booking rate needs 46 leads; at $51 a lead that is $2,346 in lead spend, or about $2,815 a month with the cushion.

### Do you pay for every call from Local Services Ads?

No. You pay for valid leads. Google assesses each lead when the customer first makes contact and doesn’t charge for leads it finds invalid or low quality. Charged leads are reassessed over time and may be credited automatically. Lead credits aren’t available for health care verticals, tax specialists or advertisers in EMEA.

### Can I get money back for bad Local Services Ads leads?

Sometimes. Google credits leads its systems later judge to be low quality, and you can report a poor lead through that lead’s feedback survey; Google says it may occasionally credit leads reported there. Credits aren’t guaranteed, so this calculator doesn’t subtract them.

### How do I lower my Local Services Ads cost per lead?

Improve the parts of your profile Google uses to rank you: answer calls and messages quickly, earn more reviews, add good photos and complete your verification checks. Google says higher quality profiles may rank higher and may also pay lower costs per lead. Turning off job types and areas you don’t want also stops you paying for leads you’d decline.

### Are Local Services Ads cheaper than Google search ads?

Per lead, they are often lower for home services, because you pay for a contact rather than a click. Search ads give you more control over keywords and landing pages and reach searches LSA doesn’t cover. Many contractors run both; the [Google Ads budget estimator](https://www.netembark.com/budget-calculator/google-ads/) helps you size the search side.

### Why is there a $2,000 minimum budget?

Below about $2,000 a month, most accounts get too few leads to keep a steady schedule or to judge which job types and areas are worth paying for. If your goal works out to less, the calculator still shows the computed number, then shows what $2,000 would buy at your inputs.

### Is this the total cost of Local Services Ads?

No. The estimate covers lead charges paid to Google only. It does not include any other marketing costs, such as website, photo or review-generation work.

## Want a Local Services Ads plan for your trade?

We will look at your service area, job types and competition and put together a lead budget based on real numbers for your business.

[Get a custom plan](https://www.netembark.com/contact-us/) [Book a call](https://www.netembark.com/contact-us/)

Or call [(800) 707-2697](tel:+18007072697) · [info@netembark.com](mailto:info@netembark.com)

## Disclaimer

These calculators give estimates only. They are not a quote, a proposal or a guarantee of costs, clicks, leads, sales or any other result. Real numbers change: actual results vary with competition, location, seasonality, ad quality, your website and follow-up, and changes the ad platforms make, and they can be higher or lower than shown. Benchmark figures (cost per click, cost per lead, click-through and conversion rates) are third-party averages as of the date stated with each source. They are not Google or Meta prices, and they will change. Netembark’s 12–16% conversion rate is an average across its paid ad campaigns, where a conversion is a phone call, form submission or booked consultation. It is not a guarantee for any business. Budgets shown are ad spend paid directly to the advertising platform (Google or Meta) only.

---

Site index for agents: https://www.netembark.com/llms.txt
