Embedding Customizable Form Tracking Script in Marketing Engine Landing Page
Last updated
Was this helpful?
Was this helpful?
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("landingpage_form_{landing_form_id}");
const webhookURL = "{webhookURL}";
// List of fields to exclude from webhook
const excludeFields = [
"Landing Page Token"
];
if (form) {
form.addEventListener("submit", function () {
const formData = new FormData(form);
const payload = {};
for (const [key, value] of formData.entries()) {
if (!excludeFields.includes(key)) {
if (payload[key]) {
payload[key] = Array.isArray(payload[key])
? [...payload[key], value]
: [payload[key], value];
} else {
payload[key] = value;
}
}
}
const json = JSON.stringify(payload);
console.log("Filtered Payload:", json);
try {
const blob = new Blob([json], { type: "text/plain" });
navigator.sendBeacon(webhookURL, blob);
} catch (err) {
console.error("Beacon send error:", err);
}
});
}
});
</script>