Skip to end of metadata
Go to start of metadata


Mobile wallet passes on both Google Pay and Apple Wallet support geolocation triggered notifications. These notifications are surfaced on a customer's lock screen whenever the device containing those passes gets within a certain distance of the specified area(s) - in general about 100 meters.

More information on these features can be found on Apple (relevance information) and Google's (geofenced notifications) mobile wallet documentation.  

Android Geofenced Notifications

Important: Google has temporarily made geofenced notifications unavailable for a majority of users while they make platform improvements.  View more information here.

There are a few main differences:


Apple allows for up to 10 lines of custom text on any given location based notification. Google does not allow for custom text on location based notifications.

Apple Wallet Sample:

Google Pay Sample:

Notification Surfacing Logic:

Apple geo location based notifications will display on the devices lock screen when a customer comes with 100 meters of the location. There is no limit to how often a geo location notification is presented on a customer's iPhone.

Google Pay's location based notifications will trigger within 150 meters. Google Pay only allows 4 total notifications per day. If multiple passes are available in any given location, a carousel will appear and the customer can swipe between the passes. 

Maximum Locations:

Google Pay allows for an unlimited number of locations to be associated to a mobile wallet pass. For performance reasons, we recommend not exceeding 10,000 locations for Google Pay. 

Apple, on the other hand, only allows for a maximum of 10 locations to be associated to any one mobile wallet pass.  

To bridge the gap between functionality, Vibes allows for a few different ways to establish geolocation notifications for a given wallet pass. 

Option #1: 10 Total Locations

In platform, within a wallet campaign, customers can simply add each location by hand in the 'locations' module, including the name of the location, it's lat / long, and a message to display when a user is close in proximity. 

This option will only present itself if, within the wallet campaign 'configure flow' page, the location selector page has been disabled (which it is by default). 

Option #2: Location Selector

If you would like to allow an unlimited number of locations for Google Pay, but would like to present the customer with an option to add up to 10 relevant locations, this is the option to use. 

Inside of the wallet campaign, select 'change flows'. On the iOS section of the flow, enable the 'location selector'. 

Once this has been selected, back inside the wallet campaign dashboard, an additional option will surface on the 'locations' module, allowing you to upload an excel list of locations and notification copy. 

An example list of locations can be downloaded here

Customer's on Google Pay will now have all the locations uploaded here associated to their mobile wallet pass. iOS customers will be presented with a page before adding the pass that let's them search by geolocation and presents them with locations nearby to include on the pass. 

You can remove locations by uploading a new locations file. In this file, within the row of the "STORE_ID" you want removed, replace all the values except "STORE_ID" with "Null" (see STORE_ID 1021 in the example photo below). 

Option #3: Bypass Location Selector With Zipcode

If you'd rather allow a customer on iOS to have the closest 10 locations automatically associated to their pass, without having them use a location selector, this is the option to choose. If you know the customer's preferred zip code, you can add this value to the end of the wallet pass Smartlink url parameters using the format "zipcode={{example_zip_code_value}}". When this value is included, the customer will bypass the location selector page, and the 10 nearest locations (within a 100 mile radius) will be added to the pass.

An example url may look like:

In platform when sending this Smartlink via sms, notice that this use case does not follow the standard url parameter formatting for other variables you may add onto the wallet pass, which use "data[field_name]=field_value". You simply need to include this value with "zipcode={{example_zip_code_value}}".

Here are some examples of how to add zipcode inside of a broadcast that includes a wallet Smartlink:

Here is an example of setting the zipcode to override the location selector page on iOS, with another, regular wallet variable included in the secure link section. 

To configure this option, you must also have location selector toggled on in the wallet campaign flow page, and within the location selector page options, enable the 'bypass location selector with zipcode' set to "yes". A 'Thank You' page url or a 'Thank You' message must also be configured, in the event a zip code is not provided in the url. 

Option #4: Lat / Long Coordinates

As extra parameters in the Smartlink url, you can add each location by including the location's lat / long coordinates, and the message content. Please remember to abide by browser limitations on total character length for a url. 

Below is an example of how to place the coordinates and message content on a pass:[][latitude]=41.879568&locations[][longitude]=-87.6378587&locations[][relevantText]=Please%20use%20loyalty%20card%20at%20checkout!

Note:  This functionality is not available when sent via a Broadcast. 

Option #5: Wallet Campaign APIs

If you have granular data on customer location, and plan on sending custom location based messaging, you should consider using the wallet campaign APIs to add locations and message copy on a 1:1 basis. Keep in mind, custom geolocation based notification copy is only supported by Apple - Google's location based copy is static and cannot be edited. 

You can add the lat and long data, along with the geolocation triggered message (which is placed in the "relevant text" field) within the "location" section of the pass body using the wallet campaign APIs. If you have made the notification title a token in the wallet manager in platform, you can also include dynamic content for the geolocation notification title. 

Use the following to update a specific wallet pass (the wallet_item_id is the UUID). 

The following will perform a net change update to an existing Wallet item.

PUT /companies/:company_key/campaigns/wallet/:wallet_id/items/:wallet_item_id

See the example below:

In that image, there are two important values. The "locations" section of the wallet item body and the token field labeled "notification_title" (notification_title is the example token name we used in the platform settings above, this could be any name that made sense for your campaign). With both of those specified, the pass notification will appear once that specific pass comes within range of those lat/long coordinates. 

  • No labels