This guide shows you how to build a zero-party data collection system from scratch using Typeform, HubSpot, and Make (formerly Integromat). You will go from a blank account to a fully working preference-capture flow that feeds directly into your CRM and triggers personalised email segments. Most teams can complete the full setup in three to four hours.

What You'll Build

  • A branded Typeform quiz that collects purchase intent, preferences, and communication frequency from new subscribers
  • A Make automation that maps each quiz response to a structured HubSpot contact property
  • Dynamic HubSpot lists that update in real time as responses come in
  • At least two personalised email workflows triggered by the segments you create
  • A simple monthly audit process to keep your data fresh and actionable

Prerequisites

  • A HubSpot account (Marketing Hub Starter or above, as of 2026)
  • A Typeform account (Basic plan or above for webhook access)
  • A Make account (Core plan covers the scenario volume needed here)
  • Admin access to your email sending domain for DKIM verification
  • Basic familiarity with HubSpot contact properties and lists

Why Zero-Party Data Matters in 2026

Third-party cookies are effectively dead across Chrome, Safari, and Firefox. Brands in Australia, Singapore, Canada, and the US are operating under tighter privacy regulations than ever. Zero-party data is information a customer shares intentionally in exchange for something valuable. It is accurate, consented, and yours to keep.

Personalisation built on zero-party data consistently outperforms cookie-based targeting. Studies across Klaviyo's 2025 benchmark dataset show email flows triggered by declared preferences average 2.4x higher click rates than behaviour-inferred segments. The setup requires upfront work, but the compound return is significant.

Step 1: Define What Data You Actually Need

Before you open Typeform, write a list of the decisions your marketing team needs to make each week. Work backwards from those decisions to the data points that would inform them.

What questions are worth asking?

Keep your quiz to five to seven questions. Every additional question drops completion rates by roughly eight to twelve percent, based on Typeform's 2025 completion benchmarks. Good questions for most SMBs include:

  • What is the primary goal you are trying to solve? (multiple choice)
  • How often do you want to hear from us? (once a week / twice a month / monthly)
  • Which topics interest you most? (checkbox, max three selections)
  • What best describes your current situation? (persona-mapping question)
  • How did you hear about us? (optional, for attribution)

Avoid open-text fields in your first version. They are hard to map to CRM properties and slow down your automation setup considerably.

What if you serve multiple audience segments?

Use a branching logic question at the start to split the flow. Typeform's Logic Jump feature lets you show different follow-up questions based on the first answer. A SaaS company might ask "Are you a solo founder or part of a team?" and then show different intent questions to each group. Keep each branch to four questions maximum.

Step 2: Set Up Your HubSpot Custom Properties

HubSpot's default contact properties will not match your quiz fields. You need to create custom properties before you build the automation, so Make has somewhere to write the data.

  1. Go to Settings > Properties > Contact Properties in HubSpot.
  2. Click "Create property" for each quiz answer field.
  3. Match the field type to the question type: use Dropdown for single-choice answers, Checkbox for multi-select, and Number for any scored responses.
  4. Use a consistent naming convention. A useful pattern is zp_topic_interest, zp_email_frequency, zp_primary_goal. The zp_ prefix makes these properties easy to filter later.
  5. Add a zp_quiz_completed_date property as a Date type. You will use this for your monthly audit.

Common pitfall: HubSpot's Checkbox property stores values as semicolon-separated strings (e.g., SEO;Email;Paid Ads). Make sure your Make mapping accounts for this format when you build the scenario in Step 4.

Step 3: Build the Typeform Quiz

Open Typeform and create a new form from scratch. Do not use a template for this. Templates add questions you do not need and create mapping confusion later.

How should you structure the form for highest completion?

Use the following order:

  1. A welcome screen with a clear value statement. Tell the reader what they get in return for completing the quiz (better content, a personalised recommendation, a relevant resource).
  2. Your branching question first, if you have one.
  3. Intent and preference questions in the middle.
  4. Communication frequency question second-to-last. People are more willing to share this once they are already invested in the form.
  5. A thank-you screen with a specific next action (a link to a resource, a calendar booking page, or a confirmation message).

Enable the "Required" toggle only on your most critical fields. Making every question required increases abandonment on mobile by around 20 percent.

Where do you get the webhook URL?

You will need Typeform's webhook URL for Step 4. Go to Connect > Webhooks inside your Typeform workspace. You will paste a URL here after you configure Make. Leave this tab open.

Step 4: Connect Typeform to HubSpot via Make

Make is the automation layer that translates Typeform responses into HubSpot property updates. This is where the system becomes live.

  1. In Make, create a new scenario.
  2. Add a Typeform trigger module. Select "Watch Responses" and connect your Typeform account.
  3. Choose your quiz from the dropdown. Make will fetch the field structure automatically.
  4. Add a HubSpot action module. Select "Create or Update a Contact".
  5. Map the Typeform response fields to your HubSpot custom properties. Use Make's field mapping interface to connect each answer to the correct zp_ property you created in Step 2.
  6. Add a separate Set Variable step to format the email frequency field. Typeform returns this as a label (e.g., "Once a week") but you may want to store it as a number (e.g., 1, 2, 4) for easier list logic in HubSpot. Use Make's built-in text parsing to convert this.
  7. At the end of the scenario, add a HubSpot action to set zp_quiz_completed_date to today's date using Make's now function.
  8. Save and activate the scenario. Return to Typeform and paste Make's generated webhook URL into the Webhooks section.

