Forms to Check if Email Exists in CRM

Hey there,

I’m using Hubspot forms to collect leads from our website, which is not hosted on Hubspot. So, what I do is basically embed the Hubspot form in an iFrame.

The forms are intended to be filled by the new customers only, the ones that do not exist in my CRM. However, I also keep receiving form submissions from the existing customers.

My question is, whether Hubspot forms can automatically detect if the incoming visitor to form page exists in my CRM and change the form or form fields automatically or at least fill in the form fields automatically by using the contact properties of that user.

Anyone with an experience on this?

Hi @ihsanmercan,

Yes, this behavior is explained here: Understand pre-populated form fields


  • The Pre-populate form fields for returning visitors option must be toggled on. This is turned on by default when creating new forms.
  • The visitor has previously submitted a HubSpot form using the same device. For example, if you submit your phone number to a form on your desktop, but the number is updated from a contact record in HubSpot or another form submission from your mobile device, the updated property won’t pre-populate in any forms on your desktop. Only the phone number from the earlier submission will be displayed.
  • The visitor has previously submitted a HubSpot form on the same tracked site. If the form is submitted using the form’s share link, the visitor must have previously submitted a form on the same share.hsforms.com domain.

Best regards!

Thanks @karstenkoehler. Do you know if there is any way to change the form fields based on the visitor? So, if it’s an existing customer and hubspot recognizes them, are we able to change the form fields?

@ihsanmercan yes, this also possible, see here: Use progressive fields in forms (legacy)

Hello @ihsanmercan :waving_hand::waving_hand:, thanks for bringing this question to the community ! @karstenkoehler @RubenBurdin are right on track here ! I also wanted to let you know about a 3rd feature, HubSpot’s Form Shortening feature: Use form shortening which could be useful to you in future form use cases. Form shortening works as follows:

  • When form shortening turned on, when a visitor starts filling out a form, only the Email field will be displayed initially.
  • After the visitor enters their email, HubSpot will check the enrichment dataset for existing data.
  • If the visitor’s details are not found in the enrichment dataset, they will be prompted to complete all fields in the form.
  • If the information is found in the enrichment dataset:
    • Any enriched fields will be hidden.
    • Only fields that have no value, or have been populated by a non-enrichment source will appear. This includes fields populated by manual updates, workflows, or integrations

Hope all of these resources help !

- Josefina, Community Moderator

Hi @ihsanmercan , Karsten’s pointing you in the right direction, and there’s one nuance worth calling out because your form is in an iFrame on a non-HubSpot site.

HubSpot can recognize a returning visitor and pre-fill known fields, but it does that based on the visitor’s browser cookie and tracking context, not by “checking the CRM in real time” at submit time.

So yes, turning on pre-population helps, but it only works when HubSpot can identify the browser as someone who previously submitted a HubSpot form on that same tracked domain context (Understand pre-populated form fields )

For changing fields, the native option is exactly what you asked for: use progressive profiling to show different questions once a known field is already populated. It won’t “swap to a totally different form,” but it does let you avoid asking existing contacts for the same info again and instead ask net-new questions (Use progressive fields in forms (legacy)).

If you truly need a hard split like “existing customer sees Form B, net-new sees Form A,” HubSpot forms don’t give you a clean, built-in conditional-rendering rule based on contact existence. The closest you can get without custom development is:

  • pre-populate on
  • progressive fields on
  • optionally, hide certain fields when known values exist, and route the submission differently after the fact via workflows/lists

One quick clarifying question: are your existing customers typically already cookied and tracked on the same site (same browser/device), or are they often coming from a different device or incognito? That detail determines whether HubSpot can reliably recognize them before they submit.

Thanks a lot for the response Ruben. The visitors usually visit from the same device. I think what @JOB3 suggested, form shortening, is the solution I’m looking for, which will show/hide fields based on user’s email address.