Introduction:
In this article, you will learn how to capture hyphenated parameters and save them as custom fields in LeadsHook using JavaScript.
Here’s a clear step-by-step process using a sample script:
function setFieldsFromUrl() {
// Get the URL parameters
const urlParams = new URLSearchParams(window.location.search);
// Get the values of the 'first-name' and 'last-name' parameters
const firstName = urlParams.get('first-name');
const lastName = urlParams.get('last-name');
// Check if the values are not null or undefined
if (firstName !== null && firstName !== undefined) {
// Log the captured value
console.log(`Captured first-name: ${firstName}`);
// Call DT.setField with the captured value
DT.setField('first_name', firstName);
} else {
console.log("First name not found in the URL parameters.");
}
if (lastName !== null && lastName !== undefined) {
// Log the captured value
console.log(`Captured last-name: ${lastName}`);
// Call DT.setField with the captured value
DT.setField('last_name', lastName);
} else {
console.log("Last name not found in the URL parameters.");
}
}
// Assuming that DT.setField is defined, you can call the function
setFieldsFromUrl();
In the above script:
- Extract URL parameters: Using URLSearchParams, you can parse the URL’s query string to extract parameters.
- Retrieve hyphenated parameters: Use .get to retrieve the values of parameters with hyphens, like ‘first-name’ and ‘last-name’.
- Save to LeadsHook custom fields: If these values exist, use DT.setField to save them in LeadsHook as custom fields (‘first_name’ and ‘last_name’ in this case).
You can place the script at the node level of your decision tree. Adjust parameters and custom field names as needed.
Important Note: When testing in Version 2 Decision Trees, you can display the custom field in the next node where you put the script. Just keep in mind that in V2, the nodes are pre-rendered on the server side, so the variable won’t be available in the first node.