Master form strategy
Stop cloning a form per page. Build one master form, embed it everywhere, edit it once, and use the page URL for context.
If your HubSpot portal has forty near-identical "Contact us" forms — one per landing page, mostly to know where someone converted — this is the fix. One master form, embedded everywhere. When you need to add a field, you add it once.
Why so many forms pile up
The usual reason is attribution. You want to know a submission came from the pricing page, not the events page, so you clone the form for each page. It works, until you have 160 of them and someone asks you to add a "ZIP code" field — now it's 160 edits, and HubSpot has no way to bulk-edit forms.
You don't need a form per page. You need one form, and the page URL.
The master form
Build one hosted form and embed it on every page that used a clone.
- Find the clusters. Ask your AI: "Find my duplicate forms." —
find_duplicate_formsgroups the near-identical ones and tells you which is still taking traffic (the keeper). - Build one master. Ask it to "consolidate these into one form." — it creates a single hosted form with the union of the cluster's fields, submitting to the keeper HubSpot form. You get one embed snippet and one share link.
- Embed it everywhere. Drop that one snippet on every page the clones were on. Same form, every page.
- Edit it once, forever. Need a new field later? "Add a ZIP code field to my master form." —
update_hosted_formchanges the one form, and every page updates at once. (On a HubSpot-backed form, the new field is checked against your HubSpot form so a submission can't break.)
Attribution without clones
Every FormMaker submission already carries its page URL and page title — automatically, no setup. So the "where did this come from?" question is answered by one master form, not forty.
To act on it in HubSpot, use a workflow keyed on the submission's page URL instead of a separate form:
- Submitted on a page whose URL contains
/pricing→ set inquiry type to Pricing. - Submitted on
/events→ set inquiry type to Events. - …and so on.
Same form collects the data. The URL tells you the context. The workflow routes, labels, or assigns. You never clone a form just to know where it came from again.
The rule of thumb
Don't use separate forms as a substitute for process logic. Use one form to collect, the page URL to understand context, and a workflow to route.
See also
- find_duplicate_forms — find the clusters
- create_hosted_form — build the master
- update_hosted_form — edit its fields once, everywhere