"use strict"; console.log("Anton Lanz Lead-Website geladen."); const formular = document.getElementById("projektformular"); const statusBox = document.getElementById("formular-status"); // ========================================= // SPRACHE DER SEITE ERKENNEN // ========================================= const sprache = document.documentElement.lang || "de"; const istItalienisch = sprache.toLowerCase().startsWith("it"); if (formular && statusBox) { // ========================================= // LEAD-QUELLE ERFASSEN // ========================================= const leadSource = document.getElementById("lead_source"); const landingPage = document.getElementById("landing_page"); const parameter = new URLSearchParams(window.location.search); const utmSource = parameter.get("utm_source"); const utmMedium = parameter.get("utm_medium"); const utmCampaign = parameter.get("utm_campaign"); if (landingPage) { landingPage.value = window.location.href; } if (leadSource) { if (utmSource) { let quelle = utmSource; if (utmMedium) { quelle += " / " + utmMedium; } if (utmCampaign) { quelle += " / " + utmCampaign; } leadSource.value = quelle; } else if (document.referrer) { leadSource.value = document.referrer; } else { leadSource.value = istItalienisch ? "Diretto" : "Direkt"; } } // ========================================= // FORMULAR SENDEN // ========================================= formular.addEventListener("submit", async function (event) { event.preventDefault(); if (!formular.checkValidity()) { formular.reportValidity(); return; } const button = formular.querySelector(".formular-button"); const originalButtonText = button.innerHTML; // Button während der Übertragung sperren button.disabled = true; button.textContent = istItalienisch ? "Invio della richiesta ..." : "Anfrage wird gesendet ..."; statusBox.textContent = ""; statusBox.classList.remove("aktiv"); try { const formularDaten = new FormData(formular); const response = await fetch( "https://api.web3forms.com/submit", { method: "POST", body: formularDaten } ); const daten = await response.json(); if (!response.ok) { throw new Error( daten.message || "HTTP-Fehler bei der Übermittlung." ); } if (daten.success) { statusBox.textContent = istItalienisch ? "Grazie. La vostra richiesta è stata inviata con successo." : "Vielen Dank. Ihre Projektanfrage wurde erfolgreich übermittelt."; statusBox.classList.add("aktiv"); console.log( istItalienisch ? "Richiesta inviata con successo a Web3Forms." : "Projektanfrage erfolgreich an Web3Forms übermittelt." ); // ========================================= // GOOGLE ANALYTICS – ERFOLGREICHER LEAD // ========================================= if (typeof gtag === "function") { gtag("event", "generate_lead", { form_name: "projektanfrage", landing_page: window.location.pathname, page_language: istItalienisch ? "it" : "de" }); console.log( "Google Analytics Event gesendet: generate_lead" ); // ========================================= // GOOGLE ADS – ERFOLGREICHE PROJEKTANFRAGE // ========================================= gtag("event", "conversion", { send_to: "AW-18393117263/eW91CKWQ_Y0dEM_kwsJE" }); console.log( "Google Ads Conversion gesendet: Projektanfrage" ); } else { console.warn( "Google Analytics / Google Ads konnte nicht gefunden werden. Tracking wurde nicht gesendet." ); } formular.reset(); // ========================================= // TRACKING-WERTE NACH RESET WIEDER SETZEN // ========================================= if (landingPage) { landingPage.value = window.location.href; } if (leadSource) { if (utmSource) { let quelle = utmSource; if (utmMedium) { quelle += " / " + utmMedium; } if (utmCampaign) { quelle += " / " + utmCampaign; } leadSource.value = quelle; } else if (document.referrer) { leadSource.value = document.referrer; } else { leadSource.value = istItalienisch ? "Diretto" : "Direkt"; } } } else { throw new Error( daten.message || "Übermittlung fehlgeschlagen." ); } } catch (fehler) { console.error( "Fehler beim Senden der Projektanfrage:", fehler ); statusBox.textContent = istItalienisch ? "Non è stato possibile inviare la richiesta. Vi preghiamo di riprovare." : "Die Anfrage konnte leider nicht gesendet werden. Bitte versuchen Sie es erneut."; statusBox.classList.add("aktiv"); } finally { button.disabled = false; button.innerHTML = originalButtonText; } }); }