Distribute personalized passes at scale. Pass Creation Links let you embed pass delivery directly into your existing email, SMS, or CRM campaigns.
Each click on a Pass Creation Link creates a unique pass for that user and delivers it instantly to their wallet.
🔗 How Pass Creation Links Work
When a user clicks a Pass Creation Link:
Badge reads the attributes in the URL
A unique pass is created for that user
The user is taken directly to their pass download page
The link itself is a URL template. Before you distribute it, you fill in the user and pass attributes for each recipient. Typically you can use your email platform's merge tag or personalization feature.
💡Tip: Consider routing your links through your email or SMS platform's link tracking. This gives you click analytics alongside your other campaign data, and as a bonus, it hides the raw URL parameters from recipients.
✏️ Creating a Link
Go to your pass template and open Pass Creation Links
Click + Create Link
Fill in the fields (shown in the table below)
Click Create Link
Copy the URL from the confirmation dialog
Field | What it does |
Name | A label to identify this link. Not visible to users. |
Accepts Updates | If the user already has a pass, update it instead of creating a new one. |
Link Expiration | Set a date and time after which the link stops working. |
Restrict Attributes | Limit which attributes can be set via this link. See below. |
Primary Location | Accepts a location coordinate to personalize the pass for the user's region. Pass decimal coordinates separated by a comma, e.g. |
Once you have made a link, you will see the URL Template that you can use as a base for your distributed links. (need to update image - pending small fix)
📋 Filling In the URL
The link Badge generates is a template. It contains placeholders for userId, passId, and any pass or user attributes you have chosen to set.
Example:
https://api.trybadge.com/l/<uniqueLinkId>?userId={userId}&passId={passId}&pass.points={value}&user.email={value}&location={latitude,longitude}⚠️ userId and passId are required. Every link must include both. Without them, Badge cannot create or match a pass to the right user. These should be your stable internal identifiers for each customer.
Before sending, replace each {value} placeholder with real data for each recipient. For example, user.firstName=Fred. Most email and SMS platforms handle this automatically using merge tags or personalization fields.
If you're using the location field, pass decimal coordinates separated by a comma: location=40.7580,-73.9855.
💡Tip: You can pass any custom user.* or pass.* attribute your template supports. For example, pass.points, pass.tier, or user.memberSince. This lets you pre-populate the pass with live data at the moment of creation.
📤 Distributing Your Link
Pass Creation Links work anywhere you can include a URL. Consider routing your links through your email or SMS platform's link tracking, which will provide your click analytics and hide the raw URL parameters from recipients
Email — use your platform's merge tags to personalize the link per recipient
SMS — include the personalized link directly in the message
Any other channel of your choice
⚙️ Managing Your Links
From the Pass Creation Links page, each link shows:
Its current status: Active, Deactivated, or Expired
The number of passes created and total visits
Created date and expiry date (if set)
Configuration at a glance — whether it accepts updates, has attribute restrictions, or uses location
To edit a link, click the options menu and select Edit.
⚠️ Changes to an active link take effect immediately and apply to all previously distributed URLs. If you need different settings without affecting existing links, create a new link instead.
To deactivate a link, select Deactivate from the options menu. The link stops working immediately. Any URLs already shared will no longer create passes.
To reactivate a link, select Reactivate. The link starts working again straight away.
⚠️ Deactivated and expired links cannot be used to create passes. If you need to re-engage users, it may be best to create a new link and redistribute.
🔒 Restricting Attributes
By default, a Pass Creation Link can set any user.* or pass.* attribute your template supports.
If you want to limit what can be set via a specific link, for example, to prevent certain fields from being overwritten you can enable Restrict Attributes when creating or editing the link and select which attributes are allowed.
Any attributes not on the allowlist will be ignored, even if they're included in the URL.
🔔 Link States
Status | What it means |
Active | The link is working and will create passes on click |
Deactivated | Manually turned off. The link will not create passes. |
Expired | Past its expiry date. The link will not create passes. |
🙋 Need help? Reach out to your Badge customer success manager or contact our support team.
