User guide
Segment and activate common wallet use cases from Klaviyo flows and campaigns.
Klaviyo remains the orchestration layer.
The Wallet Crew provides two key building blocks inside Klaviyo:
profile properties to target customers based on wallet state
pass download links personalized with
neostore.authenticationToken
Real-world examples
A reminder campaign targets customers who did not install the pass.
A post-install flow welcomes customers with a wallet-specific message.
A post-install flow triggers a wallet notification with an onboarding message.
A list subscription update in The Wallet Crew enrolment form drives Klaviyo consent-based messaging.
Send an email to customers without an installed pass
This pattern targets profiles where the token exists, but the wallet status indicates “not installed”.
Build the segment
A dynamic segment can be created that matches:
neostore.authenticationTokenis setand at least one wallet provider status is not installed
Wallet status is usually exposed as profile properties similar to:
neostore.wallet.loyaltyCard.Appleneostore.wallet.loyaltyCard.Google
Segment logic often uses:
Apple status is not equal to
InstalledOR Google status is not equal to
Installed
Wallet status properties depend on the pass kind and on tenant configuration.
The safest validation is inspecting one synced profile in Klaviyo and copying the property path.
Validation can start by previewing a few matched profiles and checking their wallet status properties.
Insert a pass download link
Klaviyo templates can insert the token with:
{{person | lookup:'neostore.authenticationToken' }}
Two common destinations exist.
Pass download / registration layout
https://app.neostore.cloud/<tenantId>/mail?neo.authToken={{person | lookup:'neostore.authenticationToken' }}Pass page (confirmation)
https://app.neostore.cloud/<tenantId>/mail/confirm?neo.authToken={{person | lookup:'neostore.authenticationToken' }}<tenantId> is the tenant identifier.
The hostname can differ when a custom domain is configured for the tenant.
Validation can start in Klaviyo preview mode by confirming the rendered URL contains a non-empty neo.authToken value.
Send an email after pass installation
This pattern starts a flow after an installation metric is recorded.
The exact metric name depends on connector configuration.
The metric appears in Klaviyo as soon as the first event is received.
See Events & data model.
Send a wallet notification
Wallet notifications can be triggered from a Klaviyo flow using a webhook action calling The Wallet Crew Klaviyo listener.

This pattern fits any high-intent moment in the customer journey. Wallet lifecycle events, orders, store visits, and milestones can become triggers. Klaviyo orchestration can then combine segmentation, timing, and frequency rules to keep wallet messages timely and relevant.


Notification behaviour differs between Apple Wallet and Google Wallet.
Details: Push notifications.
Use the JSON payload below
The payload identifies the pass and adds a notification message in additionalData.
The property used to resolve the pass id can differ by pass type and tenant configuration.
Validation can start by inspecting one Klaviyo profile and confirming which property stores the pass identifier.
Subscribe and unsubscribe behavior
List subscription updates can be driven by The Wallet Crew consent fields.
This requires:
a Klaviyo private key with Lists + Subscriptions permissions
a single list
listIdconfigured, or a multi-list script implementation
Setup details: Consent and list subscription configuration.
When consent is captured during enrolment, the connector can subscribe the profile to the configured list. When consent is removed, the connector can update the subscription status accordingly.
Troubleshooting while building campaigns
Link renders but token is empty
Confirm
neostore.authenticationTokenexists on the profile.Confirm the profile has been through the sync flow used for back-population.
Confirm the template uses
lookup:'neostore.authenticationToken'.Confirm the profile leaves the segment used for token back-population (example:
TWC unsynced profiles) after the sync flow runs.If the token is missing on many profiles, revisit Setup.
Customers land on the wrong page
Two URLs exist.
/mailopens the registration layout./mail/confirmopens the pass page.
Segment logic for installed status is wrong
Confirm the segment checks both Apple and Google properties.
Confirm the stored value casing matches the segment condition (example:
Installed).
FAQ
Who typically owns campaigns?
Campaigns, segments, and flows are owned in Klaviyo.
The Wallet Crew owns wallet execution and wallet lifecycle events.
Which link should be used: /mail or /mail/confirm?
/mail is usually used for pass download and registration journeys.
/mail/confirm is usually used when a pass already exists and the goal is to open the pass page directly.
Can a wallet notification be sent if the pass is not installed?
No. Wallet notifications require at least one active installation on a device.
A common fallback uses email or SMS to distribute a pass download link first, then triggers wallet notifications after an installation event.
How to validate that personalization works before sending a campaign?
Validation can start in Klaviyo preview mode by checking that the rendered URL contains a non-empty neo.authToken.
Profile validation can be done by confirming neostore.authenticationToken exists on a few test profiles. Setup details: Setup.
What is the safest way to test wallet notifications?
Most teams use staging first and keep a small list of internal test passes installed on real devices.
Notification behaviour and limits depend on Apple Wallet and Google Wallet rules. Reference: Push notifications.

