# Message Google Wallet pass holders

Once a user saves your Google Wallet pass, Pushwoosh registers it as a Google Wallet platform subscription tied to that [User ID](/product/pushwoosh-knowledge-hub/users-userids/).

You can then reach them in several ways: update the pass with a notification, send a one-time push, automate messages from a Customer Journey, use Google's built-in geofencing, or notify holders of a specific pass via API.

## Send a pass update with a notification


Editing a pass and saving syncs the new version to every device that saved it. For loyalty, event ticket, and flight passes, you can also enable a notification so holders are alerted about the change.

1. In **Campaigns → Wallet Passes → Google Wallet**, find the pass and click **Edit** in the actions menu.
2. Change the fields you need.
3. Make sure **Notify about changed fields** is enabled.
4. Click **Save changes**.

Google syncs the update to every device that saved the pass. If [**Notify about changed fields**](/product/messaging-channels/google-wallet-passes/#view-and-manage-existing-passes) is on, Google also sends holders an Android notification.

<Aside type="note" title="Event and flight passes">
- Google generates the notification text. 
- For event and flight passes, notifications only fire if fewer than 3 hours remain until the start time.
- Google allows at most 3 notifications per pass per 24 hours. If the limit is reached, the pass updates silently.
</Aside>

## Send a one-time push to pass holders


Send a standalone push to one pass holder or to a wider audience.

1. Open the one-time push composer. Either click **Send message** in **Campaigns → Wallet Passes → Google Wallet**, or go to **Campaigns → One-Time Messages** and click **Send message → One-time push**.
2. On the **Content** step, write the message or select a preset.
3. On the **Audience** step, set who receives the message. The default depends on where you opened the composer:

   * **From Send message on a pass:** **Send to specific users** is selected, and **Recipients (User IDs)** already lists that pass holder's [User ID](/product/pushwoosh-knowledge-hub/users-userids/). Send as is to reach that one holder, or change the audience:
     * Add more User IDs in **Recipients (User IDs)**
     * Switch to **Send to segment**
     * Choose **Send to all subscribers**
   * **From One-Time Messages:** Set the audience as in a regular [one-time push](/product/messaging-channels/push-notifications/send-push-notifications/one-time-push/#select-audience-for-push-notification): **Send to specific users**, **Send to segment**, or **Send to all subscribers**.

<img src="/google-wallet-passes-message-pass-holders-1.webp" alt="Audience step with Send to specific users selected and the pass holder User ID pre-filled in Recipients"/>

4. Under **Target platforms**, select **Google Wallet**.
5. Send or schedule the message.

<Aside type="note">
When you target a segment, delivery goes to users in that segment who have the Google Wallet platform registered, not to everyone who saved a specific pass.
</Aside>

## Automate messages from a Customer Journey



Send messages automatically based on events or segments.

### Trigger-based entry journey 

<Aside type="caution" icon="setting" title="Developer assistance needed">
Sending custom events requires your developer team to integrate the [`postEvent`](/developer/api-reference/user-centric-api/#postevent) API call into your backend or CRM. Share this section with them.
</Aside>

1. Create a [Customer Journey](/product/customer-journey/pushwoosh-journey-overview/) and add a [**Trigger-based entry**](/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/).
2. Select the event that should start the Journey. Create a custom event in the Control Panel first if you haven't already, for example `RewardAvailable`.
3. Add and configure a push element. Enable [**Send by User ID**](/product/customer-journey/journey-elements/channels/push/#send-by-user-id) so the push reaches every device tied to the user, including the saved pass.
4. Finish configuring and activate the Journey.

When the entry event fires, Pushwoosh sends the push to every device tied to the user. Pass holders receive it as a notification on the pass. Users without a Google Wallet pass receive it on their other devices.

<Aside type="tip" title="Pass content">
The push does not change any pass fields. To update pass content alongside the message, for example a points balance, update the pass separately via **Edit** in [All passes](/product/messaging-channels/google-wallet-passes/#view-and-manage-existing-passes) or through the [Google Wallet API](/developer/api-reference/google-wallet-api/).
</Aside>

**Example: Notify a user that a reward is available**

`POST https://api.pushwoosh.com/json/1.3/postEvent`

```json
{
  "request": {
    "application": "XXXXX-XXXXX",
    "userId": "u12345",
    "event": "RewardAvailable",
    "attributes": {
      "reward": "Free coffee",
      "expires": "2026-07-01"
    }
  }
}
```

The `event` name must match an event created in your Control Panel. 


### Other ways to build the journey

The trigger-based flow above is one option. Depending on what should start the journey, choose a different [entry element](/product/customer-journey/journey-elements/entry-elements/):

* **[Audience-based entry](/product/customer-journey/journey-elements/entry-elements/audience-based-entry/):** start the journey for a whole segment instead of a single event. Run it once, on a schedule, or periodically (for example, every week to everyone holding an active pass), with new users entering as they join the segment. 
* **[API-based entry](/product/customer-journey/journey-elements/entry-elements/api-based-entry/):** start the journey from a business event that happens outside the app, such as a flight delay or gate change. Your external system calls the entry element's request template and passes a filter to target the right users, for example everyone who has a tag `flightNumber = SU1234` set when the pass was issued. A good fit for boarding passes and event tickets.


## Notify holders of a specific pass via API

To send a custom notification to everyone who saved one specific pass, call [Update a pass](/developer/api-reference/google-wallet-api/#update-a-pass) with `notifyMessage` set.

<LinkCard title="Update a pass" href="/developer/api-reference/google-wallet-api/#update-a-pass" />