Skip to main content

How to add custom fields to your contacts

Custom fields work like extra columns in your contact database that you define based on your needs.

Najwa Syeda avatar
Written by Najwa Syeda
Updated over 2 weeks ago

What are custom fields?

Custom fields allow you to store additional information about your contacts beyond the standard email and name fields. You can track any data relevant to your business, such as signup dates, subscription tiers, purchase history, preferences, birthdays, or company information.

Custom fields work like extra columns in the contact database, defined based on your needs.

When and why you'd use custom fields

Custom fields help you organize contact data and personalize your marketing. You'll use custom fields when you need to:

  • Personalize email content with specific contact information like company name, product purchased, or trial expiration date

  • Segment audiences based on attributes like subscription plan, location, lifetime value, or signup date

  • Track important dates such as birthdays, anniversaries, trial start dates, or last purchase date

  • Store business-specific data like account status, user ID, referral source, or product preferences

  • Collect information via forms that are unique to your business needs

  • Analyze contact attributes by exporting data with all custom field values included

For example, if you run a SaaS product, you might create custom fields like:

  • UpgradeToPaidDate (Date)

  • SubscriptionPlan (Text)

  • TrialDaysRemaining (Number)

  • IsActivePaidUser (Boolean)

These fields enable precise segmentation and personalized communications based on user behavior and status.

Available custom field types

SendX supports four data types for custom fields:

Text: Store any text information like names, descriptions, status labels, or categories

  • Example: CompanyName, SubscriptionPlan, ReferralSource

  • No character limits

Number: Store numeric values, including decimals, for tracking quantities, prices, or counts

  • Example: LifetimeValue, TotalPurchases, CreditsRemaining

  • Supports positive and negative numbers

  • Supports decimal values for currency or precise measurements

Date: Store dates for tracking important milestones, birthdays, or time-based triggers

  • Example: SignUpDate, TrialExpirationDate, BirthDay, LastPurchaseDate

  • Format: DD/MM/YYYY

  • Includes a calendar picker for easy date selection

  • Allows past and future dates

Boolean: Store yes/no, true/false values for binary attributes

  • Example: IsPaidUser, HasCompletedOnboarding, AcceptedTerms

  • Simple true/false toggle

How to create custom fields

There are three ways to create custom fields in SendX. All methods create global fields that become available across your entire account.

Method 1: Via Settings (recommended for planned fields)

Use this method when setting up your custom fields systematically before importing data or building forms.

  1. Click on your profile icon in the top navigation bar.

  2. Navigate to Settings from the dropdown.

  3. Click on Custom Fields & Events in the left sidebar.

  4. Click on the Custom Fields tab.

  5. Click the + Create Custom Field button in the top right.

  6. Fill in the custom field details:

    • Name: Enter the field name (e.g., SignUpDate, SubscriptionPlan)

    • Type: Select the data type (Text, Number, Date, or Boolean)

    • Description: Explain what this field is used for (optional but recommended for team clarity)

  7. Click Create.

Your new custom field is now available across SendX and will appear in:

  • Contact profiles

  • CSV import mapping

  • Form builders

  • Segmentation filters

  • Email personalization

  • Bulk actions

Note: Field names cannot be changed after creation, so choose clear, descriptive names. However, you can always delete a field and recreate it if needed.

Method 2: During CSV import (quick creation while importing)

Use this method when your CSV file contains columns you want to turn into custom fields.

  1. Navigate to Audience > Lists.

  2. Select a list or create a new one.

  3. Click Import Contacts or Add Contacts.

  4. Upload your CSV file and click Next to reach the Match Fields step.

  5. For each column header from your file, click the Choose Mapping dropdown.

  6. If the column doesn't match an existing field, type the name of a new custom field in the search box.

  7. Select Create Field - [YourFieldName] (Text/Number/Date/Boolean) from the dropdown.

  8. Choose the appropriate data type for the new field.

  9. Repeat for all columns you want to create as custom fields.

  10. Click Complete to finish the import.

All newly created custom fields are now available globally and will populate with data from your CSV for the imported contacts.

Important: Field names must match exactly (including capitalization) on future imports to map to the same custom field. For example, "SignUpDate" and "signupdate" would be treated as different fields.

Method 3: From contact profile (add to individual contact)

Use this method when you need to add a custom field value to a specific contact, and the field doesn't exist yet.

  1. Navigate to Audience > Contacts or Lists.

  2. Click on a contact to open their profile.

  3. Scroll to the Custom Fields section below the contact's name and email.

  4. Click the Add button next to "Custom Fields."

  5. In the dropdown, start typing the name of the custom field you want to add.

  6. If it doesn't exist, you'll see options to Create Field - [YourFieldName] (Text/Number/Date/Boolean).

  7. Select the appropriate data type.

  8. Enter the value for this contact.

  9. Click outside the field or press Enter to save.

