Skip to content

Commit d8ffdcf

Browse files
committed
Adding campaign republish behavior docs
1 parent 032a5c8 commit d8ffdcf

File tree

3 files changed

+113
-1
lines changed

3 files changed

+113
-1
lines changed

docs/campaigns/creating_campaigns.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ To begin creating Campaigns, perform the following steps:
5151

5252
- **Category** - Choose a Category to assign your Campaign to. Categories help you organize your Campaigns. To learn more about creating and managing Categories, see :doc:`/categories/categories-overview`.
5353
- **Allow Contacts to restart the Campaign** - Click the toggle switch to allow Contacts to restart the Campaign if you're building a Campaign for a recurring message - for example birthdays, subscriptions - or transactional operations - for example activity notifications, updating data. Enabling this option allows Contacts to go through the same Campaign multiple times.
54+
- **Campaign Republish Behaviour** - Configure how scheduled events with relative delays should behave when the Campaign is republished after being unpublished. You can override the global default setting for this specific Campaign. See :ref:`Campaign Republish Behavior<campaign republish behavior>` for more information about the available options.
5455
- **Active** - Click the toggle switch to turn the Campaign on or off. Ensure that you don't activate a Campaign until you're actually ready for it to go live. You can also schedule to activate or deactivate a Campaign at a future date by selecting a time and date.
5556

5657
#. Click **Launch Campaign Builder** to start building your Campaign, and add at least one event. For information about how to use the

docs/campaigns/managing_campaigns.rst

Lines changed: 102 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,105 @@ The **Conditions** tab displays a tabular list of all he conditions that you hav
3131

3232
The **Contacts** tab displays a grid view of all the Contacts that you have added to your Campaign.
3333

