# Contact form

Source: <https://docs.ictsviluppo.example/dossier/sections/section-contact-form/>

Contact form lets customers write to you from your store. Each message reaches your store’s email address, with the customer’s address to reply to. You choose the fields: name, phone, order number, a dropdown of topics, a consent checkbox. It is used on the contact page template, below the [Page](https://docs.ictsviluppo.example/dossier/sections/main-page) section, and you can add it to any page.

## Find the messages from the contact form

Shopify sends every message by email to your store’s email address, the one set in the settings of your Shopify admin. When you reply, the reply goes to the email address the customer entered. See [Add a contact page](https://help.shopify.com/manual/online-store/themes/customizing-themes/add-contact-page) in the Shopify Help Center.

To use the form on your contact page, open the page in **Online Store > Pages** and choose the contact template in **Theme template**.

The **Heading** names the form for everyone, screen readers included. If you leave it empty, the form is headed “Write to us”, translated into your store’s languages.

## Choose the fields

Each field is a **Field** block. Add one per question and drag them into order. In the theme editor each block is named after its label.

- **Label** is what customers read above the field, and also the title of that answer in the email you receive. Give every field a different label: two fields with the same label overwrite each other.
- **Field type** sets the kind of answer: a single line, a longer message, a date, a phone number, a dropdown, single choice buttons or checkboxes. For **Dropdown**, **Single choice** and **Checkboxes**, list the choices in **Options**, separated by commas. **Checkboxes** with no options show one checkbox with the label next to it, useful for a consent.
- **Require this field** asks customers to fill it in before sending. The form writes “required” or “optional” next to each label, so nobody has to guess.
- **Help text** appears under the field, for example “You’ll find it in your order confirmation”.
- **Width** puts two **Half** fields side by side on larger screens; on phones every field takes the whole row.

## Keep one Email field

The form needs exactly one field of type **Email**: Shopify won’t send the message without it, and it’s the address you reply to. If it’s missing, the theme editor shows a notice under the fields. Don’t add a second one.

## Let browsers fill in the fields

**Autofill** tells browsers what a single line, phone or URL field asks for, so customers can fill it with one tap. When a customer is signed in to their account, the fields set to their name, email or phone start already filled in. Leave it on **None** when the field isn’t about the customer, for example “Store you called”.

## What customers see when they send

Fields are checked as customers go, with clear messages under each field. After sending, a confirmation appears in place, and screen readers announce it. Without JavaScript the form still works: the page reloads on the form with the confirmation or the error.

Shopify adds a spam check (hCaptcha) to contact forms. It comes from Shopify, not from the theme, and customers may occasionally be asked to complete a challenge before the message is sent.

## Show it only between two dates

Turn on **Schedule visibility** and set a start, an end, or both. See [Scheduling](https://docs.ictsviluppo.example/dossier/scheduling).

## Settings

| Setting | Type | Default | Options |
| - | - | - | - |
| Messages are sent to your store email address. [Learn more](https://help.shopify.com/manual/online-store/themes/customizing-themes/add-contact-page) | | | |
| **Heading** | Text | Write to us | — |
| **Layout** | | | |
| **Use full page width** | Checkbox | On | — |
| **Vertical spacing** | Drop-down | Regular | Compact, Regular, Spacious |
| **Color scheme** | Color scheme | scheme-1 | — |
| **Schedule** | | | |
| **Schedule visibility** | Checkbox | Off | — |
| **Start date and time** — Use the format YYYY-MM-DD HH:MM, in your store's time zone. Leave empty to show it right away. Shown when *Schedule visibility* is on | Text | — | — |
| **End date and time** — Use the format YYYY-MM-DD HH:MM, in your store's time zone. Leave empty to keep showing it. Shown when *Schedule visibility* is on | Text | — | — |

## Blocks

### Field

| Setting | Type | Default | Options |
| - | - | - | - |
| **Label** — Also used as the field title in the email you receive. Use a different label for each field, and only one Email field. | Text | Order number | — |
| **Field type** | Drop-down | Single line text | Single line text, Multi-line text, Email, Phone, URL, Number, Date, Time, Date and time, Month, Week, Color, Dropdown, Single choice, Checkboxes |
| **Options** — Separate options with a comma. Checkboxes without options show a single checkbox with the label next to it. Shown when *Field type* is *Dropdown* or *Field type* is *Single choice* or *Field type* is *Checkboxes* | Text | — | — |
| **Autofill** — Lets browsers fill in this field. Name and phone fields also start with the details of signed-in customers. Shown when *Field type* is *Single line text* or *Field type* is *Phone* or *Field type* is *URL* | Drop-down | None | None, Full name, First name, Last name, Company, Street address, City, Postal code, Country, Phone, Website |
| **Require this field** | Checkbox | Off | — |
| **Help text** | Text | — | — |
| **Width** — On mobile every field uses the full width. | Drop-down | Full | Half, Full |
