HubSpot provides the ability to display a pop up form with various triggers (exit intent, after 7 seconds, etc.) But what if you want to show it immediately or when a button is clicked? Below is some javascript to help achieve this functionality.
How to use this script
- Create pop up form
- Set targeting to the page you would like the form to appear
- Set the form pop-up trigger to 600 seconds or 10 minutes. This will essentially hide the pop up until you manually set it to appear using the script below.
- Now that you have the form created and connected to the page. Add the script to the HubSpot page by editing the page > Settings > Advanced Options > Footer HTML
Here is an example page using a button trigger to open a pop up form.
<script> window.onload = function() { // add a delay to give time for the pop form to load setTimeout(function() { // trigger the opening of the pop up without delay // window.leadflows.dynoFactory.create(window.leadflows.lfConfig.leadFlows[0]).open(); /* can also be triggered on button click Change '#main-content .button' query selector below to your button class or ID */ $("#main-content .button").click(function(){ event.preventDefault(); window.leadflows.dynoFactory.create(window.leadflows.lfConfig.leadFlows[0]).open(); }); }, 200); // window load }; </script>
What about multiple form pop-ups on the same page?
If you wanted to have buttons to trigger different forms, I would create custom modal functionality and then embed my forms in there.