Incrusta la Calculadora de subvenciones de ventanas en tu web

Un widget gratuito para webs de ventanas, puertas y reformas en España. Tus visitantes indican su presupuesto, provincia y tipo de vivienda y ven el coste neto honesto tras la subvención autonómica y la deducción del IRPF — la mismacalculadora que funciona en Estimia, mantenida al día por nosotros y servida desde nuestra infraestructura.

Inicio rápido

Pega esto donde deba aparecer la calculadora. Esa es toda la integración — sin clave de API, sin paso de compilación, sin cookies en tu dominio.

<!-- Estimia — Calculadora de subvenciones de ventanas -->
<div class="estimia-widget-container">
  <div data-estimia-widget="subsidy-calculator" data-lang="es"></div>
  <script async src="https://estimia.es/widget/subsidy-calculator.js"></script>
  <div style="font-family:sans-serif;font-size:12px;text-align:right;margin-top:6px;">
    <a href="https://estimia.es/es/herramientas/calculadora-subvenciones/" target="_blank"
       style="display:inline-flex;align-items:center;gap:5px;color:inherit;font-weight:600;text-decoration:none;">
      <img src="https://estimia.es/assets/images/favicons/favicon.svg" alt="Estimia" width="14" height="14" />
      Calculator provided by Estimia
    </a>
  </div>
</div>

Opciones

AtributoValoresQué hace
data-lang"es" (por defecto) · "en" · "ru"Idioma de la interfaz de la calculadora y de la línea de atribución.
data-theme"light" (por defecto) · "dark" · "auto""auto" sigue la preferencia del sistema operativo del visitante. Elige el valor que encaje con tu web — el widget no tiene interfaz propia, así que se integra.
data-provinceslug de provincia, p. ej. "madrid"Preselecciona la provincia. Los slugs son los nombres de provincia en minúsculas y sin acentos. Los slugs desconocidos se ignoran.
Todos los valores admitidos

Andalucía: almeria cadiz cordoba granada huelva jaen malaga sevilla

Aragón: huesca teruel zaragoza

Canarias: las-palmas santa-cruz-de-tenerife

Cantabria: cantabria

Castilla y León: avila burgos leon palencia salamanca segovia soria valladolid zamora

Castilla-La Mancha: albacete ciudad-real cuenca guadalajara toledo

Cataluña: barcelona girona lleida tarragona

Ceuta: ceuta

Comunidad de Madrid: madrid

Comunidad Foral de Navarra: navarra

Comunitat Valenciana: alicante castellon valencia

Extremadura: badajoz caceres

Galicia: a-coruna lugo ourense pontevedra

Illes Balears: baleares

La Rioja: la-rioja

Melilla: melilla

País Vasco: araba bizkaia gipuzkoa

Principado de Asturias: asturias

Región de Murcia: murcia

data-lock-provincepresente / ausenteFija la calculadora a data-province y sustituye el selector por un campo de solo lectura — para empresas que solo trabajan en una región.
data-budgetnúmero, € (por defecto 6000)Posición inicial del control deslizante de presupuesto. Se ajusta a pasos de 500 € y se limita al rango del control.
data-budget-mindata-budget-maxnúmeros, € (por defecto 1000 / 15000)El rango del control deslizante — ajústalo a los pedidos que realmente aceptas (p. ej. 3000–30000 para trabajo premium). Los valores incoherentes vuelven a los predeterminados.
data-accentcolor hex, p. ej. "#e11d48"El color de tu marca. Controla el control deslizante, los campos resaltados, los acentos del recibo y los totales — los tonos para tema claro y oscuro se derivan de ese único valor. El predeterminado es el verde esmeralda de Estimia.
data-estimia-ctaen enlaces <a> hijos (hasta 4)Tus propios botones de acción — el widget no trae ninguno por defecto. Pon enlaces con data-estimia-cta dentro del contenedor (no en el contenedor mismo); el widget los muestra bajo el resultado, el primero como botón principal sólido y el resto con borde. Las URL relativas se resuelven contra tu página y los clics abren en la ventana superior de tu web; solo se aceptan destinos http/https.

Ejemplo completo — en vivo

Todas las opciones en un fragmento: una empresa solo de Madrid con su color de marca, un rango de precio premium y dos de sus propios botones. El widget de abajo se renderiza exactamente con este markup — redimensiona la ventana o cambia los valores; la altura del iframe se ajusta sola vía postMessage, así que nunca muestra barras de desplazamiento.

<!-- Empresa de una sola región: color de marca, rango de precio premium, botones propios -->
<div class="estimia-widget-container">
  <div
    data-estimia-widget="subsidy-calculator"
    data-lang="es"
    data-theme="auto"
    data-accent="#2563eb"
    data-province="madrid"
    data-lock-province
    data-budget="9000"
    data-budget-min="3000"
    data-budget-max="30000"
  >
    <a data-estimia-cta href="/presupuesto/">Pedir presupuesto gratis</a>
    <a data-estimia-cta href="/contacto/">Hablar con un asesor</a>
  </div>
  <script async src="https://estimia.es/widget/subsidy-calculator.js"></script>
  <div style="font-family:sans-serif;font-size:12px;text-align:right;margin-top:6px;">
    <a href="https://estimia.es/es/herramientas/calculadora-subvenciones/" target="_blank"
       style="display:inline-flex;align-items:center;gap:5px;color:inherit;font-weight:600;text-decoration:none;">
      <img src="https://estimia.es/assets/images/favicons/favicon.svg" alt="Estimia" width="14" height="14" />
      Calculator provided by Estimia
    </a>
  </div>
