Sign-up forms overview

Build a form that collects email addresses or phone numbers from visitors to your website or app, and helps you identify people who are interested in your products or services.

We're rolling this feature out over the next few days.

We’re turning on sign-up forms for more accounts each day through November 6, 2026. If you don’t see Sign-up forms under Send messages yet, you should see it soon.

How it works

A sign-up form gives people a way to sign up for your newsletter, join your community, or get access to your product. It works like a sign-up form on any website, but instead of collecting entries in a spreadsheet, each submission adds a person to your Customer.io workspace, so you can start messaging them right away.

You build your form with the fields you want to collect. Every form needs a field for an email address or a phone number, and you can add other fields, like a name, a question with a few choices, or a checkbox that asks for consent to receive your email. You map each field to an attribute so Customer.io knows where to store the answer.

When someone submits your form, Customer.io:

  1. Looks for a person with the same email address or phone number, and creates a new person if there isn’t one.
  2. Stores the person’s answers as attributes on their profile, and updates their subscription preferences if your form asks for consent.
  3. Records a form_submit event for the person.

From there, you can use the form_submit event to trigger an automation, like a welcome series, and add the people who submit your form to segments. Your form’s Responses and Insights tabs show who submitted it and how well it performs. See Sign-up form submissions to learn more.

flowchart LR a(Visitor fills out<br>your form)-->b{Submits} b-->c(Person created<br>or updated) b-->d(form_submit event) d-->e(Trigger an automation)

How people become identified on your site

Submitting your form gives you a contact that you can message right away, but it doesn’t identify the person in their browser or in your app. They keep browsing your website or app as an anonymous visitor until they take the next step, like clicking a link in an email you send them or signing into your app. This way, you can start messaging new contacts while their activity on your site stays anonymous until they choose to engage with you.

flowchart LR a(Visitor submits<br>your form)-->b(Customer.io creates<br>their profile) b-->c(Your automation sends<br>a welcome email) c-->d{Person clicks a link<br>or signs in} d-->e(Your site identifies them) e-->f(Customer.io connects<br>their activity to their profile)

To set this up, see Identify people after they submit your form.

Ways to show your form

You can show the same form to people in one or more ways, called formats:

  • In-App: show the form on your website or in your app through the Customer.io SDK, like an in-app message.
  • Embedded: paste a script tag on any web page, including pages that don’t have the Customer.io SDK installed, and show your form there.
  • Hosted: share a link to a page that Customer.io hosts for you, like in an email or on social media.

Every format collects the same fields and handles submissions the same way. The formats you pick depend on how you want to reach people, and on how your website or app is set up with Customer.io. See Choose a format for help deciding.

Sign-up forms or in-app forms?

Sign-up forms are a good, self-contained way to identify new users or customers. You can also use them to determine who’s interested in specific events, products, or services.

In-app forms are useful for collecting feedback from people you already know (or users who want to remain anonymous). They’re typically part of an automation or a larger engagement strategy; when you want to collect new contacts, sign-up forms are a better starting point.

Sign-up formsIn-app forms
PurposeCapture new contactsCollect feedback and survey responses
Where it appearsYour app, any web page, or a hosted pageInside an in-app message
Email or phone numberRequiredNot collected unless you add a field
On submitCreates or updates a profileRecords a response on the person, or holds it anonymously for 30 days
PlansAll plansAnonymous forms need a Premium or Enterprise plan

If you already use the Lead Form component in an anonymous message, a sign-up form does the same job, but it may be more convenient to use a sign-up form instead. Sign-up forms are more flexible and let you show the form outside of your app and report the different pages or locations where the form is shown.

Before you begin

You need two things before you can launch a sign-up form. Customer.io uses them to load the form on your pages and to track views, clicks, and closes:

  • An enabled JavaScript source in Pipelines. Customer.io includes this source’s write key in the published form, so use a source that you’re comfortable exposing on public web pages.
  • A tracking API credential for your workspace. This credential provides your form’s site ID.

You need both to launch any sign-up form, even one that only has the In-App format. If you have more than one of either, you can choose which ones each form uses when you create your form. If your workspace doesn’t have a JavaScript source yet, you can create one from your form’s Settings step.

Updated November 3, 2026