Blog category

Trends

Stay up to date on the latest news from the corporate sector. We explore the future of events, new trends in digital signage, and how technology is completely transforming the audience experience.

RESOURCES FOR EVENT ORGANIZERS

DOWNLOAD THE GUIDE FOR A PERFECT AUDIOVISUAL EVENT

Receive the definitive step-by-step guide in your inbox for organizing conferences and presentations without technical failures. Includes our expert checklist for sound, video, and streaming.

Contact Form

Get a detailed estimate.

You will receive confirmation by email

Request via WhatsApp

Direct response to our team

When you send it, WhatsApp will open with your message already typed out

(function($) { var whatsappWindow = null; // Detección de dispositivos (incluye la corrección para iPad) var isIPad = (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1); var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || isIPad; document.addEventListener('submit', function(e) { var form = e.target; // Identificamos que es el formulario del popup de WhatsApp por el campo "necesidad" if (form.matches && form.matches('form.elementor-form') && form.querySelector('[name="form_fields[necesidad]"]')) { if (!isMobile) { // En ordenador, abrimos preventivamente la pestaña para evitar bloqueos whatsappWindow = window.open('', '_blank'); } } }, true); // Binding delegado: 'this' es siempre el real que disparó el evento, // nunca "el primero que encuentre en la página" (fix del conflicto entre formularios) jQuery(document).on('submit_success', 'form.elementor-form', function(event) { var form = this; if (!form.querySelector('[name="form_fields[necesidad]"]')) return; function getVal(id) { var el = form.querySelector('[name="form_fields[' + id + ']"]'); return el ? el.value.trim() : ''; } // Campos del formulario del popup de WhatsApp var nombre = getVal('name') || '[Nombre]'; var empresa = getVal('company') || '[Empresa]'; var email = getVal('email') || '[Email]'; var telefono = getVal('phone') || '[Teléfono]'; var necesidad = getVal('necesidad') || '[Tipo de necesidad]'; var fecha = getVal('date') || '[Fecha no especificada]'; var evento = getVal('message') || '[Detalles del evento]'; // Mensaje estructurado para el popup de WhatsApp var mensaje = "Hola, buenas.\n\n" + "Soy *" + nombre + "*.\n" + "Trabajo en *" + empresa + "*.\n" + "Mi correo es *" + email + "*.\n" + "Mi teléfono es *" + telefono + "*.\n\n" + "Os contacto porque necesito: *" + necesidad + "*.\n\n" + "Fecha del evento: *" + fecha + "*.\n\n" + "Detalles del evento:\n" + evento; // === GTM: evento de conversión WhatsApp === window.dataLayer = window.dataLayer || []; dataLayer.push({ 'event': 'whatsapp_click', 'whatsapp_necesidad': necesidad }); // 1. URL Directa (whatsapp://) - Fuerza abrir la App Nativa (Móviles) var urlDirectaApp = "whatsapp://send?phone=34622788280&text=" + encodeURIComponent(mensaje); // 2. URL Estándar (api.whatsapp) - Versión web intermedia (Ordenadores) var urlSeguraWeb = "https://api.whatsapp.com/send?phone=34622788280&text=" + encodeURIComponent(mensaje); if (isMobile) { // En móviles salta directo a la app en la misma pestaña window.location.href = urlDirectaApp; } else { // En ordenadores usamos la pestaña segura (sin redirección de gracias) if (whatsappWindow && !whatsappWindow.closed) { whatsappWindow.location.href = urlSeguraWeb; } else { window.open(urlSeguraWeb, '_blank'); } } }); })(jQuery); jQuery(document).ready(function($) { // Escuchamos el clic en el texto de aceptación $(document).on('click', '.elementor-field-type-acceptance label', function(e) { // Si el usuario NO ha hecho clic en el enlace azul de la política... if (e.target.tagName.toLowerCase() !== 'a') { e.preventDefault(); // ¡Magia! Esto evita el scroll a la parte inferior e.stopPropagation(); // Esto evita que el pop-up se cierre // Buscamos la casilla exacta que está al lado de este texto y la marcamos manualmente var $checkbox = $(this).closest('.elementor-field-subgroup').find('input[type="checkbox"]'); $checkbox.prop('checked', !$checkbox.prop('checked')); } }); });