This creates the custom field globally (not just for this one contact), making it available throughout SendX.

Note: This method is best for ad-hoc field creation. For systematic field setup, use Method 1 via Settings.

How to add values to custom fields

Once custom fields are created, you can populate them with data in several ways:

Manual entry on individual contacts

  1. Open any contact's profile from Audience > Contacts or Lists.

  2. Locate the Custom Fields section.

  3. Click the Add button if the field isn't already present for this contact.

  4. Select the custom field from the dropdown.

  5. Enter or select the value:

    • Text: Type the text value

    • Number: Enter numeric value (decimals allowed)

    • Date: Click to open calendar picker and select date

    • Boolean: Toggle true/false

  6. The value saves automatically.

Bulk import via CSV

  1. Navigate to Audience > Lists and select your target list.

  2. Click Import Contacts and upload your CSV file.

  3. On the Match Fields step, map your CSV columns to existing custom fields.

  4. If column names match custom field names exactly, SendX auto-maps them.

  5. Click Complete to import.

Important: If a contact already exists and you import new data, the custom field values will be updated with the latest information from the CSV.

Collect via forms

  1. When creating or editing a form (Forms > Create Form or edit existing).

  2. Add form fields and map them to your custom fields.

  3. Any custom field can be added to forms, including date fields (calendar picker appears) and boolean fields (checkbox).

  4. When users submit the form, their responses populate the custom fields automatically.

Update via API

Developers can create and update custom fields programmatically using the SendX API. See the SendX API documentation for technical details.

Update via bulk CSV import

To update custom field values for existing contacts:

  1. Export your contacts with current data

  2. Modify the custom field columns in the CSV

  3. Re-import the CSV to the same list

  4. Map columns correctly during import

  5. Existing contacts will have their custom field values updated

Note: Currently, you cannot update custom field values using bulk actions. Use CSV import for bulk updates.

Using custom fields in emails (personalization)

Custom fields can be dynamically inserted into email content to personalize messages for each recipient.

Personalization syntax:

{{fallback .CustomFieldName "default value"}}

Examples:

Hi {{fallback .FirstName "there"}},  Your subscription plan: {{fallback .SubscriptionPlan "Free Trial"}}  Your account was created on {{fallback .SignUpDate "recently"}}.  Thank you, The Team

How it works:

  • If the contact has a value for the custom field, it displays that value

  • If the field is empty for that contact, it displays the fallback text instead

  • The fallback ensures your email always looks complete, even for contacts missing that data

Custom field names in code: Use the exact custom field name as it appears in Settings, maintaining capitalization. For example, if your field is named "ThreatCheckStatus", use .ThreatCheckStatus in the merge tag.

Using custom fields in segments

Custom fields are powerful segmentation tools. You can filter contacts based on any custom field value.

Common segment examples:

Filter by date custom field:

  • Contacts where SignUpDate is within last 30 days

  • Contacts where BirthDay is within next 7 days (ignoring year)

  • Contacts where TrialExpirationDate is before today

Filter by number custom field:

  • Contacts where LifetimeValue is greater than 500

  • Contacts where TotalPurchases is equal to 0

  • Contacts where CreditsRemaining is less than 10

Filter by text custom field:

  • Contacts where SubscriptionPlan equals "Premium"

  • Contacts where CompanyName contains "Tech"

  • Contacts where ReferralSource is empty

Filter by boolean custom field:

  • Contacts where IsPaidUser is true

  • Contacts where HasCompletedOnboarding is false

To use custom fields in segments, select Custom Fields when adding a condition, then choose your field and set the appropriate operator and value.

Managing custom fields

Viewing all custom fields

  1. Navigate to Settings > Custom Fields & Events > Custom Fields tab.

  2. You'll see a list of all custom fields showing:

    • Name: The field name

    • Type: Data type (Text, Number, Date, Boolean)

    • Description: Purpose of the field (if added)

You can search custom fields using the search box if you have many fields.

Editing custom fields

You can modify custom fields after creation:

  1. Navigate to Settings > Custom Fields & Events > Custom Fields tab.

  2. Click on the custom field you want to edit.

  3. You can update:

    • Description: Change or add context about the field's purpose

    • Type: Change the data type (Warning: may affect existing data)

  4. Click Save to apply changes.

Important: Changing a field's data type will affect how existing data is stored and displayed. For example, changing from Text to Number will cause non-numeric values to become invalid.

Note: You cannot rename custom fields after creation. If you need a different name, create a new field and use bulk CSV import to transfer data, then delete the old field.

