Introduction
You can use PassKit's enrolment form and Make to create a referral programme that rewards existing members when they refer someone new.
By adding the referring member's PassKit ID (pid) to the utm_source parameter of an enrolment link, you can track which member referred a new customer.
When the referred customer enrols, Make can automatically identify the referring member and award them loyalty points.
For example:
An existing member shares their personalised enrolment link.
A new customer opens the link and enrols.
PassKit creates the new member's pass.
Make detects the newly created member.
Make checks whether
utm_sourcecontains a referral ID.If a referral ID is present, Make uses it to identify the referring member and award them points.
This allows you to create an automated referral programme without building your own backend integration.
Before You Start
Before setting up your referral programme, you will need:
A PassKit Membership or Loyalty program
A points-based loyalty tier that supports earning points.
A Make account
A decision on how many points to award for each successful referral.
We recommend testing the complete process with two test members before enabling it for your customers.
Step 1: Get Your Enrolment Form Link
Open your Membership program in the PassKit Portal and locate the enrolment form link.
This is the link that customers normally use to register for your membership or loyalty programme.
For example:
https://pub1.pskt.io/t/enrolmentId
You will use this link as the starting point for your referral programme.
Rather than creating a separate enrolment form for each member, you can use the same form and add a unique referral identifier to the URL.
Step 2: Add a Referral Link to the Back of the Pass
In the PassKit Designer, add a link to the back of your Membership or Loyalty pass that directs customers to your enrolment form.
Give the link a clear label, such as Refer a Friend.
Use your existing distribution link and append the utm_source parameter with the ${pid} variable:
[DISTRIBUTION_LINK]?utm_source=${pid}Replace [DISTRIBUTION_LINK] with your PassKit enrolment form's distribution link.
The ${pid} variable dynamically inserts the PassKit ID of the member whose pass contains the link.
For example, if the member's PassKit ID is abc123456, their referral link will resolve to:
https://pub1.pskt.io/t/enrolmentId?utm_source=abc123456
This means each member automatically has a unique referral link without needing to manually generate one for every member.
Important: Make sure the utm_source parameter contains ${pid}, rather than a fixed member ID. This ensures the referral link is personalised for each member.
Step 3: Share the Referral Link
Once the link has been added to the pass, members can access it from the back of their Apple Wallet or Google Wallet pass.
The referral process works as follows:
An existing member opens their Membership or Loyalty pass.
They open the pass details and select Refer a Friend.
The enrolment form opens with their PassKit ID included in
utm_source.They share the enrolment link with a friend.
Their friend opens the link and completes the enrolment form.
When the friend enrols, the utm_source value can be used by Make to identify the referring member and award them points.
Note: The member must share the personalised enrolment URL containing their referral ID, rather than the original distribution link without utm_source.
Step 4: Set Up the Referral Reward Scenario in Make
To automate the referral rewards, you can use our preconfigured Referral Reward scenario in Make.
This scenario provides a starting point for tracking new member enrolments and awarding loyalty points to the member who referred them.
Open the Referral Reward Make scenario.
Sign in to your Make account if required.
Use the shared scenario to create a copy in your Make account.
Connect your PassKit account to the relevant modules.
Configure the scenario to use your Membership or Loyalty program.
Review the referral filter and points settings to ensure they match your requirements.
The intended referral workflow is:
Watch newly created members – detect when a new member enrols in PassKit.
Check the referral ID – use a filter to check whether
utm_sourcecontains a value.Identify the referring member – use the
utm_sourcevalue, which contains the referring member's PassKit ID (pid).Award points – add the configured number of loyalty points to the referring member.
Once the scenario has been configured, test it using a referral link from an existing member's pass:
[DISTRIBUTION_LINK]?utm_source=${pid}When a new member enrols using this link, the scenario should identify the referring member and award them the configured points.
Important: Make sure the points update uses the referring member's PassKit ID from utm_source, rather than the PassKit ID of the newly created member. Also confirm that the points action adds to the existing balance rather than replacing it.
Step 5: Test Your Referral Programme
Before enabling the scenario for all members, test it using two existing test accounts or a test referrer and a new enrolment.
Create or select an existing member who will act as the referrer.
Copy their PassKit ID.
Add their ID to the enrolment link using
utm_source.Open the referral link and enrol a new test member.
Check that Make detects the new member.
Confirm that the filter recognises the
utm_sourcevalue.Check that Make identifies the correct referring member.
Confirm that the referring member receives the expected points.
You should also test an enrolment using the normal link without utm_source.
In this case, the filter should stop the scenario and no referral points should be awarded.
Expected Behaviour
Once the scenario is enabled, the referral process should work automatically.
When a new customer enrols using a referral link:
PassKit creates the new member.
Make detects the new member.
Make checks whether
utm_sourcecontains a referral ID.If a referral ID exists, Make identifies the referring member.
The referring member receives the configured number of points.
Their existing Wallet pass receives the updated points balance.
If the new customer enrols without a referral ID, the scenario does not award referral points.
Troubleshooting
The New Member Is Created but No Points Are Awarded
Check that:
The enrolment link includes
utm_source.The parameter contains the referring member's PassKit ID.
The PassKit trigger receives the referral information.
The Make filter allows the scenario to continue.
The referring member can be found in PassKit.
The points update completes successfully.
The Filter Stops the Scenario
Check the utm_source value returned by the PassKit trigger.
If the field is empty or missing, Make will not continue past the filter.
Also confirm that the enrolment link was constructed correctly.
Points Are Awarded to the Wrong Member
Confirm that the points module uses the referring member's PassKit ID from utm_source, rather than the PassKit ID of the newly created member.
The Member's Points Balance Is Replaced
Check that the points action is configured to add points, rather than set the total points balance.
The Referring Member Cannot Be Found
Confirm that the utm_source value matches a valid PassKit ID in the correct Membership or Loyalty program.
Important Notes
Use the existing member's PassKit ID (
pid) as the value ofutm_source.Each member should have their own personalised referral link.
The normal PassKit enrolment form can be reused for referrals.
Use a Make filter to check whether
utm_sourcecontains a value.Validate the referring member before awarding points.
Make sure points are added to the referring member rather than the newly created member.
Test the workflow before enabling it for all members.



