Delivery settings

The Delivery step is where you decide when a campaign should start and end. You can either set a one-time scheduled delivery, recurring delivery, or use a trigger to bring users into your campaign based on user behavior.

After selecting your Audience, go to the Delivery step and choose your campaign’s delivery settings.


In the Delivery step you must select one of the delivery methods:

  • One-time delivery - the target audience enters the campaign on the scheduled start date and time.
  • Recurring delivery - the target audience enters the campaign on a predefined recurrence pattern.
  • Triggered delivery - targeted users enter the campaign only when they complete a specific action.
  • Manual delivery - using the startCampaign API, activates a campaign for one device or user.

In addition, you can also set:

When do users "enter" a campaign?

A user only counts as having entered a campaign after they receive the first action of that campaign.

For example, if your overall audience was Android users, but your first action was set to deliver to users who reach level 5 of your game, Android users who are only at level 3 won't count as having entered your campaign in Analytics.

See the Metric glossary for more on how "enter" events are calculated.

When and how do users leave a campaign?

When users stop qualifying for actions.
Users fall out of the campaign when they aren't eligible to receive the next action in the campaign. For example:

  • If the next action is a push notification but the user doesn't have push enabled
  • If the campaign is targeted to San Francisco residents but the user moves or travels
  • If the next action has a sub-audience the user doesn't qualify for

Users who stop qualifying for actions move into the attribution window, where their conversion will still be counted toward the campaign's Analytics. Keep in mind, users can re-enter a campaign after the attribution window if they complete the entry trigger again.

When you end the campaign.
When you click "End Campaign" in the title bar, it brings a hard stop to the campaign. No more actions will be delivered, and the attribution window will immediately end for all users (meaning no more conversions will be counted toward this campaign).

When the End Date & Time passes.
Once the End Date & Time passes (if you set one), new users will no longer be able to enter the campaign, while users already in the campaign will stop receiving actions and will be pushed into the attribution window.

If you forgot to add an End Date & Time before starting your campaign, you can add one after it's live (to trigger campaigns only). Go to the live campaign's Delivery step, add your end date, and click "Publish Changes."

Why didn't my message send correctly?

When a message isn't sent to one or more of your targeted users, it may have been suppressed because of your settings in Leanplum. The Message Suppressed event will appear in a user's profile if they don't receive a message for one of the following reasons:

The Message Suppressed metric is always tracked with a parameter "reason" that indicates why the message did not go out to the specific user. To explore the reasons why your messaging campaign did not reach your userbase, go to Analytics and generate a "Group by" report with parameter "reason."

If your message was not suppressed, there are a few other possible reasons for message send failure. Your targeting may not be going to the right group, or some of your personalized elements may be formatted incorrectly.

See Push notification troubleshooting for a checklist of potential push issues.

Are messages stored and sent locally or are they sent from the server?

Some message types are stored on the device for later delivery and some types are sent directly from Leanplum servers.

All in-app message types are synced on app start and displayed at the specified point in the experience. If a user meets the targets for an in-app message, it is then synced to their device and will be shown at the specified Display trigger event which is defined in the message set up. You can set limits on how many times they can be triggered. Read about Single in-app display limits for more.



Locally triggered messages (like in-app messages or locally triggered push notifications) do not work with our Quiet Hours feature. This is because the send is controlled by the local trigger, and not Leanplum's servers.

Some message types are triggered and sent directly from our server. These message types include Triggered Push, Webhook and email. Targets for these messages are evaluated at the time of trigger and at the time of send. The user must match the targets at both of these evaluations. Sending these from our server allows us to cancel the send in the case that the user triggers an unless event (in other words, a reverse trigger).