// Webhook-URL, an die die Daten gesendet werden sollen const webhookUrl = 'https://your-webhook-url.com/'; // Funktion zum Extrahieren und Senden von Daten async function sendData(formData) { try { // Aktuelle URL der Seite abrufen const currentUrl = window.location.href; const urlParams = new URLSearchParams(new URL(currentUrl).search); // Extrahiere UTM-Parameter const utmSource = urlParams.get('utm_source'); const utmMedium = urlParams.get('utm_medium'); const utmCampaign = urlParams.get('utm_campaign'); // Überprüfe, ob alle UTM-Parameter vorhanden sind if (!utmSource || !utmMedium || !utmCampaign) { throw new Error('UTM parameters are missing'); } // Füge UTM-Daten zur FormData hinzu formData.append('utm_source', utmSource); formData.append('utm_medium', utmMedium); formData.append('utm_campaign', utmCampaign); formData.append('url', currentUrl); // JSON-Daten für den Webhook erstellen (optional) const payload = { utm_source: utmSource, utm_medium: utmMedium, utm_campaign: utmCampaign, url: currentUrl, name: formData.get('name'), // Extrahiere den Namen aus dem Formular email: formData.get('email') // Extrahiere die E-Mail-Adresse aus dem Formular }; // HTTP POST-Anfrage an den Webhook senden const response = await fetch(webhookUrl, { method: 'POST', body: JSON.stringify(payload), headers: { 'Content-Type': 'application/json' } }); if (!response.ok) { throw new Error('Failed to send data to webhook'); } console.log('Data sent successfully'); } catch (error) { console.error('Error:', error.message); } } // Funktion aufrufen, um Daten zu extrahieren und zu senden, wenn das Formular abgeschickt wird document.addEventListener('submit', function(event) { // Verhindere das Standardverhalten des Formulars (z.B. das Neuladen der Seite) event.preventDefault(); // FormData-Objekt erstellen, um Formulardaten zu sammeln const formData = new FormData(event.target); // Rufe die Funktion zum Extrahieren und Senden der Daten auf sendData(formData); });