Why Wallet-first matters
Wallet passes ship where attention already is: the lock screen. With up to 90% open rates on Wallet notifications and ~30% lower cost than SMS, passes beat email/SMS for urgency and frequency.
Anatomy of a Wallet pass
- Identifiers: `passTypeIdentifier`, `serialNumber`, and `webServiceURL` uniquely map a device to a record in your backend.
- Visual fields: primary (large), secondary, auxiliary, and back fields keep the most volatile data near the top.
- Barcodes/NFC: Apple supports QR/PKBarcode plus NFC payloads; Google supports QR/Code128 and smart tap.
- Relevance: Locations (geo-fences), beacons, and time intervals drive lock-screen surfacing.
- Artwork: strip/background/thumbnail images give just enough brand without bloating file size (target <50KB per image).
How dynamic updates work
1. Detect the change in your system of record (points, seat, balance, gate). 2. Call your Wallet service (`webServiceURL` for Apple or the Google Wallet REST API) to update fields. 3. Apple: send a push to the device for the pass’ push token; Google: issue a patch to the object and let Wallet sync. 4. Device applies the diff and shows a lock-screen notification if relevance rules match.
Tips:
- Keep updates lean—only mutate fields that changed.
- Rotate barcodes/tokens when a redemption occurs to deter cloning.
- Use short, action-oriented notification copy (40–80 chars).
Distribution patterns that convert
- Hosted Add to Wallet pages: Detect platform (Apple vs Android) and locale automatically.
- QR at POS or events: Great for quick scanning; cache the pass bundle at edge/CDN.
- Email/SMS handoff: Embed a single smart link; avoid attachments that break on mobile.
- In-app deep links: For existing app users, open a pass preview with a one-tap add.
Minimizing fraud and abuse
- Device binding + rotating barcodes for single-use coupons/tickets.
- Status fields (`voided`, `expires`) plus server-side allow/deny lists.
- Per-pass rate limits on updates and redemptions; log every check-in.
Checklist to launch in a week
1. Define pass types (loyalty, coupon, ticket, membership). 2. Map required data to Wallet fields; decide which fields update. 3. Stand up webServiceURL + push notifications (Apple) and Google Wallet class/object templates. 4. Build a branded Add to Wallet page with platform detection. 5. QA on iOS + Android; test updates, revokes, and redemption flows. 6. Ship, monitor installs/scans, and iterate on copy and relevance rules.
Wallet is the fastest path to persistent, on-brand presence on your customers’ phones. Start simple—one pass, one update loop—then layer in geo rules, A/B tests, and automation.