> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cliqo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom fields and typed fields

> The six field types, how a type is set — and why 'date' unlocks the birthday trigger.

Custom fields store what is specific to your business: date of birth, favorite store, size, plan. In Cliqo, every field has a **type** — and the type defines what segments and automations can do with it.

## The six types

| Type | Example | What it unlocks |
| - | - | - |
| **Text** | "blue", "downtown store" | in segments: equals, not equal to, contains, starts with, ends with, is filled, is empty |
| **Number** | 42, 1250 | the text ones + greater than, less than |
| **Date** | 15/03/1990 | the text ones + after, before — and the **Date / Birthday** automation trigger |
| **Date & time** | 15/03/2026 14:00 | same, with time |
| **Yes / No** | accepted, has the app | the text ones — compare against the value as it was stored ("sim", "true"…) |
| **List** | sizes: S, M, L | the text ones — use "contains" to find a value |

Without a declared type, every value is treated as **text** — and then a date of birth stored as `15/03/1990` gets no "after"/"before" in segments and doesn't show up in the **Date / Birthday** trigger, which only offers Date or Date & time fields. That's why the import runs automatic detection and asks for your review.

## How the type is set

* **On import**: when creating a new field from a column, Cliqo detects the type from the values and shows review notes — ambiguous dates (is 12/05 May 12 or December 5?), postal codes that would lose their leading zero if turned into numbers, yes/no columns with empty cells.
* **In forms**: every extra field you create is born with the type you chose — in the pop-up, Text, Number, Date or Yes/no; in the form inside the email, under **Save to › Create field**, Text, Number or Date.

## Rules that save you headaches

* **Dates** accept the Brazilian format (`15/03/1990`) and the international one (`1990-03-15`), with real calendar validation — 31/02 doesn't pass.
* **A value that doesn't match the type becomes text**, never discarded — you don't lose data because of one nonconforming cell.
* **On import, the field key is normalized** (lowercase, spaces become `_`; accents and symbols are **removed**): "Data de Nascimento" and "data\_de\_nascimento" are the same field. Prefer keys without accents — "aniversário" becomes `aniversrio`. The form inside the email's **Create field**, on the other hand, swaps an accented letter for the plain one: "País" becomes `pais`.
* **Different forms add up, they don't overwrite**: a pop-up that saves "size" doesn't erase the "birthday" another form saved on the same contact.

## Where the fields show up

* **Segments** — in the **Customer data** dimension, under "Your custom fields". "Greater than"/"less than" (or "after"/"before") only appear when the stored value is a number or a date in `yyyy-mm-dd` format.
* **Personalization** — in the editor, **Personalize › Your fields** menu: `{{aniversario|em breve}}`.
* **Contact profile** — in the panel that opens when you click a contact, **Custom fields** section.

## Related articles

* [How to import contacts](https://docs.cliqo.io/en/gestao-de-dados/importar-contatos.md)
* [How to create segments](https://docs.cliqo.io/en/gestao-de-dados/criar-segmentos.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.