What Are Custom Attributes?
Custom Attributes are the building blocks behind Dynamic Fields. If you've already read How to Use Dynamic Fields β, you know that Dynamic Fields let you display personalized information on each pass, such as a member name, points balance, reward value, or unique barcode. Custom Attributes are how you define and name those data points so they can be mapped to pass fields and populated with real values.
There are two types of Custom Attributes:
User Attributes - Tied to a user across all their passes (e.g., member name, tier, points balance, rewards)
Pass Attributes - Specific to a single pass or template (e.g., ticket number, order ID, event date)
How to Add a Custom Attribute in the Pass Editor
Open the Pass Editor for your pass template.
Click the lightning bolt β‘ icon on any field to open the Dynamic Fields dropdown.
Click "+ Custom Attribute" at the top of the dropdown.
Name your attribute and save it.
Once created, your new Custom Attribute will appear in the Dynamic Fields dropdown and can be applied to any field on the front or back of the pass, not just the one where you created it.
βοΈ Naming tip: For pass-specific attributes, use a prefix tied to the pass template name to avoid conflicts across templates. For example, use theBigShow_orderNumber instead of just orderNumber, so it doesn't get confused with an order number on a different pass.
π‘ Pro tip: Before building your pass, make a list of every piece of user-specific data you want to display. Create a Custom Attribute for each one upfront. This makes it much easier to map columns when bulk issuing via CSV, since the column headers will already match your attribute names.
Populating Custom Attributes at Scale
Once your Custom Attributes are defined, there are three ways to populate them with real user data:
1. π CSV Import
Best for issuing or updating passes for an existing list of users in bulk.
Go to the Pass Details page for your pass template and click the "Import" button above the User List.
Optionally, check the "Download issued passes after import" box if you want to automatically download a CSV of Pass Download Links once the import is complete.
βDrag and drop or click "Select file" to upload your file. Badge accepts
.csv,.xls, and.xlsxformats.Choose the header row and map your CSV columns to your Custom Attributes. If your column headers match your attribute names exactly, they'll be mapped automatically.
Review your mapping and click "Import."
After import, you can distribute Pass Download Links to your users via your email or SMS marketing platform of choice. If you didn't check the auto-download box at the start, you can always click "Export" on the Pass Details page to download all Pass Download Links at any time.
CSV format requirements: Your CSV must include a header row with at minimum:
idoremail(required, so Badge knows which user to update or create a pass for)Column headers for each Custom Attribute you want to populate
Example:
email, affiliateLink, birthDate [email protected], https://brand.com/john, 1987-07-04 [email protected], https://brand.com/sarah, 1990-02-14
Scoping attributes to a specific pass template: Custom Attributes are not scoped to a pass template by default. If you have similar attributes across multiple pass templates and want to keep them distinct, prefix your headers with p_ followed by the pass template name:
email, p_my_pass_affiliateLink, p_my_pass_birthDate [email protected], https://brand.com/john, 1987-07-04 [email protected], https://brand.com/sarah, 1990-02-14
π One pass per template per user: Badge allows only one pass per pass template to be issued to each user. For example, if a user is eligible for both a "VIP Member" pass and a "Rewards Card" pass, they can hold one of each, but cannot hold two "VIP Member" passes.
2. π Invite Link / Sign-Up Page
Best for acquiring new users who self-enroll.
Share your pass's Invite Link with users via email, SMS, QR code, or your website. When a user clicks the link and completes the sign-up form, a pass is automatically created and issued to them with their submitted information mapped to your Custom Attributes.
This approach is ideal when you want to collect new users without needing a pre-existing list.
3. π Badge API
Best for real-time, automated pass creation and updates.
Use the userPassUpsert endpoint to create or update passes programmatically. This is the recommended approach for integrations with a CRM, loyalty platform, e-commerce system, or any other data source where you want passes to stay in sync automatically.
With the API, you can:
Create a pass the moment a user signs up or makes a purchase
Update Custom Attributes in real time (changes reflect on the pass within ~5 seconds)
Combine a pass update with a push notification in a single call, for example, update a member's points balance and notify them of the change simultaneously
π For full API documentation, visit docs.trybadge.com.
π Key Takeaways
Custom Attributes are available across your entire workspace, not restricted to a single pass template. Use naming prefixes to keep things organized if you're managing multiple templates.
A Custom Attribute defined in one pass template is available to use in any other pass template in the same workspace.
User Attributes update across all passes for that user when the value changes. Pass Attributes only update the specific pass they're tied to.
There is no limit to the number of Custom Attributes you can create.


