{"id":11100,"date":"2026-11-02T18:27:12","date_gmt":"2026-11-02T18:27:12","guid":{"rendered":"https:\/\/datdesignlab.com\/?page_id=11100"},"modified":"2026-11-02T18:29:14","modified_gmt":"2026-11-02T18:29:14","slug":"calculadora-punto-de-equilibrio-seo","status":"publish","type":"page","link":"https:\/\/datdesignlab.com\/es\/tools\/seo-break-even-calculator\/","title":{"rendered":"Calculadora de punto de equilibrio SEO"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11100\" class=\"elementor elementor-11100 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a54943e e-flex e-con-boxed e-con e-parent\" data-id=\"a54943e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-48ac352 elementor-widget elementor-widget-html\" data-id=\"48ac352\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  \/* ===== Service\/landing page styles (scoped, reuse global tokens; safe fallbacks) ===== *\/\r\n  .sv-wrap{--sv-gold:var(--accent,#B9B27A);--sv-gold-ink:#7A7245;--sv-ink:var(--ink,#0B0C0E);--sv-dark:var(--dark,#0B0C0E)}\r\n  .sv-lead{max-width:56ch;font-size:clamp(17px,2vw,20px);line-height:1.6;color:#cfcfcf;margin:18px 0 26px}\r\n  .sv-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}\r\n  .sv-section{padding:clamp(48px,6vw,84px) var(--pad,24px)}\r\n  .sv-in{max-width:var(--maxw,1160px);margin:0 auto}\r\n  .sv-band--tint{background:rgba(185,178,122,.07)}\r\n  .sv-band--dark{background:var(--sv-dark);color:#fff;border-radius:var(--radius-lg,24px);margin:0 var(--panel-inset,0)}\r\n  .sv-eyebrow{display:inline-block;font:600 12px\/1 var(--font-body,Inter),sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--sv-gold-ink);margin-bottom:14px}\r\n  .sv-band--dark .sv-eyebrow,.sv-eyebrow--on-dark{color:var(--sv-gold)}\r\n  .sv-head{max-width:680px;margin:0 0 42px}\r\n  .sv-head--center{margin-left:auto;margin-right:auto;text-align:center}\r\n  .sv-head h2{font-size:clamp(27px,3.7vw,42px);line-height:1.1;color:var(--sv-ink);margin:0}\r\n  .sv-band--dark .sv-head h2{color:#fff}\r\n  .sv-head p{margin:14px 0 0;color:var(--muted,#555);font-size:17px;line-height:1.6;max-width:60ch}\r\n  .sv-band--dark .sv-head p{color:#cfcfcf}\r\n  .sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}\r\n  .sv-card{background:#fff;border:1px solid rgba(11,12,14,.09);border-radius:var(--radius,16px);padding:26px 26px 28px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}\r\n  .sv-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(11,12,14,.35);border-color:rgba(185,178,122,.6)}\r\n  .sv-card h3{font-size:19px;margin:0 0 8px;color:var(--sv-ink)}\r\n  .sv-card p{margin:0;color:var(--muted,#555);font-size:15px;line-height:1.6}\r\n  .sv-ic{width:46px;height:46px;border-radius:12px;background:rgba(185,178,122,.16);color:var(--sv-gold-ink);display:grid;place-items:center;margin-bottom:16px;transition:background .18s ease,color .18s ease}\r\n  .sv-card:hover .sv-ic{background:var(--sv-gold);color:var(--sv-ink)}\r\n  .sv-ic svg{width:22px;height:22px}\r\n  \/* trust strip *\/\r\n  .sv-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}\r\n  .sv-trust__n{font-size:clamp(20px,2.4vw,26px);font-weight:700;color:var(--sv-gold);line-height:1.1}\r\n  .sv-trust__l{margin-top:6px;font-size:13.5px;color:#bdbdbd;line-height:1.45}\r\n  \/* business-type chips *\/\r\n  .sv-trades{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}\r\n  .sv-trade{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid rgba(11,12,14,.1);border-radius:999px;padding:12px 18px;transition:background .18s ease,color .18s ease,border-color .18s ease}\r\n  .sv-trade:hover{background:var(--sv-ink);border-color:var(--sv-ink)}\r\n  .sv-trade:hover .sv-trade__t,.sv-trade:hover .sv-trade__s{color:#fff}\r\n  .sv-trade:hover .sv-dot{background:var(--sv-gold)}\r\n  .sv-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--sv-gold);box-shadow:0 0 0 4px rgba(185,178,122,.18)}\r\n  .sv-trade__t{font-weight:600;color:var(--sv-ink);font-size:15px;line-height:1.15}\r\n  .sv-trade__s{display:block;font-weight:400;font-size:12.5px;color:var(--muted-2,#8A8F98);margin-top:2px}\r\n  \/* process *\/\r\n  .sv-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}\r\n  .sv-step{background:#fff;border:1px solid rgba(11,12,14,.09);border-radius:var(--radius,16px);padding:28px 26px}\r\n  .sv-step__n{width:52px;height:52px;border-radius:50%;border:2px solid var(--sv-gold);color:var(--sv-gold-ink);display:grid;place-items:center;font-weight:700;font-size:20px;margin-bottom:16px}\r\n  .sv-step h3{font-size:19px;margin:0 0 8px;color:var(--sv-ink)}\r\n  .sv-step p{margin:0;color:var(--muted,#555);font-size:15px;line-height:1.6}\r\n  \/* comparison table *\/\r\n  .sv-tablewrap{overflow-x:auto;border:1px solid rgba(11,12,14,.1);border-radius:var(--radius,16px);background:#fff}\r\n  .sv-table{width:100%;border-collapse:collapse;min-width:620px;font-size:15px}\r\n  .sv-table th,.sv-table td{padding:16px 20px;text-align:left;border-bottom:1px solid rgba(11,12,14,.08);line-height:1.55;vertical-align:top}\r\n  .sv-table thead th{background:var(--sv-ink);color:#fff;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;border-bottom:none}\r\n  .sv-table tbody tr:last-child td{border-bottom:none}\r\n  .sv-table tbody th{font-weight:600;color:var(--sv-ink);width:26%;background:rgba(185,178,122,.07)}\r\n  .sv-table td{color:var(--muted,#555)}\r\n  \/* pricing *\/\r\n  .sv-price{background:var(--sv-dark);color:#e9e9e9;border-radius:var(--radius-lg,24px);padding:clamp(40px,6vw,64px);margin:0 var(--panel-inset,0);text-align:center;border:1px solid rgba(185,178,122,.22)}\r\n  .sv-price h2{color:#fff;font-size:clamp(26px,3.6vw,38px);margin:0 0 6px}\r\n  .sv-price__big{font-size:clamp(38px,6.5vw,58px);font-weight:700;color:var(--sv-gold);line-height:1;margin:16px 0 10px}\r\n  .sv-price p{color:#cfcfcf;max-width:54ch;margin:8px auto;font-size:16px;line-height:1.6}\r\n  .sv-price .ddl-btn{margin-top:22px}\r\n  .sv-price .ddl-btn,.sv-price .ddl-btn:hover,.sv-price .ddl-btn:focus{background:var(--sv-gold)!important;color:var(--sv-ink)!important}\r\n  \/* hero featured image *\/\r\n  .sp-hero--img{position:relative;overflow:hidden;isolation:isolate;background:var(--dark,#0B0C0E)}\r\n  .sp-hero--img .sp-hero__bg{position:absolute;inset:0;z-index:0;margin:0;pointer-events:none}\r\n  .sp-hero--img .sp-hero__bg img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 40%;opacity:.45}\r\n  .sp-hero--img .sp-hero__bg::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,14,.58) 0%,rgba(11,12,14,.34) 45%,rgba(11,12,14,.80) 100%)}\r\n  .sp-hero--img .sp-hero__in{position:relative;z-index:1}\r\n  \/* bottom CTA (same as global posts) *\/\r\n  .ddl-ctasec{background:var(--dark);color:#cfcfcf;padding:clamp(56px,8vw,96px) var(--pad);border-radius:var(--radius-lg);margin:0 var(--panel-inset)}\r\n  .ddl-ctasec__in{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}\r\n  .ddl-ctasec .ddl-eyebrow{color:var(--accent)}\r\n  .ddl-ctasec h2{color:#fff;font-size:clamp(30px,4.6vw,50px);max-width:16ch;line-height:1.08}\r\n  .ddl-ctasec__note{color:#cfcfcf;font-size:16px;line-height:1.6;max-width:46ch;margin:22px 0 0}\r\n  .ddl-ctacard{background:#fff;border-radius:var(--radius);padding:40px;text-align:center}\r\n  .ddl-ctacard h3{font-size:26px;margin-bottom:10px;color:var(--ink)}\r\n  .ddl-ctacard p{margin:0 0 24px;font-size:16px;color:var(--muted)}\r\n  .ddl-ctacard .ddl-btn{width:100%;justify-content:center;padding:16px}\r\n  .ddl-ctasec .ddl-btn,.ddl-ctasec .ddl-btn:hover,.ddl-ctasec .ddl-btn:focus,.ddl-ctasec .ddl-btn:active{background:var(--ink)!important;color:#fff!important}\r\n  @media(max-width:900px){.sv-grid,.sv-steps,.sv-trades{grid-template-columns:repeat(2,1fr)}.sv-trust{grid-template-columns:repeat(2,1fr);gap:26px}}\r\n  @media(max-width:760px){.ddl-ctasec__in{grid-template-columns:1fr;gap:36px}.sp-hero--img .sp-hero__bg img{opacity:.32;object-position:center 45%}}\r\n  @media(max-width:520px){.sv-grid,.sv-steps,.sv-trades{grid-template-columns:1fr}}\r\n<\/style><style>\n.dc{--dc-gold:#d4ad3f;--dc-gold-2:#f0d27a;--dc-ink:#0f0f10;--dc-ink-2:#1b1b1d;--dc-line:rgba(15,15,16,.1);--dc-mute:rgba(15,15,16,.62);--dc-paper:#faf8f3;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:28px;align-items:start}\n.dc *{box-sizing:border-box}\n.dc__steps{display:grid;gap:26px}\n.dc__step{background:#fff;border:1px solid var(--dc-line);border-radius:20px;padding:24px;box-shadow:0 1px 0 rgba(0,0,0,.02),0 12px 30px -24px rgba(0,0,0,.25)}\n.dc__stephead{display:flex;align-items:baseline;gap:12px;margin:0 0 16px}\n.dc__num{font-size:.78rem;font-weight:700;letter-spacing:.14em;color:var(--dc-gold);border:1px solid var(--dc-gold);border-radius:999px;padding:3px 10px;line-height:1.4}\n.dc__steptitle{font-size:1.12rem;font-weight:700;margin:0;color:var(--dc-ink)}\n.dc__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}\n.dc__tile{position:relative;display:block;cursor:pointer}\n.dc__tile input{position:absolute;opacity:0;pointer-events:none}\n.dc__card{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 16px 14px;border:1.5px solid var(--dc-line);border-radius:16px;background:var(--dc-paper);transition:border-color .18s,transform .18s,box-shadow .18s,background .18s}\n.dc__tile:hover .dc__card{transform:translateY(-2px);box-shadow:0 10px 24px -18px rgba(0,0,0,.45)}\n.dc__tile input:focus-visible+.dc__card{outline:2px solid var(--dc-gold);outline-offset:2px}\n.dc__tile input:checked+.dc__card{border-color:var(--dc-gold);background:#fff;box-shadow:0 0 0 3px rgba(212,173,63,.18)}\n.dc__tile input:disabled+.dc__card{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}\n.dc__card strong{font-size:.98rem;color:var(--dc-ink);padding-right:26px}\n.dc__card em{font-style:normal;font-size:.86rem;color:var(--dc-mute);line-height:1.45}\n.dc__chip{align-self:flex-start;margin-top:auto;font-size:.8rem;font-weight:700;color:var(--dc-ink);background:rgba(212,173,63,.16);border-radius:999px;padding:4px 10px}\n.dc__check{position:absolute;top:14px;right:14px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--dc-line);display:grid;place-items:center;transition:all .18s;background:#fff}\n.dc__check::after{content:\"\";width:8px;height:8px;border-radius:50%;background:var(--dc-gold);transform:scale(0);transition:transform .18s}\n.dc__tile input:checked~.dc__check{border-color:var(--dc-gold)}\n.dc__tile input:checked~.dc__check::after{transform:scale(1)}\n.dc__panel{position:sticky;top:110px;background:radial-gradient(120% 90% at 100% 0%,#2a2416 0%,var(--dc-ink) 55%);color:#fff;border-radius:24px;padding:28px;overflow:hidden;isolation:isolate;box-shadow:0 30px 60px -40px rgba(0,0,0,.7)}\n.dc__panel::before{content:\"\";position:absolute;inset:-40% -30% auto auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(212,173,63,.35),transparent 70%);z-index:-1;filter:blur(10px)}\n.dc__eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dc-gold-2);margin:0 0 8px;font-weight:700}\n.dc__hero{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:800;line-height:1.05;margin:0;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}\n.dc__sub{margin:6px 0 20px;color:rgba(255,255,255,.65);font-size:.92rem}\n.dc__rows{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.1)}\n.dc__row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.95rem}\n.dc__row span:first-child{color:rgba(255,255,255,.65)}\n.dc__row span:last-child{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}\n.dc__bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);margin:18px 0 8px}\n.dc__bar i{display:block;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}\n.dc__bar i:nth-child(1){background:var(--dc-gold)}\n.dc__bar i:nth-child(2){background:rgba(240,210,122,.45)}\n.dc__legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.6);margin:0 0 16px}\n.dc__legend b{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:middle}\n.dc__note{font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.78);background:rgba(255,255,255,.06);border-left:3px solid var(--dc-gold);border-radius:8px;padding:10px 12px;margin:0 0 18px}\n.dc__note:empty{display:none}\n.dc__cta{display:inline-flex;align-items:center;gap:8px;background:var(--dc-gold);color:var(--dc-ink)!important;font-weight:800;text-decoration:none!important;padding:13px 20px;border-radius:999px;transition:transform .18s,background .18s}\n.dc__cta:hover{transform:translateY(-1px);background:var(--dc-gold-2)}\n.dc__fine{font-size:.78rem;color:rgba(255,255,255,.45);margin:14px 0 0}\n.dc__pop{animation:dcpop .35s ease}\n@keyframes dcpop{0%{opacity:.35;transform:translateY(4px)}100%{opacity:1;transform:none}}\n.dc__field{display:grid;gap:10px;padding:14px 0;border-bottom:1px dashed var(--dc-line)}\n.dc__field:last-child{border-bottom:0}\n.dc__fieldtop{display:flex;justify-content:space-between;align-items:baseline;gap:12px}\n.dc__fieldtop label{font-weight:700;color:var(--dc-ink)}\n.dc__val{display:flex;align-items:center;gap:4px;background:var(--dc-paper);border:1.5px solid var(--dc-line);border-radius:12px;padding:6px 10px;font-weight:800;color:var(--dc-ink)}\n.dc__val input{width:84px;border:0;background:transparent;font:inherit;text-align:right;color:inherit;padding:0;-moz-appearance:textfield}\n.dc__val input::-webkit-outer-spin-button,.dc__val input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n.dc__val input:focus{outline:none}\n.dc__val:focus-within{border-color:var(--dc-gold)}\n.dc__range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--dc-gold) var(--p,50%),rgba(15,15,16,.12) var(--p,50%));outline:none;border:0;padding:0}\n.dc__range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--dc-gold);box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer}\n.dc__range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--dc-gold);cursor:pointer}\n.dc__pills{display:flex;flex-wrap:wrap;gap:8px}\n.dc__pill{position:relative}\n.dc__pill input{position:absolute;opacity:0;pointer-events:none}\n.dc__pill span{display:inline-block;padding:9px 16px;border-radius:999px;border:1.5px solid var(--dc-line);background:var(--dc-paper);font-weight:700;font-size:.92rem;cursor:pointer;transition:all .18s;color:var(--dc-ink)}\n.dc__pill input:checked+span{background:var(--dc-ink);color:#fff;border-color:var(--dc-ink)}\n.dc__pill input:focus-visible+span{outline:2px solid var(--dc-gold);outline-offset:2px}\n.dc__gauge{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#3f8f5a 0%,#3f8f5a 30%,#c9a227 30%,#c9a227 70%,#b4533c 70%);margin:22px 0 6px}\n.dc__gauge i{position:absolute;top:50%;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--dc-ink);box-shadow:0 0 0 3px rgba(255,255,255,.25);transform:translate(-50%,-50%);transition:left .5s cubic-bezier(.2,.8,.2,1)}\n.dc__gaugelbl{display:flex;justify-content:space-between;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 16px}\n.dc__vs{display:grid;gap:10px;margin:4px 0 16px}\n.dc__vsrow{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;font-size:.86rem}\n.dc__vsrow span:first-child{color:rgba(255,255,255,.65)}\n.dc__vstrack{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}\n.dc__vstrack i{display:block;height:100%;border-radius:999px;transition:width .5s cubic-bezier(.2,.8,.2,1)}\n.dc__vsrow b{font-variant-numeric:tabular-nums}\n@media (max-width:900px){.dc{grid-template-columns:1fr}.dc__panel{position:relative;top:0}}\n@media (prefers-reduced-motion:reduce){.dc *{transition:none!important;animation:none!important}}\n<\/style><div class=\"sv-wrap\"><section class=\"sp-hero sp-hero--img\"><figure class=\"sp-hero__bg\" aria-hidden=\"true\"><img src=\"https:\/\/datdesignlab.com\/wp-content\/uploads\/2026\/10\/ddl-service-hero-gold.webp\" alt=\"\" fetchpriority=\"high\" decoding=\"async\"><\/figure><div class=\"sp-hero__in\"><nav class=\"sp-crumbs\" aria-label=\"Breadcrumb\"><a href=\"\/\">Home<\/a><span class=\"sep\">\/<\/span> <a href=\"\/tools\/\">Free tools<\/a><span class=\"sep\">\/<\/span> <span class=\"cur\">SEO break-even calculator<\/span><\/nav><span class=\"sp-hero__cat\">Free tool<\/span><h1>SEO Break-Even Calculator for Service Businesses<\/h1><p class=\"sv-lead\">SEO pays for itself when the extra jobs it brings in each month earn more than the retainer costs. Enter your average job value, your profit margin, how many enquiries you close and the monthly SEO price, and this shows how many extra leads you need to break even, compared with Local Services Ads.<\/p><div class=\"sv-hero-cta\"><a class=\"ddl-btn ddl-btn--accent\" href=\"#calc\">Run the numbers<\/a><a class=\"ddl-btn\" href=\"\/blog\/is-seo-worth-it-for-small-business\/\">Is SEO worth it?<\/a><\/div><\/div><\/section>\n\n<section class=\"sv-section\" id=\"calc\"><div class=\"sv-in\"><div class=\"sv-head\"><span class=\"sv-eyebrow\">Calculator<\/span><h2>How many leads does SEO need to bring in?<\/h2><p>Use your real numbers. Drag the sliders or type a value. If you don't know your close rate, leave it at 30%.<\/p><\/div>\n<div class=\"dc\" data-calc=\"seo\">\n  <div class=\"dc__steps\">\n    <div class=\"dc__step\"><div class=\"dc__stephead\"><span class=\"dc__num\">01<\/span><h3 class=\"dc__steptitle\">Your trade<\/h3><\/div>\n      <div class=\"dc__pills\" role=\"radiogroup\" aria-label=\"Your trade\">\n        <label class=\"dc__pill\"><input type=\"radio\" name=\"se-trade\" value=\"57\"><span>Plumbing<\/span><\/label>\n        <label class=\"dc__pill\"><input type=\"radio\" name=\"se-trade\" value=\"51\"><span>HVAC<\/span><\/label>\n        <label class=\"dc__pill\"><input type=\"radio\" name=\"se-trade\" value=\"39\"><span>Electrical<\/span><\/label>\n        <label class=\"dc__pill\"><input type=\"radio\" name=\"se-trade\" value=\"53\" checked><span>Other home service<\/span><\/label>\n      <\/div>\n    <\/div>\n    <div class=\"dc__step\"><div class=\"dc__stephead\"><span class=\"dc__num\">02<\/span><h3 class=\"dc__steptitle\">Your numbers<\/h3><\/div>\n      <div class=\"dc__field\"><div class=\"dc__fieldtop\"><label for=\"se-job\">Average job value<\/label><span class=\"dc__val\">$<input id=\"se-job\" type=\"number\" name=\"se-job\" min=\"0\" step=\"10\" value=\"800\" inputmode=\"decimal\"><\/span><\/div><input class=\"dc__range\" type=\"range\" data-for=\"se-job\" min=\"100\" max=\"10000\" step=\"50\" value=\"800\" aria-label=\"Average job value\"><\/div>\n      <div class=\"dc__field\"><div class=\"dc__fieldtop\"><label for=\"se-margin\">Profit margin on a job<\/label><span class=\"dc__val\"><input id=\"se-margin\" type=\"number\" name=\"se-margin\" min=\"1\" max=\"100\" step=\"1\" value=\"40\" inputmode=\"decimal\">%<\/span><\/div><input class=\"dc__range\" type=\"range\" data-for=\"se-margin\" min=\"5\" max=\"90\" step=\"1\" value=\"40\" aria-label=\"Profit margin\"><\/div>\n      <div class=\"dc__field\"><div class=\"dc__fieldtop\"><label for=\"se-close\">Enquiries you turn into jobs<\/label><span class=\"dc__val\"><input id=\"se-close\" type=\"number\" name=\"se-close\" min=\"1\" max=\"100\" step=\"1\" value=\"30\" inputmode=\"decimal\">%<\/span><\/div><input class=\"dc__range\" type=\"range\" data-for=\"se-close\" min=\"5\" max=\"90\" step=\"1\" value=\"30\" aria-label=\"Close rate\"><\/div>\n    <\/div>\n    <div class=\"dc__step\"><div class=\"dc__stephead\"><span class=\"dc__num\">03<\/span><h3 class=\"dc__steptitle\">The marketing budget<\/h3><\/div>\n      <div class=\"dc__field\"><div class=\"dc__fieldtop\"><label for=\"se-cost\">Monthly SEO cost<\/label><span class=\"dc__val\">$<input id=\"se-cost\" type=\"number\" name=\"se-cost\" min=\"0\" step=\"50\" value=\"1000\" inputmode=\"decimal\"><\/span><\/div><input class=\"dc__range\" type=\"range\" data-for=\"se-cost\" min=\"200\" max=\"5000\" step=\"50\" value=\"1000\" aria-label=\"Monthly SEO cost\"><\/div>\n    <\/div>\n  <\/div>\n  <aside class=\"dc__panel\" aria-live=\"polite\">\n    <p class=\"dc__eyebrow\">To break even, SEO needs<\/p>\n    <p class=\"dc__hero\"><span data-out=\"leads\">10.4<\/span> <span style=\"font-size:.5em;font-weight:700;color:rgba(255,255,255,.7)\">extra enquiries a month<\/span><\/p>\n    <div class=\"dc__gauge\" aria-hidden=\"true\"><i data-out=\"gauge\" style=\"left:50%\"><\/i><\/div>\n    <div class=\"dc__gaugelbl\"><span>Easy<\/span><span>Workable<\/span><span>Hard<\/span><\/div>\n    <div class=\"dc__rows\">\n      <div class=\"dc__row\"><span>Profit per job<\/span><span data-out=\"profit\">$320<\/span><\/div>\n      <div class=\"dc__row\"><span>Extra jobs to break even<\/span><span data-out=\"jobs\">3.1 a month<\/span><\/div>\n    <\/div>\n    <p class=\"dc__eyebrow\" style=\"margin-top:20px\">Same budget, side by side<\/p>\n    <div class=\"dc__vs\">\n      <div class=\"dc__vsrow\"><span>SEO must bring<\/span><span class=\"dc__vstrack\"><i data-out=\"vsSeo\" style=\"width:50%;background:#f0d27a\"><\/i><\/span><b data-out=\"vsSeoN\">10<\/b><\/div>\n      <div class=\"dc__vsrow\"><span>LSA would buy<\/span><span class=\"dc__vstrack\"><i data-out=\"vsLsa\" style=\"width:100%;background:#d4ad3f\"><\/i><\/span><b data-out=\"vsLsaN\">19<\/b><\/div>\n    <\/div>\n    <p class=\"dc__note\" data-out=\"verdict\"><\/p>\n    <a class=\"dc__cta\" href=\"\/contact\/\">Talk it through with me &rarr;<\/a>\n    <p class=\"dc__fine\">LSA = Google Local Services Ads, at the trade's average cost per lead. Ads stop when you stop paying; SEO keeps working.<\/p>\n  <\/aside>\n<\/div>\n<\/div><\/section>\n\n<section class=\"sv-section sv-band--tint\"><div class=\"sv-in\"><div class=\"sv-head\"><span class=\"sv-eyebrow\">How it works<\/span><h2>The math behind the result<\/h2><\/div>\n<div class=\"sv-grid\">\n  <div class=\"sv-card\"><h3>Profit per job<\/h3><p>Job value times your margin. A $800 job at 40% margin leaves $320 to pay for marketing.<\/p><\/div>\n  <div class=\"sv-card\"><h3>Jobs to break even<\/h3><p>Monthly SEO cost divided by profit per job. At $1,000 a month you need a little over three extra jobs.<\/p><\/div>\n  <div class=\"sv-card\"><h3>Enquiries to break even<\/h3><p>Jobs needed divided by your close rate. If you close 30% of enquiries, three jobs means about ten extra calls or forms a month.<\/p><\/div>\n  <div class=\"sv-card\"><h3>The Local Services Ads check<\/h3><p>Cost per lead uses a February 2026 benchmark of 888 contractors: about $39 for electrical, $51 for HVAC, $57 for plumbing and $53 blended. Ads stop when you stop paying. SEO keeps working, but takes four to six months to move.<\/p><\/div>\n<\/div>\n<p>The full reasoning, including when SEO is the wrong buy, is in <a href=\"\/blog\/is-seo-worth-it-for-small-business\/\">is SEO worth it for a small business<\/a>. If the numbers point to Maps first, see <a href=\"\/services\/local-seo-for-service-businesses\/\">local SEO for service businesses<\/a>.<\/p>\n<\/div><\/section>\n\n<section class=\"sv-section\"><div class=\"sv-in\"><div class=\"sv-head sv-head--center\"><span class=\"sv-eyebrow\">FAQ<\/span><h2>Common questions<\/h2><\/div><div><div class=\"ddl-post__faq\">\n<details><summary>How do I know if SEO is worth it for my business?<\/summary><p>Work out how many extra jobs a month the retainer needs to pay for itself. If it's one or two, the bet is reasonable. If it's fifteen, it isn't, and Local Services Ads or your Google Business Profile will do more for the money.<\/p><\/details>\n<details><summary>How long until SEO breaks even?<\/summary><p>Local SEO usually shows movement in four to six months. Budget for paying without visible results for the first few months, which is when most small businesses quit.<\/p><\/details>\n<details><summary>What close rate should I use?<\/summary><p>Count last month's calls and form enquiries, then the jobs you booked from them. If you have no idea, 30% is a reasonable starting point for home service trades.<\/p><\/details>\n<details><summary>Are Local Services Ads better than SEO?<\/summary><p>They're faster and easier to measure, and they stop the day you stop paying. SEO is slower and cheaper per lead over time. Most trades do best running ads first, then adding SEO once cash flow is steady.<\/p><\/details>\n<\/div><\/div><\/div><\/section><\/div><section class=\"ddl-ctasec\">\n  <div class=\"ddl-ctasec__in\">\n    <div>\n      <p class=\"ddl-eyebrow\">Get in touch<\/p>\n      <h2>Want your website off your to-do list?<\/h2>\n      <p class=\"ddl-ctasec__note\">Tell me what your site runs on and what bugs you about it. I'll tell you which plan fits.<\/p>\n    <\/div>\n    <div class=\"ddl-ctacard\">\n      <h3>Pick a plan<\/h3>\n      <p>No pressure. A short call, a straight answer.<\/p>\n      <a class=\"ddl-btn\" href=\"\/contact\/\">Let\u2019s Talk<\/a>\n    <\/div>\n  <\/div>\n<\/section><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"How do I know if SEO is worth it for my business?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Work out how many extra jobs a month the retainer needs to pay for itself. If it's one or two, the bet is reasonable. If it's fifteen, it isn't, and Local Services Ads or your Google Business Profile will do more for the money.\"}},{\"@type\":\"Question\",\"name\":\"How long until SEO breaks even?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Local SEO usually shows movement in four to six months. Budget for paying without visible results for the first few months, which is when most small businesses quit.\"}},{\"@type\":\"Question\",\"name\":\"What close rate should I use?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Count last month's calls and form enquiries, then the jobs you booked from them. If you have no idea, 30% is a reasonable starting point for home service trades.\"}},{\"@type\":\"Question\",\"name\":\"Are Local Services Ads better than SEO?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"They're faster and easier to measure, and they stop the day you stop paying. SEO is slower and cheaper per lead over time. Most trades do best running ads first, then adding SEO once cash flow is steady.\"}}]}<\/script><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"SEO Break-Even Calculator\",\"url\":\"https:\/\/datdesignlab.com\/tools\/seo-break-even-calculator\/\",\"description\":\"Work out how many extra leads SEO needs to bring in to pay for itself.\",\"applicationCategory\":\"BusinessApplication\",\"operatingSystem\":\"Any\",\"isAccessibleForFree\":true,\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\"},\"provider\":{\"@id\":\"https:\/\/datdesignlab.com\/#organization\"}}<\/script><script>\n(function(){\n  var root=document.querySelector('[data-calc=\"seo\"]'); if(!root) return;\n  var es=(document.documentElement.lang||'').toLowerCase().indexOf('es')===0;\n  var L=es?{mo:' al mes',leads:' clientes',na:'n\/d',\n    v0:'Ingresa un valor de trabajo, margen y tasa de cierre para ver el resultado.',\n    v1:'Meta f\u00e1cil. Unas pocas consultas extra al mes cubren la mensualidad, as\u00ed que el SEO es una buena apuesta a largo plazo si la gente busca tu servicio en tu zona.',\n    v2:'Viable, pero dale de seis a doce meses. Usar Local Services Ads al mismo tiempo mantiene los clientes llegando mientras el SEO crece.',\n    v3:'Meta dif\u00edcil. Necesitas muchas consultas extra para cubrir esto. Empieza con Local Services Ads y tu Perfil de Empresa en Google, o elige un alcance de SEO m\u00e1s peque\u00f1o.'}\n   :{mo:' a month',leads:' leads',na:'n\/a',\n    v0:'Enter a job value, margin and close rate to see a verdict.',\n    v1:'Easy bar. A few extra enquiries a month covers the retainer, so SEO is a solid long-term bet if people search for your service locally.',\n    v2:'Workable, but give it six to twelve months. Running Local Services Ads alongside keeps leads coming while SEO builds.',\n    v3:'Hard bar. You need a lot of extra enquiries to cover this. Start with Local Services Ads and your Google Business Profile, or pick a smaller SEO scope.'};\n  function q(s){return root.querySelector(s);}\n  function num(name){var v=parseFloat(q('input[name=\"'+name+'\"]').value);return isFinite(v)?v:0;}\n  function usd(n){return '$'+Math.round(n).toLocaleString('en-US');}\n  function one(n){return (Math.round(n*10)\/10).toLocaleString('en-US');}\n  function set(key,text){var el=q('[data-out=\"'+key+'\"]');if(el.textContent!==text){el.textContent=text;el.classList.remove('dc__pop');void el.offsetWidth;el.classList.add('dc__pop');}}\n  function paint(r){var p=(r.value-r.min)\/(r.max-r.min)*100;r.style.setProperty('--p',Math.max(0,Math.min(100,p))+'%');}\n  root.querySelectorAll('.dc__range').forEach(function(r){\n    var box=q('input[name=\"'+r.dataset.for+'\"]');\n    r.addEventListener('input',function(){box.value=r.value;paint(r);update();});\n    box.addEventListener('input',function(){var v=parseFloat(box.value);if(isFinite(v)){r.value=Math.max(r.min,Math.min(r.max,v));paint(r);}update();});\n    paint(r);\n  });\n  function gaugePos(l){if(l<=3)return l\/3*30;if(l<=10)return 30+(l-3)\/7*40;return Math.min(100,70+(l-10)\/15*30);}\n  function update(){\n    var job=num('se-job'), margin=num('se-margin')\/100, close=num('se-close')\/100, cost=num('se-cost');\n    var cpl=+q('input[name=\"se-trade\"]:checked').value;\n    var profit=job*margin, ok=profit>0&&close>0;\n    var jobs=profit>0?cost\/profit:0, leads=ok?jobs\/close:0, lsa=cpl>0?cost\/cpl:0;\n    set('profit',usd(profit));\n    set('jobs',profit>0?one(jobs)+L.mo:L.na);\n    set('leads',ok?one(leads):L.na);\n    q('[data-out=\"gauge\"]').style.left=(ok?gaugePos(leads):0)+'%';\n    var max=Math.max(leads,lsa,1);\n    q('[data-out=\"vsSeo\"]').style.width=(leads\/max*100)+'%';\n    q('[data-out=\"vsLsa\"]').style.width=(lsa\/max*100)+'%';\n    set('vsSeoN',ok?String(Math.ceil(leads)):L.na);\n    set('vsLsaN',String(Math.round(lsa)));\n    q('[data-out=\"verdict\"]').textContent=!ok?L.v0:(leads<=3?L.v1:(leads<=10?L.v2:L.v3));\n  }\n  root.addEventListener('change',update); update();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":11098,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-11100","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/pages\/11100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/comments?post=11100"}],"version-history":[{"count":1,"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/pages\/11100\/revisions"}],"predecessor-version":[{"id":11102,"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/pages\/11100\/revisions\/11102"}],"up":[{"embeddable":true,"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/pages\/11098"}],"wp:attachment":[{"href":"https:\/\/datdesignlab.com\/es\/wp-json\/wp\/v2\/media?parent=11100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}