> ## Documentation Index
> Fetch the complete documentation index at: https://help.maestra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Create a Bulk Web Push Campaign

A bulk web push campaign is a one-time campaign sent to a predefined list of recipients. Use it to broadcast announcements, promotions, or reminders to customers who have subscribed to web push notifications in their browser.

## Before you start

To receive a web push from your bulk campaign, a customer must:

* Be subscribed to the **Web Push** channel in Maestra.
* Have granted their browser permission to display notifications from your site.

Customers who do not meet both conditions are automatically excluded from the send.

## Create the campaign

<Steps>
  <Step title="Open Campaigns">
    Go to **Campaigns** and click **Create**.
  </Step>

  <Step title="Select the Web Push channel">
    Choose **Web Push** as the channel for your new campaign.
  </Step>

  <Step title="Choose the bulk type and folder">
    Select the **Bulk** campaign type and pick the folder in which the campaign will live. If you don't have any folders yet, create a new one.
  </Step>

  <Step title="Name the campaign">
    Enter a campaign title so you can identify it later in reports and lists.
  </Step>
</Steps>

## Configure the message

In the **Web push** section, fill in the message itself. The following fields are available:

| Field        | Description                                                                  |
| ------------ | ---------------------------------------------------------------------------- |
| **Title**    | The headline shown at the top of the notification. Required.                 |
| **Text**     | The body of the notification. Required.                                      |
| **Link**     | The URL the customer is taken to when they click the notification. Required. |
| **Image**    | An optional large image displayed inside the notification.                   |
| **App icon** | The small icon shown next to the title (usually your logo or favicon).       |
| **Buttons**  | Optional call-to-action buttons that open their own links.                   |

You can personalize any of these fields using the [message template engine](/campaigns/message-template-engine) — for example, to insert the customer's first name into the title or a personalized product URL into the link.

<Tip>
  Preview your message in the right-hand panel as you build it to see exactly how it will appear in the browser.
</Tip>

To test before sending, click **Send test message** and pick a customer or device to receive the preview.

## Choose your recipients

There are three ways to define who receives the campaign:

* **Segment** — send to an existing [customer segment](/segments/how-to-filter-customers-into-segments).
* **Filter** — build a one-off [filter](/filters/how-to-create-filters) directly on the campaign.
* **File upload** — send to a list imported from a file, the same way you would for a [bulk email campaign](/campaigns/how-to-send-a-campaign-using-a-file), but without creating new customer records.

When you use **Filter** or **File upload**, Maestra shows you all the conditions that are automatically applied to bulk campaigns (for example, subscription status and channel availability) so you can see exactly who qualifies.

## Set the sending timeframe

In the **Sending timeframe** section, decide when and how fast the campaign goes out.

* **Date** — choose whether the campaign starts sending immediately after you save it or on a schedule.
* **Sending interval** — the window during which customers can receive the notification. Customer time zones are taken into account. If you set only the sending hours, messages go out as quickly as possible within that window.
* **Sending speed** — unlimited by default. You can throttle the rate between **500 and 2,000,000 messages per hour** to smooth out traffic to your site or downstream systems.
* **Relevancy** — how long the campaign is still valid for delivery. Specify a relative interval (for example, 3 days from the moment the message was sent) or a fixed date (for example, until 01/07/2026 00:00 (UTC-05:00) America/New York). After this period, undelivered messages are dropped.

## Optional features

You can layer the following on top of a bulk web push campaign:

* **A/B tests** — split recipients across message variants to find the best-performing version. See [A/B tests](/campaigns/ab-tests/how-ab-tests-work).
* **Control groups** — hold back a small share of recipients from the send so you can measure incremental impact.
* **UTM parameters** — automatically append UTM tags to the campaign link so you can attribute traffic and conversions in your analytics tool.

## Launch the campaign

Click **Send now** to launch the campaign immediately.

The **Send now** button becomes active only when the **Campaign profile**, **Sending timeframe**, **Web push**, and **Recipients** sections are all filled in. To check that a section is complete, look for a checkmark next to its title. Once everything is ready, the campaign's status changes to **Ready to send**.

### Scheduled sending

If you scheduled the campaign for a later date and time, its status switches to **Sending scheduled** once you save.

<Warning>
  Clicking **Send now** launches the campaign immediately, even if you had set a schedule. To keep a scheduled send, click **Save and exit** instead.
</Warning>
