Automated Messages
What are Automated Messages?
Automated messages in SuperFCM enable you to configure notifications that trigger automatically based on specific conditions. Unlike scheduled messages which are sent once at a predetermined time, automated messages can be sent repeatedly as trigger conditions are met.
SuperFCM supports three types of automated messages:
- Event-triggered: Sent when a subscriber performs a specific action or event
- Segment-triggered: Sent when a subscriber enters a defined segment
- Interval-based: Sent on a recurring schedule to members of a segment
Automated Message Types
Event-Triggered Messages
Event-triggered messages are sent in response to specific actions taken by subscribers, such as opening the app, completing a purchase, or viewing a specific screen.
Example use cases:
- Welcome messages when a user first registers
- Cart abandonment reminders
- Feature usage instructions after a user tries a new feature
Triggering an Event Message: An event message is triggered when an event corresponding to the message is transmitted via the events endpoint on the REST API or through the trackEvent
method in the SDK.
In order to create a message for a specific event, the event must first be registered in the SuperFCM app settings. Learn how to register events here.
Segment-Triggered Messages
Segment-triggered messages are sent when a subscriber enters a specific segment. This allows for behavior-based messaging that reacts to changing user attributes or activities.
Example use cases:
- Onboarding series for new users
- Re-engagement campaigns for users who become inactive
- Special offers for users who reach premium status
Interval-Based Messages
Interval-based messages are sent on a recurring schedule to all members of a segment. These are ideal for regular communications like newsletters or recurring reminders.
Example use cases:
- Daily habit or fitness reminders
- Weekly app usage or activity summaries
- Monthly feature highlights or updates
Automated Message Status
Automated messages have both a lifecycle status that determine their behavior.
Status | Dashboard Visibility | Available for Editing | Can Be Deleted | Description |
---|---|---|---|---|
Active | ✅ | ✅ | ❌ | Message is actively processing triggers |
Draft | ✅ | ✅ | ✅ | Message is being prepared and won't process triggers |
Archived | ❌ (by default) | ❌ | ✅ | Message is no longer needed but preserved for reference |
Managing Automated Messages
Creating Messages
To create an automated message:
- In your dashboard, navigate to Automated in the Messages section.
- Click on New Message.
- Choose the type of automated message (Event, Segment, or Interval).
- Select if you want to start from scratch or apply a template. You can also apply (re-)apply a template at a later stage.
- Fill in the minimum required information:
- Name: Enter a descriptive name for your message
- Segment: Choose the segment of subscribers who will receive the message (for segment-triggered and interval-based messages)
- Event Name: Select a registered event that will trigger the message (for event-triggered messages)
- Content: Choose a template or enter the message content directly
- Configure any additional delivery settings if needed.
- Save the message by clicking Save draft.
New messages are created as draft by default and need to be activated before they can process the trigger.
Activating Messages
To activate a message:
- In your dashboard, navigate to Automated in the Messages section.
- Find the draft message you wish to activate.
- Click the context menu (three dots) next to it.
- Select Activate.
A message can only be activated if its linked segment is active. If the segment has been deactivated since the message was drafted, you’ll need to reactivate it before activating the message.
Editing Messages
To edit a message:
- In your dashboard, navigate to Automated in the Messages section.
- Find the message you wish to edit.
- Tap it and make the changes in the dialog that opens.
- Save the changes by clicking Save (for active messages), respectively Save draft (for draft messages).
Any changes to an active message are immediate and will impact future deliveries of that message.
Archiving Messages
Once a message is no longer needed:
- In your dashboard, navigate to Automated in the Messages section.
- Find the message you wish to archive.
- Click the context menu (three dots) next to it.
- Select Archive.
Archived messages are hidden from the dashboard view but can be accessed by filtering for archived status.
Deleting Messages
To permanently delete a message:
- In your dashboard, navigate to Automated in the Messages section.
- Ensure the message’s status is either
Draft
orArchived
before deletion is allowed. - Click the context menu (three dots) next to it.
- Choose Delete.
- Confirm the deletion.
Deleting a message does not remove its associated deliveries. This means your analytics remain unaffected, though you will no longer be able to view insights for that specific message.
Archived messages may still have pending deliveries in progress. These deliveries will continue to be sent, even if the message is deleted.
Cancelling Messages
Once a message has reacted to a trigger, it cannot be cancelled.
To prevent delivery, revert the message to Draft
status. Archiving or deleting a message after it has reacted to a trigger will not stop any pending deliveries.
Message Options
Start Sending Date
Message Type | Event | Segment | Interval |
---|---|---|---|
Availability | ✅ | ✅ | ✅ |
The Start Sending Date defines the earliest possible date for the message to be triggered. No messages will be sent before this date. If no date is set, the message is considered immediate and will process triggers as soon as it is activated.
By default, no stop date is set, meaning the message will be treated as immediate, and react to triggers right after activation.
Stop Sending Date
Message Type | Event | Segment | Interval |
---|---|---|---|
Availability | ✅ | ✅ | ✅ |
The Stop Sending Date is an optional setting that limits the timeframe during which a message reacts to a trigger. This date will override any delivery optimization settings. No subscriber will receive the message past this date.
By default, no stop sending date is set, meaning the message will continue reacting to triggers indefinitely.
Delivery Optimization
Message Type | Event | Segment | Interval |
---|---|---|---|
Availability | ❌ | ❌ | ✅ |
Choose how you want your interval-based message to be delivered with the following options:
- Standard: Sends to all subscribers at the same time. (Default option)
- Timezone: Delivers at the same local time for each subscriber, based on the wallclock time relative to the start date (e.g., if the start date is set for 7 AM, the message will be sent at 7 AM in each subscriber's local time), but not before the start date.
- Last Seen: Sends at each subscriber's last active time, as recorded at the time of scheduling the message, but not before the start date.
When selecting Timezone or Last Seen, messages may be sent up to 24 hours after the set start date. They will be scheduled once the interval-based message starts sending for the next interval.
When timing your notification to events, note that the SuperFCM SDKs may cache and flush events (typically every 5 minutes), thus event-based messages may be triggered with a small delay by default. You can adjust the flush interval when initializing the SDK.
Delivery Delay
Message Type | Event | Segment | Interval |
---|---|---|---|
Availability | ✅ | ✅ | ❌ |
Optional delay (in minutes) between the moment a subscriber qualifies for a message (e.g., by triggering an event or entering a segment) and when the message is delivered. Can be set up to 7 days (10,080 minutes).
Use delivery delay to space out messages or time them for greater impact—e.g., send a welcome push 10 minutes after sign-up, or a follow-up reminder 1 day after an event.
Repeat Delivery Options
Message Type | Event | Segment | Interval |
---|---|---|---|
Availability | ✅ | ✅ | ✅ |
You can control how repeat deliveries are handled with the following options:
- Always: Deliver the message every time the trigger condition occurs, regardless of previous deliveries.
- Active: Only deliver to subscribers who have been active since the last time the message was sent to them.
- Never: Deliver only once to each subscriber, even if they continue to meet the trigger conditions.
Delivery Capping
Message Type | Event | Segment | Interval |
---|---|---|---|
Availability | ✅ | ✅ | ✅ |
To prevent overwhelming users with too many notifications:
- Global Delivery Cap: Set at the app level, limits the total notifications a subscriber can receive in a time period
- Message-Specific Cap: Optional override that applies only to a specific message
Messages can be configured to either respect or ignore the global cap by toggling the Ignore Global Cap setting.
Custom Subscription Event
Custom subscription events allow you to trigger event-based notifications. These events must be registered in your app settings before they can be used as a trigger for anotification.
To register a custom event:
- In the main menu, go to Settings.
- Scroll to the Custom Subscription Events section and click Add Event.
- Enter a unique name.
- Click Save to register the event.
Event names must use only letters, numbers, and underscores. Both snake_case (e.g., begin_checkout
) and camelCase (e.g., beginCheckout
) formats are supported, as long as they follow these character rules.
Custom events that are in use within any message (regardless of message status) cannot be deleted.