Prepare for communication
These settings decide how shoppers experience your messages and whether you can tell what works. Set them up before your first message, so shoppers are not asked or messaged at the wrong time and you can measure the results from the first day.
Ask for push permission at the right moment
Anchor link toAsk for push permission when the shopper has a reason to say yes, not on the first launch, when the shopper is still looking around. A shopper who declines may never turn notifications on. On iOS, the system prompt appears only once per install. If the shopper taps Don’t Allow, the app can’t show it again.
Ask in two steps instead. First, show a custom in-app message that explains what notifications give the shopper, for example order updates and price drops. Second, show the system prompt only when the shopper taps Allow in that message.
Choose the moment
Anchor link toShow the message when the shopper already has a reason to say yes. Choose the event that marks that moment. For example:
- After the first product is saved: the
Product added to wishlistevent, because the shopper can hear about price drops and restocks. - After the first product is added to the cart: the
Product added to cartevent. - After the first order: the
Order placedevent, because the shopper can follow the delivery.
Set it up
Anchor link toFirst, build the message:
-
Build the in-app message. See Build the in-app.

-
Skip shoppers who already allowed notifications. See Skip the prompt for users who already opted in.
Then start it with a journey:
- Create a journey that starts on the event you chose. See Trigger the in-app before permission is requested. The message appears the next time the shopper opens the app after the event, as Show in-app on the In-app element is set to On next app launch by default.
- On the In-app element, choose Transactional as the message type, so shoppers in the control group are asked too. Transactional is the type for service messages, which skip the control group and frequency capping.
- On the canvas, click Settings and select Campaign Entry Limit.
- Choose Custom period and set Once in to a lifetime. These events repeat, so this limit shows the message to the shopper once.
If the shopper declines
Anchor link toFor shoppers who decline, the journeys reach them through other channels. A Reachability check sends shoppers down different branches depending on the channels where you can reach them.
Set delivery rules before you message shoppers
Anchor link toDelivery rules decide how many messages a shopper gets, at what time, and how fast Pushwoosh sends them. Settings → Message delivery settings has a tab for each: Frequency capping, Silent hours, and Send rate. Set them before the first journey goes live.
Limit how many messages shoppers get
Anchor link toA store runs several journeys at once, and without limits one shopper can receive a cart reminder, a back in stock alert, and a sale announcement on the same evening. Frequency capping sets the limit:
-
Go to Settings → Message delivery settings → Frequency capping.
-
Turn on the channels you use, such as push, in-app, and email.
-
Set the maximum number of messages and the period for each channel. Allowed values are 1 to 1,000 messages per period, and the period is 1 to 30 days.
-
Choose a counting mode for each channel: Rolling window or Calendar day. For Calendar day, also set Capping timezone, the timezone in which the day starts.

-
Click Apply changes, then Confirm.
Journey messages use the global limits by default. To set other limits for one message, use the Frequency capping field of its message element. To change it in a running journey, pause the journey first. See Global frequency capping.
Keep marketing messages away from night
Anchor link toTo keep marketing messages from arriving at night, set silent hours on the Silent hours tab. The hours count in each shopper’s time zone. For each channel, choose in Message behavior what happens to a message that falls into them: Send after the silence period ends (the default) or Do not send. These hours apply to one-time campaigns and API sends, not to journeys. For journey messages, set the silence period in each journey. See Silent hours and Best practices for every journey.
Send large campaigns at a steady pace
Anchor link toThe Send rate tab limits how many messages per second Pushwoosh sends on each channel, so a high-volume send goes out at a steady pace instead of all at once. Set it when you plan to send a campaign to a large audience. See Send rate limits.
Set up a control group before you launch
Anchor link toA control group holds a share of shoppers out of all marketing messages in the application, or in the countries or tag you limit it to, so you can compare them with everyone else and see what your messaging changes. Create it before you launch the journeys, so the comparison covers them from the first day.
To create a control group, you need permission to modify the application.
- Go to Settings → Control groups and click Add control group.
- Enter a name for the group.
- Set Group size: 3%, 5% (recommended), 10%, or Custom from 1% to 20%.
- Choose a mode. Permanent keeps the same shoppers out until you turn the group off. Auto-refresh picks new shoppers every 1, 2, or 3 months and returns the previous ones to messaging. Experiment with an end date returns everyone to messaging on the date you set.
- Click Create.
As soon as the control group is on, the shoppers in it stop receiving marketing messages in any channel, so your journeys reach fewer shoppers by that share. Transactional messages, such as order confirmations and delivery updates, still reach them.
For all the settings, see Create and manage a control group.