Skip to content

How to issue a wallet pass on geozone entry

Issue an Apple or Google Wallet pass when a shopper enters a store geozone, then push the install link. This guide builds that journey with the Issue wallet pass element.

Create a Wallet Pass Campaign

Anchor link to

The Issue wallet pass element can only issue passes from an existing campaign, so create one first. A campaign’s platform is permanent, so if you support both Apple Wallet and Google Wallet, repeat this section once per platform.

  1. Go to Campaigns → Wallet Passes → Campaigns and click Create campaign.
  2. Choose Apple Wallet or Google Wallet as the Platform, enter a Name for your own reference, for example Store loyalty (this labels the campaign in Pushwoosh, it doesn’t appear on the pass), and pick a pass style, for example Store Card (Apple) or Loyalty card (Google).
New campaign creation form with Name set to Store loyalty and Pass Style set to Store Card
  1. Under Basic Information, set Pass Name to what shows on the pass itself, for example Store Loyalty Card.
Basic information section with Pass Name set to Store Loyalty Card
  1. Design the rest of the pass, then preview and create the campaign.

Full field-by-field walkthrough: Create a Wallet Pass Campaign.

Create the store’s geozone

Anchor link to

The journey needs a live geozone to trigger from, so create one before building the journey.

  1. Go to Campaigns → Geo campaigns and click Create geozone.
Geo campaigns Get Started screen with map view and Create geozone action in the Pushwoosh control panel
  1. Enter a Campaign name, for example Downtown store.
Geozone form section with Campaign name set to Downtown store
  1. Under Trigger location, choose Circle, search for the store’s address, and set Range, m (at least 50).
Trigger location set to Circle mode with a 200 m range circle drawn around a Downtown Los Angeles address
  1. Under Entry actions, turn on Fire event. Leave Event name empty so the default PW_GeozoneEntered is used.
  2. Turn Send push off if you only want the journey to message the shopper, not a separate geozone push on the same entry.
  3. Set Cooldown (Standalone with a short duration is enough to start) and Campaign schedule (Always active unless you need set hours).
Cooldown mode dropdown set to Standalone with a 1-hour duration
  1. Click Save. The event is available in Trigger-based entry as soon as you save.

Full field-by-field walkthrough: Create a geozone.

Build the journey

Anchor link to

Go to Campaigns → Customer Journey Builder, click Create campaign, and build everything below on one canvas.

Set the entry

Anchor link to
  1. Add a Trigger-based entry element to the canvas.
  2. Name it Geozone Entry.
  3. Select PW_GeozoneEntered as the Event.

Issue the wallet pass

Anchor link to
  1. Add Issue wallet pass right after the entry.
  2. Name it Store pass.
Geozone Entry trigger node connected to a Store pass Issue Wallet Pass node on the journey canvas
  1. In Apple Wallet campaign, select the campaign you created for Apple. In Google Wallet campaign, select the campaign you created for Google. Each dropdown only lists campaigns for its own platform. The element issues a pass for each platform you select.
Issue Wallet Pass settings with Apple Wallet campaign and Google Wallet campaign as two separate dropdowns, both set to Store loyalty

Branch by platform and send the push

Anchor link to
  1. After Issue wallet pass, add a Reachability check element and name it, for example, iOS Device?.
  2. Under Push Notifications, click iOS.
Push Notifications channel with iOS selected among the platform chips
  1. Under Which devices to check, select Only the device that entered, so the check matches the device that triggered the geozone entry, not every device the shopper owns.
Which devices to check set to Only the device that entered
  1. On the Push: iOS branch, add a Push element. Select Marketing message or Transactional message, and turn off Send to all user devices (from UserID) so the push goes only to the device that entered the geozone.
  2. In the message body, insert {apple_install_link|regular|}.
  3. Turn on Personalise message with event attributes, check Overwrite placeholder, set Source event to Store pass, and set Dynamic attribute to apple_install_link.
Overwrite placeholder checked with apple_install_link, Source event set to Store pass and Dynamic attribute set to apple_install_link
  1. After you edit the push, reselect the preset so the mapping picks up the new placeholder. Full click path: Send the pass link to the user.
  2. On All others, add a second Reachability check named Android Device?, with Push Notifications narrowed to Android and the same Only the device that entered setting.
  3. On its Push: Android branch, add Push. Set the message type and turn off Send to all user devices (from UserID) as on the iOS branch. Insert {google_save_link|regular|} and map Dynamic attribute google_save_link the same way.
  4. Leave the remaining All others branch unconnected, unless you have another channel for those users. A branch with no outgoing connection ends the journey there on its own, so it doesn’t need an Exit element.
Assembled journey with Geozone Entry, Store pass, two Reachability checks, and a Push element with the pass link on each branch

A shopper reaches All others when their device isn’t registered on the platform you’re checking, or when their Push Alerts Enabled tag isn’t true for that device (push permission off).

When PW_GeozoneEntered fires, the shopper enters the journey, Issue wallet pass issues their pass, and the matching Push delivers the install link for their platform.

Launch and check

Anchor link to
  1. Launch the journey when the canvas is ready.
  2. After a test entry, check entries and drop-offs on Issue wallet pass and the stats on each Push.

Later visits

Anchor link to

A repeat visit reuses the same pass and resends the push. Only the geozone’s cooldown gates a later visit, not the entry’s re-entry setting. That setting only blocks a repeat trigger while the shopper’s previous session is still active, and the session ends right after the first visit’s push, since neither branch connects to a further step. So the default Do not allow re-entry doesn’t stop a later visit. See What happens at this step for the pass-issuance side.