> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: November 3, 2026
> To take actions in Customer.io from an agent, use the [Customer.io CLI](https://docs.customer.io/ai/cli/get-started.md) or the [MCP server](https://docs.customer.io/ai/mcp/get-started.md).

# Sign-up form formats: how to deploy your form

The format you set for a sign-up form determines how you distribute your form—whether you make your form available in your app, embedded it in a web page, or you link people to a page that Customer.io hosts for you.

## How formats work

When you set up a sign-up form, you can choose from three different formats, determining how you deploy your form: **In-App**, **Embedded**, and **Hosted**. You can use multiple formats for the same form.

Format

How people see your form

What you need

**In-App**

Your website or app, through the Customer.io SDK

A Customer.io mobile or JavaScript SDK with [in-app messaging](https://docs.customer.io/messaging/channels/in-app/getting-started/) set up

**Embedded**

Inline on any web page where you add the embed script

Access to edit the page, or a tag manager like Google Tag Manager

**Hosted**

A full page that Customer.io hosts on `form.customer.io`

Nothing. Customer.io gives you a link to share

All formats share the same fields, and each format can have its own styles. Customer.io reports metrics for each format separately, so you can compare how your different formats perform.

## Which format should I choose?

Every format collects the same information, and a submission from any format creates or updates a person in the same way. So the right format depends on how you want to reach people, and how much control you have over your website or app.

You can also use more than one format. For example, you might show the form in your app with **In-App**, and share a **Hosted** link in your newsletter.

*   **In-App** is a good fit if you already use the Customer.io SDK for in-app messages. You don’t have to change any code to show the form, and you choose the pages where it appears in your form’s settings.
*   **Embedded** is a good fit if you want the form to sit inside one of your web pages, but your site doesn’t use the Customer.io SDK. You paste one script tag on the page, or add it through a tag manager.
*   **Hosted** is a good fit if you don’t have a page to put the form on, or you want to share it somewhere outside your website, like in an email, a social media post, or a QR code.

## In-app format

The **In-App** format works like other [in-app messages](https://docs.customer.io/messaging/channels/in-app/getting-started/). If you already use in-app messaging in your app, you don’t have to make any changes to your app or website to show a form.

When you launch your form, the Customer.io SDK shows it on your website or app. You can choose the pages where you want it to appear in the [**Settings** step](https://docs.customer.io/messaging/send/sign-up-forms/create/#where-your-form-appears) when you set up your form.

## Embedded format

The **Embedded** format provides a script tag on your page. Your form appears wherever you paste the tag. You don’t need the Customer.io SDK on that page, because the script loads everything the form needs on its own.

Note that this script only shows a form and captures submissions. It doesn’t track user activity on your site, so you won’t be able to track their behavior outside the form using the embedded sign-up form.

1.  After you schedule or launch your form, go to the form’s **Responses** tab and find the **Share this form** card.

2.  Click **Copy embed snippet**. The snippet is a single script tag:

    ```
    <script src="https://form.customer.io/..."></script>
    ```

3.  Paste the snippet where you want the form to appear on your page. If you paste it in the page’s `<head>`, the form appears at the end of the page’s `<body>` instead.

You can also add the snippet through a tag manager, like Google Tag Manager, if you can’t edit your site’s code directly.

## Hosted format

The **Hosted** format shows your form on a full page that Customer.io hosts for you. It works well when you don’t have a page to embed the form on, like a link in an email, a social media post, or a QR code.

After you schedule or launch your form, go to the form’s **Responses** tab and click **Copy link** in the **Share this form** card. You can then use the link in an email, a social media post, or a QR code.

## Add or remove formats

You can add or remove formats at any time, except while your form is starting, stopping, or being deleted. In the editor, click **Add format** to add one, or click the **×** on a format’s tab to remove it. If your form is scheduled or live, Customer.io asks you to confirm the change first, because it affects a live form.
