Technical calculator form


A HubSpot customer wants a form based calculator added to their website that is also on HubSpot.

The idea:

  1. on the first page display a description and ask the customer to enter name and E-mail to continue to page 2

  2. on page 2 display the calculator form that beside static field values has also dynamic data in select fields

  3. on page 3 display results after lots of math on, again, dynamic data is done, part of the results should be grayed out until the customer enters more information (address, phone, etc.) and if is done all the results should be displayed and there would be a possibility to print them

I would do this calculator on a sub-domain of clientdoman on a hosting with a database to store the dynamic data and some back-end scripting. The Admin page for all the calculator data would also be on this separate hosting. I also understand how the HubSpot Form API could be used to pass the customer data back and I also understand how the tracking should be implemented.

But the problem is that the customer wants the browsers URL to always be inside http://clientdomain on HubSpot, not change to http://calculator.clientdomain.

Can this customer wish - to stay on customerdomain - be fulfilled somehow? Doesn’t seem possible as far as I get it, or am I wrong? Maybe could work in a ugly way with a bunch of Ajax calls to the outside server and lots of jQuery code for form manipulation, etc.? Or is there some other solution?

Depending on the answer I might have more specific questions on each point of the above described idea.


@Tomislav Your idea would be the cleanest solution, to have a separate subdomain hosting those pages and back-end scripts. Then you could use the Forms API to push everything back to HubSpot. You can always use the forms embed code as well to help with the forms on an external page.

You aren’t wrong with, where there’s a will there’s a way with the AJAX/JQuery but that wouldn’t be worth the time to set up or maintain compared to the first option you laid out.