Campaign Settings in MSG91

The Campaign Settings section in MSG91 allows you to control campaign execution, message delays, completion logic, contact processing limits, and reusable variables. These settings apply globally to the campaign and impact how contacts move across WhatsApp, SMS, Email, and RCS nodes.


Accessing Campaign Settings

  1. Log in to the MSG91 Dashboard

  2. Navigate to Campaign

  3. Open an existing campaign or create a new one

  4. Click on Settings from the left-side panel


1. Mark Complete

Description

The Mark Complete setting defines when a campaign should be marked as completed for a contact. Once marked complete, the campaign will not re-run for that contact.

Screenshot 2025-12-26 12.13.49 PM.png

Available Options

Via JS

Marks the campaign as complete using custom JavaScript logic.

Use case

  • Advanced automation

  • API-based workflows

  • External system validations

Example

// Access contact attributes
var city = contact.city;
var orderStatus = contact.order_status;

// Check condition
if (city === "Indore" && orderStatus === "DELIVERED") {
    markCampaignComplete();
}

Via Segmento

Marks the campaign as complete based on Segmento (phonebook) conditions.

Configuration

  • Phonebook: Select a Segmento-enabled phonebook

  • Query Type: Default or Custom

  • Conditions: Field-based rules (City, State, custom attributes, etc.)

Example

  • Phonebook: seg testing

  • Condition: City is exactly Indore

All contacts matching this condition will be automatically marked as completed.


Disable

Disable this JS and Segmento check condition, and complete the campaign as per the flow.

Use case

  • Recurring campaigns

  • Reminder-based workflows


2. Unread Delay

Description

Unread Delay specifies how long the system waits before proceeding to the next node if a message remains unread. This setting is configured separately for each communication channel.

Screenshot 2025-12-26 12.24.34 PM.png

Channel-wise Configuration

WhatsApp – Unread Delay

Proceed to the next node if a WhatsApp message remains unread for the configured duration.

Example

  • Value: 2

  • Unit: Hours

If the message is not read within 2 hours, the campaign proceeds to the next node.


Email – Unread Delay

Applies to all Email nodes.

Example

  • Value: 6

  • Unit: Hours


RCS – Unread Delay

Applies to all RCS nodes.

Example

  • Value: 1

  • Unit: Day


Important

  • Maximum delay allowed: 30 days (720 hours)

  • Applies globally to all nodes of the selected channel


3. Click Delay

Description

Click Delay defines the waiting time after a user clicks a button or link before the campaign proceeds to the next node.

Screenshot 2025-12-26 12.24.48 PM.png

Channel-wise Configuration

WhatsApp – Click Delay

Triggered after a WhatsApp button click.

Example

  • Value: 10

  • Unit: Minutes


Email – Click Delay

Triggered after a CTA link click in Email.


RCS – Click Delay

Triggered after an RCS button click.


SMS – Click Delay

Triggered when a short URL in SMS is clicked.


Important

  • Maximum delay allowed: 30 days (720 hours)

  • Applies to all nodes of the respective channel


4. Contacts Limit

Description

The Contacts Limit setting restricts how many contacts a campaign can process within a defined time frame.


Configuration Options

  • Per Minute

  • Per Hour

  • Per Day

  • Start Time

  • Days

  • Company Timezone


Example Configuration

  • Per Minute: 100

  • Per Hour: 2,000

  • Per Day: 10,000

  • Start Time: 00:00

  • Days: Monday to Friday

  • Timezone: GMT+05:30 (India)


Notes

  1. Contact count is calculated based on Segmento contacts or CSV rows

  2. The campaign starts at 00:00 and pauses at 23:59:59 on selected days

  3. Limits reset at 00:00 daily

  4. Campaign processes contacts every minute


5. Global Variables

Description

Global Variables allow you to define reusable key–value pairs that can be accessed across the entire campaign.

Screenshot 2025-12-26 1.33.21 PM.png

Configuration Fields

  • Name

  • Value

  • Add Variable

  • Delete Variable


Example

Define Variables

Name: offerpercentage
Value: 50%

Template content used:

Hello Customer, your get ##offerpercentage## in your next purchase .

Output:
This response was visible to all the clients and got the same value where a variable with the name: offerpercentage was present in any service, not the custom value

Hello Customer, your get 50% in your next purchase .

Supported Usage

  • Message content

  • API calls

  • Webhooks

  • Conditional logic


Best Practices

  • Use Via Segmento for rule-based campaign completion

  • Configure Unread Delay to prevent message fatigue

  • Apply Click Delay when backend processing is required

  • Set Contacts Limit for high-volume campaigns

  • Use Global Variables for personalization and data consistency