> For the complete documentation index, see [llms.txt](https://eventx-hq.gitbook.io/knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eventx-hq.gitbook.io/knowledge-base/registration-and-ticketing/registration-form/registration-form-setup.md).

# Registration Form Setup

**Objective:** Create, configure, and manage multiple registration forms for different attendee types in EventX Registration Form Product.

***

## 1. Create a Registration Form

1. Go to **Registration Form** > Click **Create New Form** in the top-right corner.

   ![](/files/gOCO7bBX0HL0xsCh8xP6)
2. Enter a **form name** to identify the form (e.g., "Attendee", "Sponsor", "Speaker").

   ![](/files/KUXa16b3XAfL8Feny8to)
3. Add custom fields:

   * Click **Manage Fields** > **Add New Field**.
   * Toggle **Required** to make a field mandatory. A red asterisk appears on required fields.

   ![](/files/esjQUy4WjLtKz8sOGVsp)

   ![](/files/I0G1fxqBS1r6KLnrVft1)
4. Rearrange fields by dragging and dropping them.

   ![](/files/3U1O0kIiGN86NzfeqdXR)
5. Click **Create** to save the form. Repeat to create additional forms for different attendee types.

   ![](/files/P5JZr8jWjOrkrYYu86Z9)

***

## 2. Bulk Add Custom Field Options

For **Single Choice**, **Multiple Choice**, and **Dropdown** question types, add options in bulk instead of one-by-one.

1. Click **Bulk Add**.

   ![](/files/1DtUP8Ol7lpgKKYfZF1F)
2. Enter the first 2 options in the provided fields, then enter the remaining options in the text area — one option per line.

   ![](/files/HO5zB6g8B0GztoipAGrf)
3. Click **Confirm** > **Save**.

***

## 3. File Upload Fields

When adding a **File Upload** field:

![](/files/oFqfcOkSwYarFeJNeQ9M)

* **Maximum file size:** 20 MB
* **Accepted file types:** .jpg, .png, .pdf, .doc, .docx, .xls, .xlsx, .csv, .txt
* **Maximum files:** 10

***

## 4. Configure Event Description Per Form

Set a form-specific event description to display tailored information to different attendee groups during registration.

**Common use cases:**

* Provide exclusive information or agenda details for **VIP attendees**.

  ![](/files/urhFZiA0bunBYKHOIYgj) ![](/files/DAFrScJcw6KT6BmjJuZT)
* Show different messaging for **partners, speakers, or general participants**.

  ![](/files/mzt7SwJ07KHvtoccxAeU) ![](/files/3O6jrVzSx1WyRQrwyzqh)

> **Note:** Event descriptions are **form-specific**. Each registration form can have its own description.

***

## 5. Enable Check-in QR Code Display

1. Toggle on **Show Check-in QR Code Upon Registration Completion** in the form editor.

   ![](/files/GaY6PjpybjwaFtYQx1E3)
2. The attendee sees the QR code on the landing page after successful registration.

   **Desktop view:**

   ![](/files/C6UWyzniugNRwEjZNcE9)

   **Mobile view:**

   ![](/files/WoS1s8gRAvRBEUMFl2Gy)

***

## 6. Set Up Logical Questions (Conditional Fields)

Create dynamic forms where fields show or hide based on previous answers.

### Step 1: Add all needed fields to the form

![1.gif](/files/J6gAmWot1uh0iM4dqoI1)

### Step 2: Configure conditions

![2.gif](/files/jGbgyzx2fHBStdyVj9bf)

![3.gif](/files/xduY0Y9LjnCXfitClS70)

### Condition Rules

* **Condition Setting** is greyed out if no custom fields exist or no eligible fields are enabled.
* Only **choice-type fields** (Single Choice, Multiple Choice, Dropdown) can be used as the `if` statement.
* **Open-ended fields** (Short Text, Long Text, Consent Text) cannot be used as the `if` statement.
* All field types can be used in the `then show` setting.
* A field added to `then show` is **hidden by default** and only appears when the matching option is selected.
* **Hidden mandatory fields do not block registration.**

  **Example:**

  * Q: "What do you want to eat for lunch?" → Options: "Meat", "Vegetable"
  * **If** "What do you want to eat for lunch?" **equals** "Meat", **then show** "What meat do you want?" (mandatory)
  * If the attendee selects "Vegetable", the "What meat do you want?" field remains hidden and does not block registration.
* The same field can appear in multiple conditions.

***

## 7. Assign Tickets to a Registration Form

Assign different tickets to different forms so specific ticket types are available to specific registrants.

> **Remarks:**
>
> * Applies only to events created after 29/2/2024.
> * At least one ticket must be assigned to publish a form.
> * To share a form without tickets: first assign a ticket, publish the form, then remove the ticket before sharing the link.

### Steps

1. Click the **edit icon** on the registration form.

   ![](/files/MPT7XHdvztqEslT94SKf)
2. Click **Available Ticket** > Select **Tickets** > Toggle ON the tickets needed > Click **Close**.

   ![](/files/qHzJpAgLsZwXZj5yO8iZ)

   ![](/files/xAyiJJvN2Xu8kMEovwRS)
3. Click **Save**.

   ![](/files/EDh5XifMc2oix3Xkkfla)
4. **Publish** the form.

   ![](/files/H6RQYEhafzEIb7CufkcZ)
5. Select the form shown on the landing page via the **dropdown menu**.

   ![](/files/VMRu9KCva4JJVvz6yv9E)
6. Click the **share icon** to copy the registration form link.

   ![](/files/v5ZhZpV8cTDvTFQnbCQV)

### Rearrange Ticket Order

1. Click the **edit icon** on the form.

   ![](/files/MPT7XHdvztqEslT94SKf)
2. Under **Available Ticket**, drag the highlighted icons to reorder tickets.

   ![](/files/ctolbe7FA9cBL71MPHsu)

***

## 8. Pre-apply Promo Code to a Form Link

1. Click the **dropdown menu** next to the form link and select a promo code.

   ![](/files/KiMOGtm5zPrSLcV0927e)

   ![](/files/kt4i8SLG3ss2YhIiPiHR)
2. Copy the link.

> **Note:** The promo code is pre-applied only for this specific link. Only attendees who receive this link can see the pre-applied code.

### Auto-Popup Form

Toggle on the popup toggle and copy the link. The registration form opens automatically when an attendee clicks the shared link.

![](/files/xaRp9WsPVChDbbWWEDBl)

***

## 9. Set Ticket Purchase Limits Per Order

1. Go to **Registration Form** > **Available Ticket**.
2. Set the **minimum** and **maximum** ticket purchase amounts per order.

   ![](/files/dmHB3b6OkJfYrE2XaEmO)
3. If an attendee exceeds the maximum limit, an error message appears.

   ![](/files/s4visGTJoC1k2Tj9KHgP)

***

## 10. Track UTM Parameters

Append UTM parameters to the registration form URL to track traffic sources.

**Supported parameters:** `utm_source`, `utm_medium`, `utm_campaign`

**Example:**

```
https://demo.event.day/events/d9ea3137-0e36-4a25-935f-57a53ca6b31c?l?utm_source=new_lead&utm_campaign=Ad-01&utm_medium=email
```

See Embedding UTM Codes on Registration Form for detailed instructions.

For more info, please refer to this article: [link](/knowledge-base/registration-and-ticketing/registration-form/embedding-utm-codes-to-registration-form.md)

***

## 11. Embed Registration Form as a Widget

1. Go to **Registration Form** > Click the **Embedded Widget** icon.
2. Copy the HTML code.

   ![](/files/WiEUKkD46mGwkiae8ELV)

   ![](/files/APBFPCQGM25DR1UIxLwJ)
3. Adjust the widget size by modifying the `width` and `height` attributes in the `<iframe>` code:

   ```html
   <iframe width="900" height="500" src="https://spot.eventx.io/events/.../widgets/registration?regForm=..."></iframe>
   ```

### Widget Limitations

* Colour and layout cannot be customized.
* The registration flow order cannot be changed (Select Ticket > Fill Form > Review Payment).
* The widget language defaults to the event's language setting.
* Mobile version is available.
* Works best with registration form and/or ticketing enabled.

### Supported Language Codes

| Code    | Language            |
| ------- | ------------------- |
| `en`    | English             |
| `zh-HK` | Traditional Chinese |
| `zh-CN` | Simplified Chinese  |
| `ko`    | Korean              |
| `ja`    | Japanese            |
| `vi`    | Vietnamese          |
| `es`    | Spanish             |
| `th`    | Thai                |
| `pt`    | Portuguese          |

**Example — Traditional Chinese:**

```html
<iframe width="900" height="500" src="https://spot.eventx.io/events/.../widgets/registration?regForm=...&lng=zh-HK"></iframe>
```

***

## 12. Unpublish a Registration Form

1. Toggle **off** the publish toggle.

   ![](/files/MIPIZYvrSwbFyxo4R0sn)
2. Once unpublished:
   * On the portal page: The form is marked as **Unpublished**.

     ![](/files/0rzMioSVAryH8khffxXD)
   * On the event landing page: A "Registration is closed" message appears.

     ![](/files/uiKm5Ad4Jc1bmmdOhsLv)

> **Note:** RSVP attendees and special roles (host, speaker, booth exhibitor/representative) can still register even if the form is unpublished.

***

## 13. Review Responses Before Submitting

Attendees can review all their responses — including custom fields and logical questions — before submitting the registration form.

![](/files/Wnfr7NWFrZfwW9waVvCy)

***

## Related Articles

* [Separate First Name and Last Name in Registration Form](https://github.com/eventx-project/eventx-gitbook/tree/main/registration-and-ticketing/registration-form/registration-form-separate-first-name-and-last-name.md)
* Embedding UTM Codes on Registration Form
