> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allgoodhq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Coming from Marketo or HubSpot: forms

> Marketo and HubSpot bind a form instance to one page. allGood separates what a form collects from the page that renders it.

Marketo and HubSpot both bind a form instance to the page (or landing page template) it's embedded on. allGood treats a form as its own capture target with a stable Form ID, and lets any number of pages point at it. Same goal, which is collecting submissions safely, but a different seam.

## At a glance

| | Marketo / HubSpot | allGood |
| - | - | - |
| What a form *is* | An instance embedded on one page or template | A capture target with its own stable Form ID, not tied to any single page |
| Reusing it elsewhere | Clone the form, or embed a shared smart form/module on another template | Point another page at the same Form ID. Nothing to clone |
| Editing a field | Changes the instance you opened, unless it's a shared module | Changes every page that uses that Form ID, all at once |
| Markup and styling | The platform can render and style it for you, or you self-host and style it yourself | Always your markup and your CSS. allGood never renders or restyles a form |
| Consent / GDPR | A consent checkbox field, connected to your platform's own legal-basis or consent settings | The checkbox links to a reusable, versioned, localized consent text; every accepted submission records which version and language the visitor saw |
| Spam and bot protection | Built-in CAPTCHA or reCAPTCHA integration | A hidden honeypot field (its name varies by account and form) plus an optional bot check, both configured per form |
| Known-visitor behavior | Progressive profiling: a returning visitor can see a shorter form, pre-filled or with different fields | Not built in. The form itself always sends the same fields. A developer can still hide the form for a repeat visitor with custom page script (see below) |

What that changes in practice:

* **Reusing a form across campaigns** doesn't mean cloning it. Point another page at the same Form ID, the way you might already reuse a Marketo smart form or HubSpot module across templates that share one.
* **Editing fields** updates every page using the form at once, rather than only the instance you opened. See [Find where a form is used](https://docs.allgoodhq.com/mk/content/forms/finding-where-a-form-is-used.md) before making a change.
* **Markup and styling stay with your page**, the same as a self-hosted Marketo or HubSpot form. allGood never renders or restyles it for you.
* **There's no progressive profiling.** The form itself always asks for the same fields; allGood doesn't shorten or pre-fill it for a visitor it recognizes. The common case this covers in Marketo or HubSpot, which is not showing the form again to someone who already submitted, is still doable: a developer can have the page remember an accepted submission (for example, a flag in `localStorage` set when allGood reports the submission accepted) and swap in different content on a repeat visit. That's custom script on your page, not a platform setting. See [Adding a form to a page](https://docs.allgoodhq.com/mk/content/forms/adding-a-form-to-a-page.md) for how the page hears about an accepted submission.
* **Consent is a separate, reusable asset**, not a setting on the form itself. See [What a form is](https://docs.allgoodhq.com/mk/content/forms/what-a-form-is.md) for how a form references a consent text, and [Connect your consent platform](https://docs.allgoodhq.com/mk/settings/web-edge/consent-provider.md) to set one up.

> [!NOTE]
>
> Exact field names and settings in Marketo and HubSpot vary by subscription tier and account configuration, so use this table as a map between the two worlds, not a feature-for-feature spec.

## Related articles

* [What a form is](https://docs.allgoodhq.com/mk/content/forms/what-a-form-is.md)
* [Creating a form](https://docs.allgoodhq.com/mk/content/forms/creating-a-form.md)
* [What protects a form](https://docs.allgoodhq.com/mk/content/forms/what-protects-a-form.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.