Understanding attributes
Attributes define the customer facts a campaign can use: email address, plan tier, renewal date or company relationship. Each belongs to a schema. Choose fields for the decisions you need to make, with clear names, types and descriptions.
Add a field
Open Settings, then Schemas, pick the schema, then the Attributes tab, then Create attribute. Four things to fill in:
- Type. What kind of value this holds. See the list below.
- Name. The label you will see everywhere in the app. "Plan tier".
- Key. How the field is addressed in imports, the API, and personalization. Suggested from the name, and permanent once saved.
- Description. Optional, and worth writing anyway: maxinja reads it when it builds segments and computed fields.
The Attributes tab lists your system fields first (marked System, not editable) and your own fields underneath.
Pick the type that describes the value
Choosing the most specific type is how you keep data clean, because maxclicks validates every incoming value against it. A field typed as Email rejects "not an address" before it ever reaches a record.
| Type | Holds |
|---|---|
| Text | Any text. Can be multi-line, or restricted to a set of options shown as a dropdown or radio buttons. |
| An email address, checked and normalized. | |
| Phone | A phone number, checked and normalized. |
| URL | A link, marked as a web page, a file, or an image, with an option to show a preview. |
| Number | Optionally integer only, with a minimum, a maximum, or shown as a percentage. |
| Decimal | Precise numbers with an optional currency. Use this for money. |
| Checkbox | True or false. |
| Timestamp | A date and a time. |
| Date | A calendar date, no time. |
| Time | A time of day, no date. |
| Multi-select | A list of values, optionally from fixed options, shown as checkboxes or a dropdown. |
| Address | A postal address. |
| Geolocation | A coordinate pair. |
| JSON | A structure you describe yourself, for anything the other types do not cover. |
| Evaluated on demand | Not stored. maxclicks works the value out on demand. Covered below. |
Decide what happens when the value is missing
The form asks When a record is created without a value. Choose one policy:
- Leave it empty for an optional fact you may not know.
- Use a default value for a genuine fixed fallback.
- Require it when a missing value should reject the new record.
- AI autofill to Infer from the record or Follow a prompt.
The policy applies to creation, not an existing record's updates. It does not backfill older records, regenerate an omitted field on an update, or overwrite a value you supply. An explicit empty value still has to satisfy the field's allowed emptiness.
For example, a fixed sourceCampaign default can label new newsletter signups. Reimporting an existing subscriber with that column blank will not apply the default again. AI autofill is paid work for each new record and missing AI field that needs it; test it on a small sample before a large import.
Fields maxclicks works out for you
Pick Evaluated on demand as the type and the form changes: instead of configuring a value, you write a prompt describing what the field should compute.
The total this customer has spent on completed purchases in the last 30 days.
Type @ in the prompt to reference this record's own fields. maxinja writes the logic, decides whether the answer is a value or a set of related records, and shows you a plain-language description of what it built. Read that description before you save: it is the part you are responsible for checking, and you can refine the prompt until it says what you meant.
The evaluated value is not stored. maxclicks computes it when requested, using the source records currently available to the workspace. Generating the definition spends credits once; working the value out afterwards is a database query, not an AI call.
Connecting records covers what these fields can reach and how to use them.
For a rolling measurement of event history, use Settings → Events → Computed attributes. Choose a destination contact or object schema, describe a count, sum or latest value over one source, and review the generated window and cadence. The default proposal uses 30 days and hourly updates. A preview does not publish the value; wait for Published value and check Data through.
No matching event history yields an empty value rather than zero. That matters for an audience such as “customers with no observed purchases.” See computed attributes for source links, supported windows and publication states.
What you can change afterwards
Open an existing attribute and you will find Name and Description editable, and Type and Key locked.
That lock is the point. Everything that reads your data (segments, email personalization, workflow conditions) refers to the key and expects the type. If you got the key wrong, create the field again under the right key while the old one is still empty.
Before you delete a field
maxclicks refuses to delete an attribute that is still in use, and tells you which kind of thing is using it: another computed field, a segment, a broadcast, a workflow step, a webhook, an email template, or a form. Clear those uses first.
Deleting a field that nothing depends on still means the values in it are gone from every record.
Next
See how base and custom fields come together in one record in understanding records, or open the attributes reference for every type and its settings.