PageSourceSearch

https://www.califsol.com/assets/js/conversion-events.js

js califsol.com collected 2026-10-08 12:50:29 UTC 1,740 bytes, 48 lines download raw bytes

1(function () {
2  "use strict";
3
4  window.dataLayer = window.dataLayer || [];
5
6  function push(eventName, details) {
7    window.dataLayer.push(Object.assign({
8      event: eventName,
9      page_path: window.location.pathname,
10      page_title: document.title
11    }, details || {}));
12  }
13
14  document.addEventListener("click", function (event) {
15    var link = event.target.closest("a");
16    if (!link) return;
17
18    var href = link.getAttribute("href") || "";
19    var label = (link.textContent || link.getAttribute("aria-label") || "").trim().slice(0, 100);
20
21    if (href.indexOf("wa.me/") !== -1) {
22      push("whatsapp_click", { link_text: label });
23    } else if (href.indexOf("tel:") === 0) {
24      push("phone_click", { link_text: label });
25    } else if (href.indexOf("mailto:") === 0 || href.indexOf("mail.google.com/mail") !== -1) {
26      push("email_click", { link_text: label });
27    } else if (link.classList.contains("btn") || link.classList.contains("nav-cta")) {
28      push("consultation_cta_click", { link_text: label, link_url: href.slice(0, 180) });
29    }
30  });
31
32  document.addEventListener("focusin", function (event) {
33    var form = event.target.closest("form");
34    if (!form || form.dataset.analyticsStarted === "true") return;
35    form.dataset.analyticsStarted = "true";
36    push("lead_form_start", {
37      form_name: form.getAttribute("name") || form.querySelector('[name="form_source"]')?.value || "website_form"
38    });
39  });
40
41  document.addEventListener("submit", function (event) {
42    var form = event.target.closest("form");
43    if (!form) return;
44    push("lead_form_submit", {
45      form_name: form.getAttribute("name") || form.querySelector('[name="form_source"]')?.value || "website_form"
46    });
47  });
48})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.