Pro tip: Run a test submission through your Typeform before activating for real traffic. Check the Make scenario history to confirm every field mapped correctly. Fix mapping errors now rather than after two weeks of polluted data.

Step 5: Build Your HubSpot Active Lists

Active lists in HubSpot update automatically as contacts match or leave your criteria. You will create one list per key segment.

Go to Contacts > Lists > Create List > Active List. Build filters using your zp_ properties. Example segments to start with:

  • Weekly Email Subscribers: zp_email_frequency equals "Once a week" AND zp_quiz_completed_date is known
  • SEO Interest: zp_topic_interest contains "SEO"
  • Growth-Stage Businesses: zp_primary_goal equals "Scale my marketing team"

Create a combined suppression list for contacts who have opted out or gone cold (no email open in 90 days). Exclude this list from all workflow enrolment criteria.

Step 6: Build Your First Two Personalised Email Workflows

With segments live, you can now build workflows that respond to what contacts actually told you.

Workflow 1: Frequency-matched welcome series

Enrol contacts when they join your "Weekly Email Subscribers" list. Send three emails over three weeks. Each email should deliver on the promise you made on the quiz thank-you screen. Use HubSpot personalisation tokens to pull in the topic they selected. For example: "You told us you are focused on [zp_topic_interest]. Here is what we recommend this week."

Workflow 2: Goal-based nurture sequence

Enrol contacts based on their zp_primary_goal answer. Build a four-email sequence over 14 days, each addressing a specific obstacle tied to that goal. This is where zero-party data earns its keep. A contact who said their goal is "reduce ad spend" should never receive an email about increasing their paid social budget.

If you are planning your editorial calendar around these segments, a structured content planning system helps significantly. Lenka Studio's free social media toolkit includes a content calendar template that maps well to segment-based content scheduling.

Step 7: Set Up a Monthly Data Refresh Process

Zero-party data goes stale. Someone who filled in your quiz eight months ago may have completely different priorities today.

Build a HubSpot workflow that triggers when zp_quiz_completed_date is more than 180 days ago. Send a single re-engagement email with a link back to an updated version of your Typeform quiz. Frame it as "We want to make sure we are still sending you the right content" rather than as a survey. Re-completion rates on these emails average around 22 to 28 percent when framed this way, based on HubSpot's 2025 engagement benchmarks.

If a contact does not complete the refresh within 30 days, add them to a low-frequency list and reduce send cadence. Do not suppress them entirely yet.

Frequently Asked Questions

Can I use this system with Mailchimp instead of HubSpot?

Yes. Mailchimp supports custom merge fields and audience segments that map to the same logic. The Make scenario works with Mailchimp's API. The main limitation is that Mailchimp's segmentation is less flexible than HubSpot's active lists, so you may need to manually refresh segments more often.

What if Typeform webhook responses are not arriving in Make?

Check that the webhook URL in Typeform matches exactly what Make generated, including the trailing path. Also confirm your Make scenario is set to "On" and not in draft mode. Typeform webhooks time out after 30 seconds, so if your Make scenario has long processing steps, add an immediate response module early in the flow.

How is zero-party data different from first-party data?

First-party data is collected from observed behaviour, such as page views, clicks, and purchase history. Zero-party data is information a person actively and intentionally shares with you. Zero-party data is more reliable for intent signals because it reflects what the person tells you directly, not what you infer from their actions.

Does this approach work for B2B companies?

Yes, and it often works better for B2B than B2C. B2B buyers expect relevant communication, and irrelevant outreach damages trust quickly. Mapping quiz responses to job role, company size, and buying stage gives your sales team context before the first conversation.

Will this system comply with GDPR, Australia's Privacy Act, and CASL?

The system collects data only from contacts who choose to complete the quiz, which satisfies the voluntary consent requirements in all three frameworks. Make sure your quiz includes a clear statement about how the data will be used, and link to your privacy policy. Do not pre-tick any consent boxes. Review the specific requirements of each regulation with your legal team before going live.

Next Steps

Start with Step 1 today. Write out the three decisions your marketing team makes most often, and work backwards to the five questions that would make those decisions easier. The quiz and automation take a few hours to build. The data advantage compounds over months.

If you want to assess whether your current marketing setup is positioned to get the most from data like this, the free brand health score from Lenka Studio gives you a clear picture of where the gaps are.

If you want help building this system or integrating it with a more complex marketing stack, the team at Lenka Studio works with SMBs across Australia, Singapore, Canada, and the US on exactly this kind of project. Get in touch and we can walk through what the right setup looks like for your business.