Custom Fields
Custom fields let you store any information you want on your passes — points balance, membership tier, visit count, expiration date, or anything else that matters to your business.
What Are Custom Fields?
Custom fields are pieces of information attached to each pass. You define what fields exist, and each pass can have its own values.
Examples
| Field Name | Type | Example Value |
|---|---|---|
| Points | Number | 1,250 |
| Tier | Text | Gold |
| Visits | Number | 23 |
| Birthday | Date | May 15 |
| Favorite Store | Text | Downtown |
| VIP Status | Yes/No | Yes |
Field Types
Choose the right type for each piece of data:
Text
For words and labels.
Good for:
- Membership tier (Bronze, Silver, Gold)
- Favorite store location
- Customer preferences
- Notes and comments
Number
For quantities and amounts.
Good for:
- Points balance
- Visit count
- Total spent
- Items purchased
Date
For calendar dates.
Good for:
- Membership expiration
- Birthday
- Last visit
- Join date
Multiple Choice
For selecting from a list of options.
Good for:
- Communication preferences (Email, SMS, Both)
- Interests (Coffee, Tea, Pastries)
- Selected rewards
Creating Custom Fields
Step 1: Go to Data Model
In your workspace settings, find the Data Model section.
Step 2: Add a New Field
Click "Add Field" and configure:
| Setting | Description |
|---|---|
| Name | Internal identifier (no spaces, lowercase) |
| Label | Display name customers might see |
| Type | Text, Number, Date, or Multiple Choice |
| Default Value | Starting value for new passes |
Step 3: Save
Your field is now available across all passes in this workspace.
Example Field Setups
Loyalty Program
| Field | Type | Default | Purpose |
|---|---|---|---|
| points | Number | 0 | Track earned points |
| tier | Text | Bronze | Current membership level |
| lifetime_spent | Number | 0 | Total purchase amount |
| member_since | Date | (today) | When they joined |
Event Tickets
| Field | Type | Default | Purpose |
|---|---|---|---|
| ticket_type | Text | General | Admission level |
| seat | Text | — | Seat assignment |
| checked_in | Yes/No | No | Entry status |
| meal_preference | Text | — | Dietary requirements |
Gift Cards
| Field | Type | Default | Purpose |
|---|---|---|---|
| balance | Number | 0 | Remaining value |
| original_amount | Number | 0 | Starting value |
| purchaser_name | Text | — | Who bought it |
| recipient_name | Text | — | Who received it |
Using Custom Fields
On the Pass
Custom fields can display on the pass itself:
In Segments
Filter customers by field values:
- Points greater than 500
- Tier equals "Gold"
- Birthday is in March
- No purchase in 60 days
In Campaigns
Update fields automatically:
- Add 100 points
- Change tier to "Silver"
- Set expiration date
Updating Field Values
Field values change over time as customers interact:
Manual Updates
Edit individual passes through the dashboard:
- Find the customer's pass
- Click to edit
- Change field values
- Save
Campaign Updates
Update many passes at once:
- Create a campaign
- Target a segment
- Add a "field update" action
- Run the campaign
Automatic Updates
Set up rules that update fields based on activity:
- After 10 visits → Set tier to "Silver"
- After $500 spent → Set VIP to "Yes"
- On birthday → Add 50 bonus points
Displaying Fields on Passes
Control what shows on the pass:
Primary Fields
Most prominent, shown at a glance:
- Points balance
- Tier status
Secondary Fields
Supporting information:
- Member ID
- Expiration date
Back of Pass
Full details (tap to see):
- All custom fields
- Terms and conditions
- Contact information
Default Values
Set starting values for new passes:
| Field | Default | Why |
|---|---|---|
| Points | 0 | Everyone starts with no points |
| Tier | Bronze | Everyone starts at entry level |
| Visits | 0 | No visits yet |
| VIP | No | VIP is earned |
When you create a new pass, these values are automatically filled in.
Allowed Values
For text fields, you can restrict what values are allowed:
Tier Field:
- Allowed values: Bronze, Silver, Gold, Platinum
- Prevents typos like "Glod" or "golden"
Communication Preference:
- Allowed values: Email, SMS, Both, None
- Keeps data consistent
Best Practices
Planning Your Fields
- Start simple — You can always add more fields later
- Think ahead — What will you want to track?
- Be consistent — Use the same field names across templates
Naming Fields
| ❌ Unclear | ✅ Clear |
|---|---|
| field1 | points_balance |
| data | membership_tier |
| x | visit_count |
Choosing Types
| If the data is... | Use type... |
|---|---|
| A quantity (can add/subtract) | Number |
| A label or category | Text |
| A calendar date | Date |
| One of several options | Multiple Choice |
What Not to Track
- Sensitive data — Don't store passwords or full payment info
- Rarely used data — Only track what you'll actually use
- Duplicate data — Don't store the same info in multiple fields
Field Lifecycle
Adding New Fields
When you add a field:
- Existing passes get the default value
- New passes get the default value
- You can update old passes via campaign
Changing Fields
If you need to change a field:
- Changing the label — Safe, just updates the display name
- Changing the type — Risky, may cause issues with existing data
- Removing a field — Data stays on existing passes but isn't editable
Removing Fields
If you no longer need a field:
- Make sure no segments or campaigns use it
- Remove from pass display settings
- Delete the field definition
- Old data remains on existing passes (hidden)