34-
The **Recent Activity** panel on the right displays the recent activities that have taken place in the Campaign.
34+
The **Recent Activity** panel on the right displays the recent activities that have taken place in the Campaign.
35+
36+
.. vale off
37+
38+
.. _campaign republish behavior:
39+
40+
Campaign Republish Behavior
41+
***************************
42+
43+
.. vale on
44+
45+
When you unpublish and then republish a Campaign, Mautic provides control over how scheduled events with relative delays - such as "Send Email 5 days after joining" - should behave. This feature gives you flexibility in managing Campaign timing based on your specific use case.
46+
47+
.. note::
48+
This setting only affects events that use relative delays (interval-based scheduling). Events with absolute dates are not affected by this setting.
49+
50+
Configuring republish behavior
51+
===============================
52+
53+
You can configure the republish behavior at two levels:
54+
55+
1. **Global default** - Set in Configuration > Campaign Settings > Campaign Republish Behaviour. This applies to all Campaigns unless overridden.
56+
2. **Per Campaign** - Set when creating or editing a Campaign. This overrides the global default for that specific Campaign.
57+
58+
Republish behavior options
59+
==========================
60+
61+
There are three options available for how scheduled events should behave after republishing:
62+
63+
Count delay regardless of publish state
64+
----------------------------------------
65+
66+
This is the default behavior. The original trigger date is used and unpublished time doesn't affect scheduling.
67+
68+
**Example scenario:**
69+
70+
- Campaign trigger date: January 1
71+
- Event delay: 10 days
72+
- Calculated event date: January 11
73+
- Campaign unpublished: January 5
74+
- Campaign republished: January 7
75+
76+
**Result:** The event still executes on January 11, as originally scheduled.
77+
78+
**When to use:** This option maintains the original scheduled timing, treating the Campaign's publish state as irrelevant to the delay calculation. Use this when you want consistency with the original schedule, or when temporarily unpublishing a Campaign shouldn't affect when events execute.
79+
80+
Restart on republish
81+
--------------------
82+
83+
The delay counter resets completely when you republish the Campaign.
84+
85+
**Example scenario:**
86+
87+
- Campaign trigger date: January 1
88+
- Event delay: 10 days
89+
- Original calculated event date: January 11
90+
- Campaign unpublished: January 5
91+
- Campaign republished: January 7
92+
93+
**Result:** The event is rescheduled to execute 10 days after republishing, on January 17.
94+
95+
**When to use:** This option is useful when you want to ensure all Contacts receive the full intended delay after any Campaign changes. For example, if you unpublish a Campaign to make significant updates and want everyone to experience the complete updated workflow timing.
96+
97+
Count delay only while published
98+
---------------------------------
99+
100+
Events only count days when the Campaign is published. Unpublished periods don't count toward the delay.
101+
102+
**Example scenario:**
103+
104+
- Campaign trigger date: January 1
105+
- Event delay: 10 days
106+
- Original calculated event date: January 11
107+
- Campaign unpublished: January 5 (after 4 days published)
108+
- Campaign republished: January 10 (after 5 days unpublished)
109+
110+
**Result:** The event is rescheduled to execute on January 16. The 4 days while published (January 1-5) count toward the 10-day delay, leaving 6 more days needed after republishing (January 10 + 6 days = January 16).
111+
112+
**When to use:** This option is ideal when you want precise control over the actual time Contacts spend in an active Campaign state. Use this for compliance scenarios, trial periods, or when you need to pause campaigns without affecting the intended engagement timeline.
113+
114+
Viewing last publish date
115+
=========================
116+
117+
On the Campaign details page, you can see the **Last Publish Date** which indicates when the Campaign was most recently published. This date is used as the reference point for the "Restart on republish" option to recalculate scheduled event timings.
118+
119+
Publishing and unpublishing Campaigns
120+
======================================
121+
122+
When you publish or unpublish a Campaign, Mautic displays a confirmation message that shows the current republish behavior setting. This helps you understand what will happen to scheduled events before you confirm the action.
123+
124+
.. warning::
125+
When you unpublish a Campaign, all processing of Contacts and Campaign events - including scheduled events - stops immediately. Scheduled events remain in the queue but won't execute until you republish the Campaign.
126+
127+
.. note::
128+
The recalculation of scheduled events happens when the Campaign event log is being evaluated by the cron job, not at the moment you republish the Campaign. This means that if a recalculated trigger date is still in the past when evaluated, the event executes immediately. If it's in the future, the event is rescheduled accordingly.
129+
130+
Tracking rescheduled events
131+
===========================
132+
133+
Mautic records all changes to scheduled event trigger dates in the ``campaign_lead_event_log.metadata`` column. This audit trail allows you to investigate when and why events were rescheduled, providing transparency and helping with troubleshooting.
134+
135+
You can view this information in the Contact's timeline under **Campaign Event Scheduled** entries, where rescheduled events show the updated trigger date and the reason for the change.

docs/configuration/settings.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,16 @@ Campaign settings
158158

159159
* **Use summary statistics** - Improves performance when viewing a Campaign with thousands of events per day by using summarized data. When you first turn on this setting you need to run a :ref:`cron job<campaign cron jobs>` to summarize existing data.
160160

161+
* **Campaign Republish Behaviour** - Configure how scheduled events with relative delays in the middle of the workflow should behave when the Campaign is republished after being unpublished for a while. This setting provides a global default that can be overridden per Campaign. See :ref:`Campaign Republish Behavior<campaign republish behavior>` for more information.
162+
163+
Available options:
164+
165+
- **Count delay regardless of publish state** - The original trigger date is used. Events execute based on the calendar days from when they were originally scheduled, regardless of whether the Campaign was published or unpublished during that period. This is the default behavior.
166+
167+
- **Restart on republish** - The delay counter resets when the Campaign is republished. Events are rescheduled to execute the full delay period after the last publish date.
168+
169+
- **Count delay only while published** - Events only count days when the Campaign is published. If the Campaign is unpublished, those days don't count toward the delay, and events are rescheduled accordingly when the Campaign is republished.
170+
161171
Optimal for Contact event scheduler
162172
===================================
163173

0 commit comments

Comments
 (0)