SSABSUSAcademy
Marketing Campaigns

Campaigns in SABSUS

Create customer notifications and marketing campaigns with media, localized title and text, delivery channel, audience, context navigation, schedule, time zone, locations, and internal comments.

Campaigns in SABSUS visual guide
DifficultyIntermediate
Time15 minutes
ModeInteractive walkthrough
Fields25 explained

Voice explanation

Audio source: campaigns-en.mp3

Listen to a short explanation of what this section is for, what to fill in, and why the data matters.

Step-by-step instructions

A manager can send or schedule a clear customer message that reaches the correct audience, uses the right channel, respects local time, and is traceable in the campaigns list.

Use the interactive screenshot walkthrough first. Switch steps with the step dots, then read what to fill and why it matters.

Fields on this screen

Marketing Campaigns list

How to fill: Start from the list and check existing rows before creating another campaign.

Why: This prevents duplicate notifications and shows what is already scheduled.

Add

How to fill: Click Add only when the campaign should be created for the current company.

Why: The new record receives a campaign ID and opens the Notification form.

Media

How to fill: Attach an image or video that clearly represents the offer. Avoid tiny text inside the creative.

Why: Media is often the first thing customers notice, so it must match the message.

Notification title

How to fill: Type a short title in the active interface language.

Why: The title is used in notification previews and should be readable at a glance.

Notification text

How to fill: Type the full body text in the active interface language.

Why: The body explains what the customer gets and what they should do next.

Delivery method

How to fill: Open the list and choose Email, Phone, or Push notification.

Why: Each channel has different formatting, consent, cost, and reliability expectations.

Recipient groups

How to fill: Open the audience selector and choose All, User groups, Some users, or One user.

Why: Audience targeting controls who receives the campaign.

User groups

How to fill: If User groups is selected, choose the customer group that should receive the message.

Why: Groups keep offers relevant to loyalty, VIP, inactive, or segmented customers.

Specific users

How to fill: If Some users or One user is selected, choose real customer profiles from the users selector.

Why: Direct targeting is useful for service recovery, VIP offers, or one-off messages.

Notification context

How to fill: Open the context selector and choose No, Product, Promotion, or Page.

Why: Context decides what happens when the customer opens the notification.

Product context

How to fill: If Product is selected, choose the product that should open from the notification.

Why: This creates a direct path from message to item ordering.

Promotion context

How to fill: If Promotion is selected, choose the discount or promotion connected to the campaign.

Why: This keeps the campaign text aligned with a real offer rule.

Sending type

How to fill: Open the schedule type and choose one-time or recurring behavior.

Why: Recurring campaigns need a different review process than one-time announcements.

Send date and time

How to fill: Open the calendar and verify the exact planned send date and time.

Why: A correct schedule prevents accidental early or late sends.

Time zone

How to fill: Open the time-zone list and choose the local business time zone.

Why: Local time is required for lunch, birthday, holiday, and store-hour campaigns.

Locations

How to fill: Open In location and select only establishments where the offer is valid.

Why: Customers should not receive local offers from locations that cannot fulfill them.

Internal comment

How to fill: Write a short operational note for managers or support.

Why: This explains campaign intent without making it customer-facing.

Send

How to fill: Send only after media, title, text, delivery method, audience, context, schedule, time zone, locations, and comment are checked.

Why: Saved campaign data becomes the source for customer communication and later reporting.

Verify

How to fill: Return to the list and confirm the row has the expected name, date, availability, and resource.

Why: Verification confirms the campaign exists in the real system and can be reopened or audited.

Common mistakes

  • Writing only one language when the company uses multiple customer-facing languages.
  • Choosing All recipients when the offer belongs to a small customer group.
  • Using Product or Promotion context without selecting the actual product or promotion.
  • Scheduling a campaign without checking the time zone.
  • Selecting locations where the offer is not available.
  • Putting internal instructions into the customer-facing notification text.
  • Forgetting to verify the campaign row after sending or saving.
AI Agent Field Reference for implementation

This block is intentionally below the human instructions. It explains storage names and downstream dependencies for automation, support, and future AI agents.

FieldStored asPurposeWhy it matters
Campaign documentCompanies/{companyId}/Campaigns/{campaignId}Firestore document that stores one campaign under the company workspace.Campaign records must stay scoped to the company so messages, audiences, and analytics do not leak between businesses.
IDDocument.IDUnique campaign identifier.The list, edit action, imports, logs, and support tools use this ID to locate the exact campaign.
Campaign nameDocument.Name[]Localized internal campaign name shown in the campaigns list.Managers need a readable row name; AI agents use it to explain what the campaign is about.
Send dateDocument.DateDate and time when the campaign should be sent or evaluated.Scheduling depends on this value, and support can explain why a campaign has or has not gone out.
Time zoneDocument.timeZonaTime zone used for campaign scheduling.A campaign scheduled for lunch must send at lunch in the business location, not in an unrelated server time zone.
AvailableDocument.AvailableWhether the campaign is active/available.Inactive campaigns can remain as drafts or history without reaching customers.
Created atDocument.DateCreateTimestamp when the campaign was created.Audits, troubleshooting, and campaign reports need the creation date.
Sending typeDocument.TypeOne time, daily, weekly, monthly, yearly, after N days, birthday, or another interval.This controls whether the campaign sends once or repeats.
Delivery resourceDocument.ResorceDelivery channel such as email, phone/SMS, or push notification.The channel determines message format, consent requirements, and cost.
LinkDocument.LinkOptional deep link or page reference.Messages with a link can open a specific app page or external target.
Notification titleDocument.Title[]Localized message title.Customers see this first in push, email, SMS previews, or app notification cards.
Notification textDocument.Text[]Localized body text of the notification.The body explains the offer, action, deadline, and tone of the campaign.
MediaDocument.Media[]Campaign image/video objects.Media makes the campaign recognizable in customer-facing screens and future AI explanations.
Media languageDocument.Media[].LanguageLanguages where the media is valid.Localized screens should show media that matches the language or is safe for all languages.
GroupsDocument.Groups[]Customer group IDs selected as an audience.Group targeting keeps campaigns relevant and avoids sending a broad message to the wrong customers.
UsersDocument.Users[]Specific customer/user IDs or the special all marker.Direct targeting supports all customers, some users, or one user scenarios.
ProductDocument.ProductOptional product ID opened by the campaign context.Product context turns a message into a direct sales path.
PromotionDocument.PromotionOptional promotion/discount ID opened by the campaign context.Promotion context connects the message to an actual discount or offer rule.
LocationsDocument.Locations[]Establishment IDs where the campaign applies.Location scoping prevents customers from seeing offers unavailable at their branch.
Created byDocument.UserCreatedManager or employee ID that created the campaign.Support and audits need ownership for mistakes, approvals, and follow-up.
Price eachDocument.PriceEachEstimated or actual price per sent message.Campaign cost reporting can explain spend per email/SMS/push when providers charge per message.
AmountDocument.AmountEstimated or actual total campaign cost.Managers need campaign cost for ROI and budget control.
CommentDocument.CommentInternal note for managers and support.Internal context explains why the campaign exists without sending that note to customers.
OrderDocument.orderOptional order ID connected to an automated campaign.Order-based campaigns can be traced back to the trigger order.
LeadDocument.leadOptional CRM lead ID connected to the campaign.Lead-based campaigns can be traced through CRM automation.

Use these guides to connect this section to adjacent SABSUS workflows.