How do you handle free email signups in HubSpot without losing real leads?
Flag them instead of blocking them. Create a contact property for email type, build a workflow that checks each new contact's address against a list of free email domains, and set the property to free or business. Then route, score, and report on the flag. Real buyers who use Gmail still get through.
This tutorial is for a specific situation: a B2B team on HubSpot with a demo or contact form, where sales complains about junk leads from personal addresses, but marketing does not want to turn away founders and consultants who genuinely use Gmail for work. If that is you, a flag is the middle ground.
I set this up as part of lead routing for B2B clients. It is a short build, and it makes every later step of qualification cleaner.
Why not just block free email providers on the form?
Blocking is a blunt tool. HubSpot forms offer a "Block free email providers" checkbox, and when it is on, a visitor using a blocked domain is "prompted to enter a different email address before submitting the form." Some real buyers will leave instead. Small companies, solo founders, and consultants often run their business on a personal address.
According to HubSpot's knowledge base, the blocking feature is available on Marketing Hub and Content Hub at Starter, Professional, and Enterprise, and you can apply it per form or across all forms from an account-level setting. It works as described. The question is whether you want it.
My rule is simple. Block free providers only on forms where a personal address almost never leads to revenue, like an enterprise demo request for a product with a high minimum contract. Everywhere else, flag and route. You keep the lead and still protect sales time.
What do you need before you start?
You need a HubSpot account with workflows, a list of the free email domains you want to flag, and permission to create contact properties. HubSpot's documentation lists workflow branches under the Professional and Enterprise tiers of Marketing Hub, Sales Hub, Service Hub, Data Hub, and Smart CRM, so check your plan first.
For the domain list, start with the providers your leads actually use. Export the last few months of form submissions, extract the part of each email address after the @ sign, and count the most common domains. The personal ones will be obvious. That list is more accurate for your market than any generic list you copy from the internet.
Keep the list in a shared document. You will add to it over time, and anyone editing the workflow later should be able to see where the list came from.
Step 1: How do you create the email type property?
Create a custom contact property called something like "Email type" with a dropdown field and three options: Business, Free, and Unknown. A dropdown keeps the values consistent, which makes filters, lists, and reports reliable. Avoid free text fields for anything you plan to route or report on.
Go to your property settings, choose the contact object, and create the property in a group that makes sense for your team, such as a lead qualification group. Give it a description that says what sets it, for example "Set automatically by the free email flag workflow. Do not edit by hand."
The Unknown option matters. It catches contacts created without an email address, or with something malformed. Without it, those records silently fall into one of the other buckets and distort your reports.
Step 2: How do you set up the workflow trigger?
Create a contact-based workflow that enrolls contacts when they are created or when their email address changes. If you only care about inbound leads, enroll on form submission instead. Use the workflow's re-enrollment settings for email changes, so a contact who swaps a personal address for a work one gets reclassified correctly.
Enrolling on creation catches every source: forms, imports, integrations, and manual entry. That is usually what you want, because the flag should mean the same thing no matter how a contact arrived. If your portal has a lot of imported contacts you do not want to touch, start with form submissions and widen later.
Before turning anything on, decide what happens to existing contacts. You can enroll them once to backfill the flag, but do it on a small segment first and check the results.
Step 3: How do you build the branch that checks the domain?
Add an if/then branch. In the first branch, filter the contact's email address with a text condition that matches any of your free domains. Contacts that match go down the Free path. Add a second branch for contacts with no email. Everyone else follows the None met path, which you treat as Business.
HubSpot's documentation explains that "If a record doesn't meet any branch criteria when it reaches the branch, it will follow the None met path." That behavior is exactly what you want here. Free and Unknown are the exceptions you define. Business is the default.
Match on the domain including the @ sign, such as "@gmail.com", rather than just "gmail". That prevents false matches on business domains that happen to contain the same letters. Check the exact operator names in your portal's filter options when you build the condition.
Step 4: What should each branch do?
Each branch sets the Email type property to its value: Free, Unknown, or Business. That is the core job. After setting the property, you can add routing or scoring actions, but keep them in separate workflows if possible, so the flag logic stays simple and easy to audit.
Separate workflows are a habit I recommend for any CRM automation. One workflow sets facts. Other workflows act on those facts. When something goes wrong, you can tell immediately whether the fact was wrong or the action was wrong.
For routing, a common pattern is to send Business leads straight to the assigned rep and send Free leads to a short qualification step first, such as an automated email asking about company size, or a quick review by an SDR. I explained the wider routing logic in how to route inbound leads to the right owner in HubSpot.
Step 5: How do you test the workflow before turning it on?
Test with contacts you create for the purpose. Make one with a free address, one with a business address, one with an address that contains a free provider's name inside a business domain, and one with no email. Enroll each one, then check that every contact landed in the correct branch and got the correct value.
The tricky test case is the third one. If your filter is too loose, a business domain with a similar spelling gets flagged as free. That is the kind of mistake that quietly sends a good lead to the wrong queue for months.
Once the test contacts pass, turn the workflow on for new contacts only. Watch the first few days of real enrollments. Then run the backfill on existing contacts in small batches.
How should sales and reporting use the flag?
Use it as one input, never as a verdict. Add Email type to lead views so reps see it at a glance, include it in lead scoring as a small negative or neutral signal, and break down conversion reports by it. You may find free email leads convert better than expected in some segments.
That last point is the reason I prefer flags over blocks. Data from your own pipeline should decide how much a free address matters, not an assumption. Run a report after a quarter comparing meetings booked and deals won by Email type. If free leads perform well, soften the routing.
This also pairs well with deciding who to exclude from outbound. I wrote about that in writing ICP disqualification rules before outbound. And if your forms ask for too much in the first place, see how few fields a B2B form can have and still qualify.
What should you do next?
Pull your last few months of form submissions, list the free domains your leads actually use, and create a dropdown Email type property. Build the workflow with a free branch, an unknown branch, and a business default, test it with four sample contacts, then turn it on for new leads before backfilling.
After a quarter, compare conversion by Email type and adjust routing based on what your own data shows.
If you want help setting up lead routing, scoring, and qualification in HubSpot so sales spends time on the right people, reach out. Let's chat about your setup.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.