Deleting custom fields

Custom fields can be permanently deleted, but this action cannot be undone.

  1. Navigate to Settings > Custom Fields & Events > Custom Fields tab.

  2. Find the custom field you want to delete.

  3. Click the delete icon (trash can) next to the field.

  4. A confirmation warning appears: "Are you sure you want to delete [FieldName] custom field? It will be permanently removed. This action cannot be undone."

  5. Click Confirm to delete.

What happens when you delete a custom field:

  • Contact data: All data stored in that custom field for all contacts is permanently deleted

  • Segments using this field: Segments with conditions based on this field will show 0 contacts since the data no longer exists

  • Email personalization: Merge tags using this field will show only the fallback text

  • Forms: Forms collecting this field will break and need to be updated

  • Exports: Future CSV exports will not include this field

  • Recovery: Data cannot be recovered. You must contact SendX support immediately if deleted by mistake, but recovery is not guaranteed

Best practice: Before deleting a custom field, export your contacts to preserve the data externally, and review all segments, automations, and forms that might use this field.

Viewing custom fields on contacts

In contact profile

  1. Navigate to Audience > Contacts or open any list.

  2. Click on a contact to open their full profile.

  3. Scroll down to the Custom Fields section below their name and email.

  4. All custom fields with values for this contact are displayed here.

  5. Empty custom fields don't appear unless you click Add to add them.

In contact lists

Custom fields do not appear as columns in the main contact list view (Audience > Contacts or Lists). To see custom fields across multiple contacts:

Option 1: Open contacts individually

  • Click each contact to view their custom field values in their profile

Option 2: Create a segment and export

  • Create a segment with your target contacts

  • Export the segment to CSV

  • Open the CSV to see all custom field columns for all contacts

Option 3: Export the entire list

  • Export any list or your full contact database

  • All custom fields are included as columns in the CSV

Important things to know about custom fields

Custom fields are global across your account

When you create a custom field using any method (Settings, CSV import, or contact profile), it becomes available everywhere in SendX. You can use it for all contacts, in any list, segment, form, or campaign.

Empty custom fields don't appear in contact profiles

If a contact doesn't have data in a custom field, that field won't display in their profile unless you manually add it. This keeps profiles clean and focused on available data.

Custom fields update with latest data

When importing CSV files, if a contact already exists in your database, their custom field values will be overwritten with the new data from the CSV. This ensures you always have the most current information.

Validation happens during import

If you try to import invalid data into a custom field, the import will skip that value:

  • Number fields: Text data is rejected

  • Date fields: Non-date formats are rejected (must be valid date in DD/MM/YYYY or similar format)

  • Boolean fields: Only true/false values accepted

Invalid data is skipped without failing the entire import.

Date fields include calendar picker

When manually entering date values (in contact profiles or forms), a calendar picker appears for easy date selection. This prevents format errors and improves user experience.

No limits on custom fields

There are no restrictions on:

  • Total number of custom fields you can create

  • Number of custom fields per contact

  • Data storage within custom fields

  • Any plan-based limitations

All SendX plans have unlimited custom field capability.

Custom fields can trigger automations

You can set up workflow automations triggered when custom field values change or meet certain conditions. For example:

  • When TrialExpirationDate is 3 days away, send reminder email

  • When SubscriptionPlan changes to "Premium", add to VIP list

(Note: "When custom field value changes" as a direct trigger is currently not available, but you can achieve this through segments and automation rules based on segment entry.)

Export includes all custom fields automatically

When you export contacts from lists or segments, the CSV file includes all custom fields as columns, even if many contacts have empty values for those fields. This ensures complete data backup.

Common questions and troubleshooting

Can I rename a custom field after creating it?

No, custom field names cannot be changed after creation. If you need a different name:

  1. Create a new custom field with the correct name

  2. Export all contacts to CSV

  3. Copy/paste data from the old field column to the new field column

  4. Re-import the CSV, mapping to both fields

  5. Delete the old custom field

I created a custom field but don't see it on my contact profiles. Why?

Custom fields only display on contact profiles when they have values. Empty custom fields are hidden to keep profiles clean. To add a value:

  1. Open the contact profile

  2. Click Add in the Custom Fields section

  3. Select the custom field from the dropdown

  4. Enter the value

My CSV import didn't populate the custom field. What went wrong?

Common causes:

  • Column names don't match exactly: Field names are case-sensitive. "SignUpDate" ≠ "signupdate"

  • Data type mismatch: You're importing text into a number field, or invalid dates into a date field

  • Mapping not set correctly: Verify you mapped the CSV column to the correct custom field during import

