Operator guideENnewslettercampaignsdetail

Email Newsletters / Program

Full create and edit workflow for one newsletter campaign program, including recipients, templates, notifications, coupons, and delivery settings.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this page does

This screen is the full editor for one newsletter program. Operators use it to define who should receive a campaign, which template is used, whether email or notification delivery is enabled, and when the campaign should run.

Main sections

  • core program identity and schedule
  • recipient targeting and distribution-list selection
  • template or custom body selection
  • optional notification attachment or notification creation
  • optional coupon payload
  • advanced email settings and throughput controls
  • helper flows for recipient calculation, test emails, preview, and notification translation

What operators should watch closely

  • ONE_TIME and WEEKLY programs expose different schedule fields
  • Send Email and Send Notification can be enabled separately
  • notification linking can either reuse an existing notification or create a new one from the editor
  • coupon delivery can exist without an email or notification send
  • Use Custom Body? clears template selection when enabled and clears custom subject/body when disabled
  • weekly programs can trigger a confirmation dialog when the selected UTC time for the current UTC day is already in the past

Known caveats

  • The editor relies on several downstream endpoints, not a single monolithic backend action.
  • Existing notifications are selected from linked email-template rows, but the same surface also exposes inline notification creation and preview fields when no existing notification is selected.
  • Notification avatar selection uses URL vs existing Asset choice; there is no direct upload control on this page.
  • Calculate Recipients is a helper action against the newsletter proxy and can return 0 even when the campaign exists, because it counts only contacts that still match the sendable state.
  • Send Without Campaign? is currently a visible FE toggle in the test-email accordion, but the current request payload ignores it.
  • Weekly programs can stop on a FE confirmation dialog when the chosen UTC day is today and the chosen UTC time is already in the past. Save continues only after operator confirmation.
  • Inline notification creation requires EN notification content when no existing notification is selected.
  • Preview and test-email helper flows sanitize Mapping Fields and ignore placeholders that are auto-resolved by the surrounding email-template system.
Field dictionary

Fields

field

Program Name

Human-readable label used by operators to identify the campaign.

Visual Type
form-field
field

Type

Defines whether the program runs once or on a weekly schedule.

Visual Type
form-field
field

Is Active

Activates or deactivates the newsletter program without changing its targeting or content.

Visual Type
toggle
field

Day Of Week

Selected weekday for recurring programs.

Visual Type
form-field
field

Time Of Day

UTC send time for weekly programs.

Visual Type
form-field
field

Scheduled At

Exact UTC time for one-time programs.

Visual Type
form-field
field

Status

Optional send-state override such as `SCHEDULED`, `IN_PROGRESS`, `DONE`, or `ERROR`.

Visual Type
form-field
field

Send Time Type

Optional relative-time mode such as registration date or last activity that shapes when the campaign should be evaluated.

Visual Type
selector
field

Distribution List

Optional predefined recipient list shown as `name(contact_count)` in autocomplete and used in addition to dynamic filters.

Visual Type
selector
field

Filters

Dynamic recipient conditions used to calculate campaign recipients.

Visual Type
structured-form
field

Exclude leads from campaign recipients

Excludes lead-only contacts from recipient calculation.

Visual Type
toggle
field

Include Tags

Tag names a contact must match to be included.

Visual Type
multi-select
field

Include Mode

Controls whether all listed include-tags or any one of them is enough.

Visual Type
selector
field

Exclude Tags

Tag names that should exclude a contact from the campaign.

Visual Type
multi-select
field

Exclude Mode

Controls whether all listed exclude-tags or any one of them is enough to remove a contact.

Visual Type
selector
field

Tag Added Date Type

Switches the `Tag Added` filter between specific dates and relative minutes-ago fields.

Visual Type
radio
field

From Tag Added Date

Start date for the `Tag Added` date-range filter.

Visual Type
date
field

To Tag Added Date

End date for the `Tag Added` date-range filter.

Visual Type
date
field

From Tag Added Date (minutes ago)

Relative start boundary in minutes for the `Tag Added` period filter.

Visual Type
number
field

To Tag Added Date (minutes ago)

Relative end boundary in minutes for the `Tag Added` period filter.

Visual Type
number
field

Tag Removed Date Type

Switches the `Tag Removed` filter between specific dates and relative minutes-ago fields.

Visual Type
radio
field

From Tag Removed Date

Start date for the `Tag Removed` date-range filter.

Visual Type
date
field

To Tag Removed Date

End date for the `Tag Removed` date-range filter.

Visual Type
date
field

From Tag Removed Date (minutes ago)

Relative start boundary in minutes for the `Tag Removed` period filter.

Visual Type
number
field

To Tag Removed Date (minutes ago)

Relative end boundary in minutes for the `Tag Removed` period filter.

Visual Type
number
field

Registration Start Date

UTC start boundary for registration-date matching.

Visual Type
date-time
field

Registration End Date

UTC end boundary for registration-date matching.

Visual Type
date-time
field

Registration Days Ago

Relative registration window in days.

Visual Type
number
field

Last Activity Start Date

UTC start boundary for last-activity matching.

Visual Type
date-time
field

Last Activity End Date

UTC end boundary for last-activity matching.

Visual Type
date-time
field

Last Activity Days Ago

Relative last-activity window in days.

Visual Type
number
field

Include Countries

