This search surfaced donors who have been repeatedly coming off snooze and then being re-snoozed, e.g. CID 65029231.
We also noticed some unusual snooze patterns in CID 16801455 and CID 34869233, where it seems the re-snooze job had a gap—allowing these donors to receive the RML email before being re-snoozed immediately after.
It may be worth running the job more often and updating the search to only include future snooze dates so we can spot-check and identify any other clear patterns.
Description
Event Timeline
So observations on https://civicrm.wikimedia.org/civicrm/contact/view?reset=1&cid=65029231 / https://civicrm.wikimedia.org/civicrm/a/#/omnimail/remote-contact?cid=65029231
As of now Thu Aug 21 06:24:15 AM UTC 2025 I can see he IS still snoozed - this is AFTER the silverpop export job has run - let's check again when we can
| Thu Aug 21 06:24:15 AM UTC 2025 | snoozed |
- the contact's email is treasurer@.... - I note there are some cases where certain email prefixes (e.g info) are blocked - although treasurer seems more obscure
@Eileenmcnaughton Here's a recent scenario that might help us understand the gap between Acoustic and Civi when it comes to RML vs. Re-Snooze:
CID 57305646 – Activities in Civi:
Aug 20 → Snoozed until Nov 18 after RML1 at 7:00 AM
Aug 27 → Donor signed up for RML to remove the banner via the Remind Me Later form at 6:17 PM. At 6:27 PM, the systems picked up the email and re-snoozed it.
Sept 5 → Donor signed up again for RML via the Remind Me Later web link to Acoustic form at 11:01 PM. On Sept 6 at 12:31 AM, the system picked up the email and re-snoozed it.
The 90-minute gap between the signup and the re-snooze allowed the RML2 email to reach the donor. With that in mind, was it the timing gap that caused the email to go through, or could it be related to the type of form used for the RML signup (standard RML form vs. web link to the Acoustic form)? (It’s also possible the form names just changed.)
The CID received RML #3 this week in between another sign-up on 2025-09-16, at 4:39 PM, and the resnooze at 6:36 PM, exactly at 5:44 pm.
@Eileenmcnaughton, you mentioned that the resnoozing was acting funky for a bit. Is it still happening? We've seen a few donors who weren’t caught in time and received follow-up RMLs. Thanks for checking!
Here is the example we have @Eileenmcnaughton :
ZD 1741357 / cid=43999336 Seilo 90 day snoozes a check request off RML 1 on August 8th.
Donor then gets RML 2 on 26th September despite that active snooze apparently in place in their record until mid November.
@Eileenmcnaughton, could this be caused by using the old snooze 90 days link instead of the Civi link? Just wondering if the first link might actually let donors re-enroll in the RML program, even though their intent was to remove banners…
@SHust I think you're correct in that this email send was triggered by the contact having filled in the RML form about half an hour before it was sent. I don't see any issues with the snooze in Civi, so I think this issue is in Acoustic. I'm not clear on the details of how the Acoustic RML works and why it would not exclude snoozed emails. @ppenloglou could you shed any light on this?
Thanks for checking and confirming, @Lars! CID 1064847 used the Acoustic link to snooze until Dec 15 (back in September), but still received email #2 yesterday. I’ve gone ahead and snoozed them until Jan 2 since they’re getting an error when trying to donate.
The same happened with CID 54288067.
@ppenloglou, could you please look into this? We’re seeing more cases where the Acoustic link isn’t properly preventing follow-up emails after donors use it.
My Acoustic RML <--> Civi knowledge wasn't that up to date until I digged into this phab. But...
@Lars I just came across this very informative wikitech page written by Eileen regarding the relationship between Civi, Acoustic and snoozed contacts: https://wikitech.wikimedia.org/wiki/Fundraising/Data_and_Integrated_Processes/Acoustic_Integration/Snooze
Quoting what i think is key here:
As of February 2025 we are syncing the system snooze date into a query-able field snooze_end_date that can be included in the criteria in order to prevent this. This relies on the criteria being consistently included.
The idea being that we should include snooze_end_date as criteria in RML programs so as to avoid sending to snoozed contacts. That criteria would look something like:
... AND ( snooze_end_date IS blank OR snooze_end_date is before today )
The above is not currently applied in any RML programs, which is probably why we're experiencing this.
@Eileenmcnaughton can I confirm with you if my logic is sound on the intended use of snooze_end_date? If it's good, I'll go in all active RML programs and make this amend.
@ppenloglou, could this also be the reason why email #2 was sent to these two CIDs, 1064847 and CID 54288067 -- who had used the Acoustic link to snooze themselves?
CID 66158442 snoozed himself till 11/30 and received RML 3 on Oct 2nd, 2025. I snoozed till next year today.
Hey @SHust , I've added in the following criteria in our active RML programs:
AND ( snooze_end_date is blank OR snooze_end_date is before today )
which will hopefully stop this from happening again.
Huge thank you to @ppenloglou for updating all the RML programs with this criteria, and apologies to the DR team for my dropping the ball on adding the criteria to the programs earlier on!
Yes, big thanks to @ppenloglou for figuring this out and implementing the fix (and a shout out to @Eileenmcnaughton for having written good documentation for this unfortunately complex issue)!
@SHust For cid 1064847 and 54288067, it looks like they snoozed themselves after they received email #2, so that's working as expected.
@Lars, I snoozed both CIDs since their original snoozing caused email #2 to be sent to them incorrectly.
Unfortunately, the issue is still happening. CID 68339721 was snoozed by us on 9/9/25 until 1/2/26, but RML1 was sent on 10/25/25. The same happened with CID 33342357, which was snoozed on 10/8/25 until 8/1/26, yet an RML was sent on 10/23/25. Both CIDs reverted to the snoozed status after receiving RMLs that shouldn’t have been sent.
@ppenloglou My suspicion here is that the criteria you've added is for contacts entering the RML program, but these contacts are already in the RML program, so the criteria isn't changing anything. I'm not able to view or edit those criteria in Acoustic, maybe I'm missing a permission? In any case, can you check?
@ppenloglou I see now that you have to pause it to be able to check the criteria, but it does look like this is the issue to me. Unless you have any ideas, I think maybe this is one for Brian?
I think you raise a very good point @Lars! RML programs have entry criteria but I forgot you can add logic to next-step/exit nodes further within the Program.
Attaching screenshots from our Global English RML program:
- General entry criteria for program
- Logic check before an email is sent.
If I'm understanding correctly, we should add
AND ( snooze_end_date is blank OR snooze_end_date is before today )
on every check node before each email.
To view/edit logic in programs it must be deactivated first. You can do this temporarily and then reactivate, the program will continue where it left off.
Thanks @ppenloglou, I'm glad there is an option in Acoustic to handle this. I think your proposal makes sense.
In fact, maybe we shouldn't have the check for snooze status in the entry criteria at all? I think donors should still be able to enter the program while snoozed, they just shouldn't receive any emails until their snooze expires.
I have now applied the snooze_end_date criteria in each check node for all currently active RML programs.
Thanks @ppenloglou for doing a bunch of click work to update all the RML programs.
@krobinson Regarding the previous issues you referenced in standup today, were those issues with donors on snooze receiving RML emails specifically or issues with snoozed donors receiving regular campaign emails? I think if those were regular campaign emails last year and here we are dealing with RML emails, then that explains why the previous fix did not fix this issue — they are different issues. Or if the issues last year were for RML specifically, can you add a link to the previous phab?
No, the issue has always been RML and snooze. Donors who have been snoozed will receive RML if they sign up to receive them. Which sounds logical, but if they have already engaged and said 'not this year', they don't know that signing up means an automated 3-email campaign, starting 48 hours later. They believe they already told us 'not this year' so later means much later.
Here is a doc with notes from previous calls and agreements around this: https://docs.google.com/document/d/1GeRhyAR3wGE7NGGJnSXxTTIrpaOJObTzPH7xfQkoiKA/edit?tab=t.0#heading=h.2btxe08zdm3w
French CID 35879501 was snoozed until 10/31/25 and received the RML on 10/31/25, as shown under the mailing events. However, they donated on 10/17/25 under the same email — shouldn’t that have prevented the RML from sending?
Given that the criteria include both entry and existing program members, should we also check for donations within this fiscal year?
@ppenloglou and @Lars
Sharing the latest snooze flaps that were also shared with the email team, for everyone’s visibility:
CID 59079855 signed up for RML on August 9, 2025 and received RML 1 and 2. They donated after RML 2 and then signed up for RML again in November to close the banner. They still received RML 3, which conflicts with our rules: donors who sign up for RML to hide banners shouldn’t receive additional RMLs if they donate within the same fiscal year using the same email.
CID 52962699 received RML 2 on Nov 20, despite being snoozed by Amber on 11/03 until Jan 2026, in response to RML 1.
Here's some interesting information Cailtin shared, regarding Acoustic, also relevant to CID CID35879501 from Oct 31st.
Is there anything on the CiviCRM side that could help mitigate this Acoustic behavior?
I went back the write up I did last year https://docs.google.com/document/d/1oMBOy4buw_8BR9Hs1Nj5WsVo5pu53fifqcDEBYK2b4A/edit?usp=sharing - we did a bunch of mitigations but the scenario described ^^ is the one we didn't have a mitigation for - although I speculated on a couple of things we might investigate
Referring to Caitlin's screenshot above: if they were snoozed on 10/7, with the snooze_end_date of 10/31, shouldn't they have been rejected by the decision node on 10/13 due to these criteria at the decision node?
Non-Donor if:
both_funds_latest_donation_date is not within the last 30 days
AND (snooze_end_date is blank
OR snooze_end_date is before today)






