Skip to main content

Campaigns

A campaign is a one-time (or scheduled) message sent to an audience. Use campaigns when you want to reach a group of users with a single, deliberate send -- a product announcement, a promotion, a transactional notice, or a re-engagement nudge.

Each campaign brings together three things:

  • An audience -- who receives the message.
  • A channel -- how the message is delivered (Email, Webhook, Mobile Push, In-app, SMS, WhatsApp, or Web Push).
  • Content -- what the message says.

Before you send, JourneyLayer shows a reach preview so you know how many people will be contacted. You can send immediately or schedule the campaign for a later time.

Campaigns vs. journeys

A campaign is a single send. If you need an automated, multi-step flow that reacts to user behavior over time, use a journey instead.

Choosing an audience

Every campaign targets a defined set of users. You have two ways to build that audience:

  • Pick a saved segment. Choose a segment you have already defined in Segments. This is the recommended approach for audiences you reuse across multiple campaigns.
  • Define inline audience rules. Build a one-off audience directly in the campaign by combining property and behavior conditions. Inline rules are convenient for ad-hoc sends that do not need a reusable segment.

Reach preview

As you build the audience, JourneyLayer displays a live reach preview -- an estimated count of how many users currently match. Review this number before sending so there are no surprises about who will be contacted.

The reach preview reflects who qualifies at the moment you check it. The final audience is resolved when the campaign is sent (or at its scheduled time), so the number may shift slightly if users enter or leave the audience in between.

Email

Email campaigns are built with a drag-and-drop email builder (powered by GrapesJS). Drag in blocks for text, images, buttons, and layout, then style them visually -- no HTML required, though you can drop into source editing when you need fine control.

Personalization

Email content supports personalization tokens (merge fields) so each recipient sees content tailored to them -- for example, the recipient's name or other profile attributes. Insert a token where you want the personalized value to appear; it is replaced per recipient at send time.

Sending

Email is delivered through your configured Email channel (for example, SMTP or a SendGrid relay). You must connect an Email channel before sending email campaigns. See Settings -> Channels to configure it.

Webhook

A Webhook campaign sends a JSON payload via HTTP POST to a URL you specify. This is a server-to-server channel: instead of messaging the user directly, JourneyLayer notifies one of your backend endpoints, which can then take whatever action you need (sync a CRM, trigger downstream automation, post to a third-party service, and so on).

Configure the destination URL and the payload you want delivered. Webhook campaigns are a good fit when the "audience" is really a set of records you want to push to another system.

Push

Push campaigns deliver mobile push notifications to your app's users:

  • Android notifications are sent via FCM (Firebase Cloud Messaging).
  • iOS notifications are sent via APNs (Apple Push Notification service).

Push requires a Mobile Push channel to be configured with your FCM and/or APNs credentials before you can send. See Settings -> Channels.

Only users who have a registered push token (i.e., who have installed your app and granted notification permission) can receive push campaigns.

In-app

In-app messages are pull-based messages displayed inside your own app or website -- banners, modals, or other surfaces rendered by your application when the user is active. Because they are pull-based, they appear when the user next opens the relevant screen rather than being delivered to a device in real time.

In-app campaigns can be:

  • Broadcast -- shown to everyone in the audience, or
  • Targeted -- shown only to users who match the campaign's audience rules.

In-app is well suited to onboarding tips, feature highlights, and contextual prompts that make sense only while the user is in your product.

SMS

SMS campaigns send a text message to each recipient through your configured SMS sender (Twilio). Write the message body and use personalization tokens (for example, the recipient's name) just like email -- they are replaced per recipient at send time.

SMS requires an SMS channel to be configured with your Twilio credentials and sender before you can send. See Settings -> Channels. Recipients without a phone number on their profile are skipped.

WhatsApp

WhatsApp campaigns send a WhatsApp Business message through your configured WhatsApp sender (Twilio). As with SMS, you write the message body with personalization tokens.

WhatsApp requires a WhatsApp channel to be configured before sending. See Settings -> Channels. Recipients without a phone number are skipped.

Web Push

Web Push campaigns deliver browser notifications to users who have subscribed from your website, using the standard Web Push protocol (VAPID). Write a title, a body, and an optional click-through URL that opens when the notification is tapped. Content supports personalization tokens (for example, the recipient's name), replaced per recipient at send time.

Web Push requires a Web Push channel to be configured with your VAPID keys before you can send. See Settings -> Channels. Only users who have granted notification permission in their browser have an active subscription; recipients without one are skipped.

Goals and conversions

To measure whether a campaign worked, attach a goal event. The goal is the action you want recipients to take after receiving the message -- for example, completing a purchase, starting a trial, or finishing onboarding.

Once a goal event is attached, JourneyLayer tracks how many recipients perform that event and reports the resulting conversions for the campaign. This lets you compare the impact of different campaigns and channels rather than just looking at delivery numbers.

Throttling and limits

Campaigns respect the messaging guardrails configured centrally under Marketing Setup, so a single campaign cannot violate your account-wide sending policies:

  • Global send limits cap how many messages a user can receive in a given window. If a recipient has already hit the limit, the campaign will not send to them.
  • Do-Not-Disturb (DND) / quiet hours define time windows during which messages should not be delivered. Sends that would land inside a DND window are held or skipped according to your configuration.

These limits are defined once in Marketing Setup and apply across all campaigns. Individual campaigns do not override them.

Scheduling

In addition to the global guardrails, each campaign supports per-campaign scheduling. You can:

  • Send now -- dispatch as soon as the campaign is launched, or
  • Schedule -- pick a future date and time for the send.

Scheduled campaigns still honor the global send limits and DND windows in effect at the moment they run.