</div>

Cómo funciona por dentro

  • El loader (/widget/subsidy-calculator.js, ~2 KB) encuentra cada contenedor condata-estimia-widget="subsidy-calculator" y sustituye su contenido por un iframe diferido y sin bordes que apunta aestimia.es/embed/subsidy-calculator/.
  • La página del embed reporta su altura renderizada a tu página en cada cambio de diseño; el loader dimensiona el iframe en consecuencia (postMessage con origen verificado).
  • Un spinner integrado cubre el iframe hasta que la calculadora reporta que se ha renderizado, así que los visitantes nunca miran un rectángulo en blanco en conexiones lentas.
  • Tus propios botones (el slot de CTA) abren en la ventana superior — tu página nunca navega dentro del iframe.
  • La línea de crédito es un<a> estático simple del fragmento, hermano del div del widget dentro de estimia-widget-container. El loader nunca lo toca, así que permanece en el HTML para los rastreadores y los visitantes sin JS y transfiere peso de enlace real. Solo cuando falta ese envoltorio el loader inyecta su propio crédito de reserva.
  • Páginas dinámicas: si inyectas contenedores tras la carga (enrutado SPA), llama awindow.EstimiaWidgets.scan() para inicializarlos.
  • Sitios con su propio conmutador claro/oscuro: llama awindow.EstimiaWidgets.setTheme('dark' | 'light' | 'auto')desde el manejador de tu conmutador y cada widget de la página lo sigue al instante —data-theme solo fija el estado inicial. La demo de arriba hace exactamente esto.

Condiciones de uso

Este widget es gratuito — sin límites de tráfico, sin cuenta — para cualquier web relacionada con ventanas, puertas, reformas o inmobiliaria. A cambio, cada incrustación mantiene el pequeño crédito visible — «Calculator provided by Estimia» — como el enlace estático y seguible que viene en el fragmento. Ese backlink es lo que mantiene el widget gratuito, así que se aplica: el loader comprueba que haya un enlace visible y seguido a Estimia antes de cargar la calculadora, y si el crédito falta, está oculto o marcado como nofollow, la calculadora no arranca — en su lugar aparece un aviso breve. Las condiciones son por widget: algunos futuros widgets de Estimia serán de pago, y cada uno indica sus propias condiciones en su página.

Incrustación — respuestas rápidas

¿El widget ralentizará mi web o perjudicará mis Core Web Vitals?

No. Tu página solo carga el loader de ~2 KB, de forma asíncrona, así que nunca bloquea el renderizado. La calculadora en sí — su JavaScript, CSS, fuentes y datos — se ejecuta dentro de un iframe diferido servido desde estimia.es, así que no compite con ninguno de tus recursos. El loader dimensiona el iframe según la altura que reporta la calculadora, por lo que no añade desplazamiento de diseño (CLS).

¿El widget usa cookies o necesita un banner de consentimiento RGPD?

No. El widget no pone cookies en tu dominio ni recoge datos personales de tus visitantes, así que no añade ningún requisito de consentimiento por tu parte ni muestra un diálogo de cookies en el sitio de nadie. La única medición es la analítica de páginas vistas de Estimia, sin cookies y agregada, usada para contar cuántas veces se carga el widget por dominio.

¿Las cifras de la subvención y la deducción del IRPF se mantienen al día?

Sí, automáticamente. Los topes de la subvención, los tramos de la deducción del IRPF y el estado de la convocatoria de cada región viven en el lado de Estimia, y cada incrustación refleja las cifras más recientes en el momento en que se publican. El fragmento que pegaste nunca cambia, así que no hay nada que mantener cuando cambian las normas.

¿De dónde salen las cifras de subvención e impuestos — son oficiales?

Sí. Los tramos, las bases y los plazos de la deducción del IRPF son las deducciones del IRPF de la Agencia Tributaria por obras de eficiencia energética (los tramos del 20%, 40% y 60%), y la subvención directa es el Plan Estatal de Vivienda 2026–2030 (Real Decreto 326/2026), con un tope de 7.500 € por vivienda y pagada a través de la convocatoria de cada comunidad autónoma. También refleja la Directiva (UE) 2024/1275 (la EPBD), las normas de la UE que sustentan el esquema español. Estimia sigue estas fuentes primarias más el estado de la convocatoria de cada región y las reverifica (última comprobación junio de 2026), así que el widget muestra cifras basadas en normas oficiales, no suposiciones.

¿Cómo lo incrusto en WordPress, Wix, Squarespace o Webflow?

Pega el fragmento en cualquier bloque que acepte HTML sin procesar — un bloque HTML personalizado en WordPress/Gutenberg, un elemento Embed en Wix, un bloque de código en Squarespace o un Embed en Webflow. No hace falta ningún plugin. Si tu plataforma inyecta contenido tras la carga (enrutado SPA), llama a window.EstimiaWidgets.scan() para inicializar los contenedores añadidos después.

Mi sitio envía una Content-Security-Policy — ¿qué debo permitir?

Permite estimia.es en dos directivas: script-src (o script-src-elem) para el loader de ~2 KB, y frame-src para el iframe que inserta. No se carga nada más en tu origen, así que esas dos entradas son todo lo que el widget necesita.