Request Appointment

Enter your zip code to choose your desired Ziebart location

(function () { const utmParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content']; const urlParams = new URLSearchParams(window.location.search); utmParams.forEach(param => { const value = urlParams.get(param); if (value) { sessionStorage.setItem(param, value); } }); function addUTMHiddenFields(form) { utmParams.forEach(param => { const existingField = form.querySelector('input[name="' + param + '"]'); const value = sessionStorage.getItem(param); if (value && !existingField) { const hiddenInput = document.createElement('input'); hiddenInput.type = 'hidden'; hiddenInput.name = param; hiddenInput.value = value; form.appendChild(hiddenInput); } }); } document.addEventListener('DOMContentLoaded', function () { const forms = document.querySelectorAll('form'); forms.forEach(form => { addUTMHiddenFields(form); // If a new form appears later (e.g., dynamic forms), reapply on submit form.addEventListener('submit', function () { addUTMHiddenFields(form); }); }); }); function appendUTMParams(url) { try { const parsedUrl = new URL(url, window.location.origin); const existingParams = new URLSearchParams(parsedUrl.search); utmParams.forEach(param => { const value = sessionStorage.getItem(param); if (value && !existingParams.has(param)) { existingParams.set(param, value); } }); parsedUrl.search = existingParams.toString(); return parsedUrl.toString(); } catch (e) { return url; } } document.addEventListener('DOMContentLoaded', function () { const anchors = document.querySelectorAll('a[href^="/"], a[href^="' + window.location.origin + '"]'); anchors.forEach(anchor => { const originalHref = anchor.getAttribute('href'); if (!originalHref) return; const absoluteHref = anchor.href; const newHref = appendUTMParams(absoluteHref); if (newHref !== absoluteHref) { anchor.href = newHref; } }); }); })();