Purpose-Built for Investment Consultants.

Centralize research, streamline reporting, and deliver more value to clients — all in one platform.

Get Your Investment Consultant Info Kit:

Thank you! You'll be redirected to the reports shortly.

By providing your information, you will also receive emails from ION Analytics regarding our business, products and services. You can update your preferences at any time. You can also view our Privacy Policy for full details.

What Our Clients Say:

"Backstop has transformed how we operate by giving us more time to focus on what matters — delivering value to our clients."

- Emma Andrews, Manager of Business Analytics, NEPC

A service of

Backstop Solutions, a service of ION Analytics, empowers institutional investors and asset managers with the technology to streamline research, manage portfolios, raise capital, and service clients. As part of ION Analytics’ industry-leading services, Backstop helps firms break down data silos, enhance decision-making, and optimize workflows through the power of human insight and machine intelligence. Our core strength lies in delivering actionable intelligence, seamless institutional knowledge sharing, and workflow automation—transforming the way firms operate.

document.addEventListener("DOMContentLoaded", function () { const emailField = document.querySelector("#business_email"); const form = document.querySelector("form"); if (!emailField || !form) return; // Create an inline error message element const errorMsg = document.createElement("div"); errorMsg.style.color = "red"; errorMsg.style.fontSize = "0.9em"; errorMsg.style.marginTop = "5px"; errorMsg.textContent = "Please use a business email address."; errorMsg.style.display = "none"; emailField.parentNode.appendChild(errorMsg); const blockedDomains = [ "gmail.com", "yahoo.com", "hotmail.com", "aol.com", "outlook.com", "icloud.com", "live.com", "msn.com", "protonmail.com", "zoho.com" ]; function isBusinessEmail(email) { const domain = email.split("@")[1]; return domain && !blockedDomains.includes(domain.toLowerCase()); } function validateWithZeroBounce(email) { const apiUrl = `https://data.iongroup.com/zerobounce/?email=${encodeURIComponent(email)}&business_email=1`; return fetch(apiUrl) .then(response => response.json()) .then(result => { if (result.status === "valid") { return true; } else { errorMsg.textContent = "Please enter a valid business email."; errorMsg.style.display = "block"; emailField.style.border = "2px solid red"; return false; } }) .catch(err => { console.error("ZeroBounce API error:", err); errorMsg.textContent = "Error validating email. Please try again."; errorMsg.style.display = "block"; emailField.style.border = "2px solid red"; return false; }); } function validateEmail() { const email = emailField.value.trim().toLowerCase(); if (!isBusinessEmail(email)) { emailField.style.border = "2px solid red"; errorMsg.style.display = "block"; document.getElementById("formSubmitButton").disabled = true; return false; } else { emailField.style.border = ""; errorMsg.style.display = "none"; document.getElementById("formSubmitButton").disabled = false; // return validateWithZeroBounce(email); // return true; } } // Live validation on input emailField.addEventListener("input", validateEmail); // Intercept Unbounce AJAX submission window.ub.hooks.beforeFormSubmit = function(){ return validateEmail(); } });