Double-check your mapping on the Match Fields step and ensure column headers exactly match custom field names.

Can I have multiple contacts with the same custom field value?

Yes, absolutely. Custom fields can have duplicate values across contacts. For example, multiple contacts can have SubscriptionPlan = "Premium" or CompanyName = "Acme Corp."

Custom fields are not unique identifiers—only email addresses must be unique per contact.

How do I filter for contacts with empty custom fields?

When creating a segment:

  1. Add condition: Custom Fields

  2. Select your custom field

  3. Choose operator: Is empty

  4. Save the segment

This finds all contacts where that custom field has no value.

What's the difference between creating a custom field in Settings vs during import?

There's no functional difference. Both methods create the same global custom field. However:

Settings method: Better for planning and documentation

  • Add descriptions explaining the field's purpose

  • Set up fields before importing data

  • More organized approach

CSV import method: Faster for one-time needs

  • Create fields on-the-fly while importing

  • No description field (can add later)

  • Good for quick imports without pre-planning

Can I bulk update custom field values for multiple contacts?

Yes, via CSV import:

  1. Export the contacts you want to update

  2. Modify the custom field values in the CSV

  3. Re-import the CSV to the same list

  4. Contacts will have updated custom field values

Currently, bulk actions cannot update custom field values directly. Use CSV import for bulk updates.

I deleted a custom field by mistake. Can I recover the data?

No, deleting a custom field permanently removes all data. However:

  • If you have a recent contact export (CSV), the custom field data is preserved there

  • Contact SendX support immediately—they may be able to assist with recovery in very recent deletions

  • Always export contacts before deleting custom fields as a precaution

Why does my date custom field show in a different format than I entered?

SendX standardizes date formats for consistency. Regardless of how you enter dates (via CSV or manual entry), they're stored and displayed in a consistent format (DD/MM/YYYY by default).

When using dates in email personalization or exports, they'll appear in this standardized format.

Can I use custom fields in email subject lines?

Yes, you can use custom field merge tags in subject lines just like in email body content:

{{fallback .FirstName "Valued Customer"}}, your {{fallback .SubscriptionPlan "trial"}} is expiring soon

Do custom fields slow down my account or campaigns?

No. Custom fields don't impact account performance or campaign send speed, regardless of how many you create or how much data you store. SendX handles custom fields efficiently as part of your contact database.

Can I hide certain custom fields from team members?

No, all custom fields are visible to all users with access to your SendX account. Custom fields are global and cannot be restricted by user role or permissions.

How do I see all contacts who have a specific custom field value?

Create a segment:

  1. Go to Audience > Segments > Create Segment

  2. Add condition: Custom Fields

  3. Select the custom field

  4. Choose operator: Equals (or Contains, for text fields)

  5. Enter the value you're looking for

  6. Save the segment

Now you can view, export, or send campaigns to all contacts matching that criteria.

Tips for using custom fields effectively

Use clear, consistent naming conventions

  • Use PascalCase or snake_case: "SignUpDate" or "signup_date"

  • Be descriptive: "TrialExpirationDate" instead of "TEDate"

  • Avoid abbreviations that team members might not understand

  • Keep names under 30 characters for readability

Add descriptions when creating fields in Settings

  • Explain what the field tracks and why

  • Note the expected format or values (e.g., "DD/MM/YYYY" or "Premium/Basic/Trial")

  • Helps team members understand field purpose

Plan your custom fields before bulk importing

  • Create all custom fields in Settings first with proper names and types

  • Then import your CSV with matching column headers

  • Prevents mismatched fields and cleanup work later

Use date fields for any time-based data

  • Enables powerful segmentation: "X days ago," "within next Y days"

  • Calendar pickers prevent format errors

  • Essential for birthday campaigns, trial expiration, anniversary emails

Don't create redundant fields

  • Before creating a custom field, check if one already exists that could work

  • Review your custom field list regularly and consolidate where possible

Export contacts before deleting custom fields

  • Always create a backup CSV before removing custom fields

  • Preserves data if you change your mind or need to restore it

Document your custom field strategy

  • Keep a spreadsheet listing all custom fields, their purpose, and how they're used

  • Especially important for teams with multiple users

  • Helps maintain consistency as your database grows

Use boolean fields for yes/no attributes

  • Cleaner than text fields with "Yes"/"No" values

  • Easier to filter in segments

  • Better for tracking binary states like "IsPaidUser" or "CompletedOnboarding"

Test custom fields with a few contacts first

  • Before bulk importing 10,000 contacts with new custom fields, test with 10

  • Verify data displays correctly in profiles, segments, and email personalization

  • Catch issues early before they affect your entire database

Did this answer your question?