Countries that should be included in recipient matching.

Visual Type
multi-select
field

Include Countries Mode

Controls whether all listed include-countries or any one of them is enough.

Visual Type
selector
field

Exclude Countries

Countries that should be excluded from recipient matching.

Visual Type
multi-select
field

Exclude Countries Mode

Controls whether all listed exclude-countries or any one of them is enough.

Visual Type
selector
field

Recipients

Helper count showing how many contacts currently match the campaign filters and distribution list.

Visual Type
helper
field

Template

Existing newsletter template selected for this campaign.

Visual Type
selector
field

Custom Subject

Overrides the selected template subject when custom body mode is enabled.

Visual Type
form-field
field

Custom Body

Campaign-specific body content used instead of a stored template.

Visual Type
rich-text
field

Use Custom Body

Switches the editor between stored template mode and campaign-specific subject/body mode.

Visual Type
toggle
field

Selected Template Subject

Read-only subject preview populated from the selected newsletter template.

Visual Type
preview
field

Selected Template Body

Read-only body preview populated from the selected newsletter template.

Visual Type
preview
field

Send Email

Controls whether the campaign sends email.

Visual Type
toggle
field

Send Notification

Controls whether the campaign also delivers an inbox notification.

Visual Type
toggle
field

Existing Notification

Reuses an already linked notification instead of creating a new one.

Visual Type
selector
field

Notification Title

Title for a new inline notification when no existing notification is selected.

Visual Type
form-field
field

Notification Custom From

Optional custom sender name for a new inline notification.

Visual Type
form-field
field

Notification Sender Avatar Source

Chooses whether the inline notification avatar comes from a direct URL or an existing core asset.

Visual Type
toggle
field

Notification Image URL

Direct image URL used when the avatar source is `URL`.

Visual Type
form-field
field

Notification Selected Asset

Existing core asset chosen when the avatar source is `Asset`.

Visual Type
selector
field

Notification Language Tab

Language tab used while editing inline notification content.

Visual Type
tabs
field

Notification Content

HTML body for a newly created inline notification.

Visual Type
rich-text
field

Notification Priority

Priority used by the inline notification preview and saved notification record.

Visual Type
slider
field

Notification Preview

Read-only preview of the currently selected or composed notification.

Visual Type
helper
field

Mapping Fields

Placeholder-to-field mapping used to resolve merge variables in custom body or selected template content.

Visual Type
structured-form
field

Coupon Payload

Coupons that should be provisioned to eligible recipients.

Visual Type
structured-form
field

Coupon Code

Coupon code selected from active bonuses for one coupon row.

Visual Type
selector
field

Coupon Type

Read-only coupon type derived automatically from the selected code.

Visual Type
derived-field
field

Sending Provider

Email provider used for campaign delivery.

Visual Type
selector
field

From Email

Optional sender email override for campaign emails.

Visual Type
form-field
field

From Name

Optional sender name override for campaign emails.

Visual Type
form-field
field

Reply-To Email

Optional reply-to address override for campaign emails.

Visual Type
form-field
field

Limit Emails Per Period

Maximum number of emails to send during the configured period.

Visual Type
number
field

Period Unit

Period unit used together with the throughput limit.

Visual Type
selector
field

Period Value

Number of units that make up the throughput period.

Visual Type
number
field

Spread Entire Period

Distributes sends evenly across the period instead of using the fallback send-until-limit behavior.

Visual Type
toggle
field

Test Emails

Comma-separated recipient list for the `Send Test Emails` helper.

Visual Type
form-field
field

Send Without Campaign?

FE-only helper flag shown next to the test-email flow.

Visual Type
toggle
Caveats
The current page state stores this toggle, but `handleSendTestEmails` does not send it anywhere.
Operational notes

Notes

item

Program create and update go through the newsletter proxy to `nx-newsletter-service`.

item

Asset selection for notification images comes from core assets, but the page does not expose a direct upload action.

item

`Calculate Recipients` is a FE helper action against the newsletter proxy, not a dedicated campaign hook.

item

`Send Without Campaign?` is currently UI-only state. `handleSendTestEmails` does not include that flag in the proxy request.

item

The weekly past-time dialog stages the prepared payload in local state and only submits after explicit operator confirmation.

item

Inline notification creation uses `POST /api/admin/notifications` only when `send_notification` is enabled, no existing notification is selected, and EN notification content is present.

item

Preview and test-email helpers run `sanitizeMappingFields`, so only manually mapped placeholders are injected into FE preview/test payloads; auto-resolved placeholders stay out of that helper payload.

Related references

Related pages

pageEmail Newsletters

Operator workspace for newsletter campaigns, distribution lists, and send-log review through the backoffice newsletter proxy.

pageEmail Newsletters / Campaigns

Main newsletter program inventory with filters, status badges, active-state checks, and edit navigation.

pageActivity Tag Rules / Detail

Rule inspection page with backend identity, conditions, timestamps, impact estimate, run action, delete action, and recent application history.

pageAffiliate Payment Settings / Detail

Saved affiliate payment-setting detail page for reviewing one configured record.

pageAffiliate Settings / Detail

Saved affiliate detail workspace for reviewing one affiliate and opening report actions.

pageAuto Tags Manager / Detail

Edit surface for one existing auto-tag rule, using the same dynamic rule builder as create but with a persisted rule payload and ID-backed updates.