Skip to main content

Campaign

Campaign lets authorized administrators manage campaign records, audience conditions, channel content, schedules, and delivery counters. Availability depends on the project's plan, configuration, and deployed services. A visible campaign does not confirm that its audience is accurate or that a message was sent.

Protect campaign recipients

Opening this area retrieves private campaign data, and opening a campaign can submit its conditions for audience evaluation. Creating, saving, canceling, deleting, or editing a campaign can persist records, select recipients, queue work, or affect outbound delivery. Use an approved test project and synthetic recipients; do not expose real recipient data, provider credentials, messages, URLs, or schedules during testing.

Availability and navigation​

The /marketing/campaign route is restricted to level-0 administrators, but the route does not repeat the Campaign feature check. The sidebar additionally requires the Marketing parent—an eligible Pro or Enterprise project, level 0, and no read-only state—and the marketingCampaigns feature flag for the Campaign item. Route access, parent visibility, item visibility, API authorization, and the API's source-defined project gate are independent conditions.

Campaign controls with no campaign rows or audience data

Authenticated reads and automatic audience evaluation​

The campaign list retrieves authenticated, paginated records and can search by campaign name or contact type. Opening a campaign retrieves its conditions and delivery counters, along with the Pro configuration categories used by the form.

Opening a populated campaign can also send its current conditions and contact type to the audience service. The response can contain recipient records and pagination, so audience evaluation is not a local preview and may expose personal data.

Campaign and channel states​

Campaigns support email, SMS, WhatsApp, notification, popup, and webhook contact types. Campaign data can include a name, channel-specific content, audience type, conditions, schedule, end time, status, counters, and recipient events.

Although campaign records accept all six contact types, automated per-recipient launch work currently handles only email, SMS, notification, and webhook. WhatsApp and popup are not dispatched by that workflow. Confirm channel availability for your project before scheduling a campaign.

Campaign actions have these boundaries:

  • campaign creation is limited to eligible projects;
  • contact type is required on creation and cannot be changed by the update path;
  • ended and canceled campaigns reject updates, while an active campaign accepts only cancellation;
  • creation requires at least one audience condition, and a fixed audience cannot be empty;
  • scheduling can change the initial status and delay a queued launch job, but the scheduled time does not guarantee delivery.

The Dashboard's status changes and success messages do not confirm that the API accepted the request or that a provider processed it.

Persistent and outbound effect surfaces​

Campaign actions can:

  • create a campaign and its condition rows;
  • calculate an audience by POST and, for a fixed audience, persist recipient relationships;
  • dispatch a campaign-launch job immediately or with a source-calculated delay, with inspected per-recipient branches only for email, SMS, notification, and webhook;
  • update general, schedule, audience, and channel-content fields;
  • create or delete individual conditions;
  • cancel or delete a campaign and invoke plugin hooks/actions;
  • read recipient delivery events such as sent, opened, bounced, complained, unsubscribed, or clicked states.
Check before canceling

Cancellation may remove unsent recipient records beyond the selected campaign. Confirm the behavior with your project administrator before canceling or retrying a campaign.

Privacy and provider boundaries​

Campaign names, conditions, recipient records, email addresses, phone numbers, channel content, provider settings, credentials, webhook or redirect destinations, schedules, tracking identifiers, and delivery events are private or secret-adjacent operational data. Provider configuration checks and plugin hooks can cross system boundaries. Do not copy any live value into screenshots, tickets, chat, logs, or documentation.

Campaign availability and behavior depend on the project configuration and deployed service. A visible campaign or confirmation message does not by itself establish that the intended recipients were selected or a message was delivered. Check the campaign’s current state before retrying an action.


Related guides: Marketing overview · Advanced offers