My Mautic version is: 2.15.3
My PHP version is: 7.2.24
We have the following double-opt-in system:
- When someone fills in their email address in a Form, the Contact is added to a Segment called “pending-confirmation” through a form action.
- A Campaign named “confirmation” uses “pending-confirmation” as its source of Contacts. The first step in this Campaign sends an email to the Contact containing a confirmation link.
- The user clicks the link. The second step in the Campaign sees this page view, removes the Contact from the “pending-confirmation” segment and adds it to a Segment called “confirmed”.
- This Segment is used as the source for the “main” Campaign, which sends out an email a day for 30 days.
These emails contain dynamic content, so people often re-subscribe after having completed the “main” Campaign once (which takes 30 days).
To allow for this, we have enabled the “Allow contacts to restart the campaign” option. This option doesn’t work properly in 2.15.3 due to issue #7338, but we have also applied the patch following these instructions. So I would expect it to work now… if the contact has actually exited the “pending-confirmation” segment.
However, what happens if they fill out the form while they’re still in the “pending-confirmation” Segment (and thus in the “confirmation” Campaign)? In that case, the Form’s action will do nothing, and they won’t get the confirmation email again. So if they have not received the first confirmation email, or deleted it, or whatever, they are now stuck in this state forever; resubscribing will do nothing for them.
What we need is a way to say: when this Form is submitted, do not only add the Contact to this Segment, but also restart any Campaigns associated with the Segment (or: also restart this particular Campaign) for this particular Contact.
Is there a way to do this?