Page MenuHomePhabricator

Acoustic suppressed emails 2023-10-19
Closed, ResolvedPublic

Description

~40k emails came in on omnimail_recipient_process_unsubscribes which was causing the timeout failmails (taking 35 minutes to finish instead of ~1)

These all had status Suppressed which is not the user generated unsubscribe status (that is opt-out). Talking to @KHaggard we think it was from a list that was accidentally set to suppressed.

Since there were still suppressed unsubscribes coming in I turned off the omnimail_recipient_process_unsubscribes job at 00:11 UTC on 2023-10-20.

We then turned off the silverpop export on the acoustic side and fr-tech side as we don't want these accidental unsubscribes to get back to the master suppression list.

We need to:

  • Figure out if its possible to clear out the unsubscribes that are coming in from acoustic (not sure how this works or if its possible)
  • Remove all the accidental unsubscribes from civi
  • Turn the silverpop export and unsubscribe jobs back on

Event Timeline

@bsisolak I'm not sure if you're monitoring Phab, but we're wondering why Acoustic seems to have started sending 'Suppressed' events when we suppress donors via our scheduling process. Our Civi integration is treating those as unsubscribes, which is NOT what we want. Have you seen this with other clients? And is there a way to distinguish the 'suppressed from one send' events from 'suppressed forever because they unsubscribed' events?

This was related to something @KHaggard sent me an email on, and that a large suppression list was added at the time of send.

You have been getting suppressed events from Acoustic for all time, it's been this way for time immemorial. I suspect you have never noticed as the numbers have been small.

I'll also add that the reason why this is the first time we're seeing this is that we usually don't rely much on suppression lists because we handle everything with queries, however, I always thought of suppression lists as a possibility to use if we have rush jobs and need to suppress a group of people quickly. I didn't realize that if we deployed an email and the suppression was used that Civi would pick it up and translate it as unsubscribes. Definitely don't want going forward, as we may need the flexibility to suppress people for certain sends and not other sends.

I'm around today if there's any other information needed. Hoping we can resolve before emails need to start going out again on Monday. Due to the time constraint, I'm setting this task as high priority.

More context. There are three types of suppressions (System, Org, Mailing). System suppressions are domains that are suppressed on all of Acoustic as they are not real, spam trap, generic garbage. Org level are the Master Suppression List, and Mailings level is when someone added a Suppression List at the time of send.

Because you update the Master Suppression List every night, you have perhaps never seen this before.

These should not be marked unsubscribes of course. This is similar to the issue years ago where you marked Reply Mail Blocks as unsubscribes. So larger question, what else to you mark as unsubscribes?

Change 967481 had a related patch set uploaded (by Cstone; author: Cstone):

[wikimedia/fundraising/crm@master] Remove Supressed from unsubscribes

https://gerrit.wikimedia.org/r/967481

@bsisolak Currently 'Opt Out', 'Reply Abuse', 'Suppressed' are all marked unsubsrcibes, the above patch is removing Suppressed from that list

Change 967511 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Test reverting a batch of 100 unsubscribes

https://gerrit.wikimedia.org/r/967511

Change 967511 merged by Ejegg:

[wikimedia/fundraising/crm@master] Test reverting a batch of 100 unsubscribes

https://gerrit.wikimedia.org/r/967511

Change 967481 merged by Ejegg:

[wikimedia/fundraising/crm@master] Remove Supressed from unsubscribes

https://gerrit.wikimedia.org/r/967481

Change 967533 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Break up table create and batch run

https://gerrit.wikimedia.org/r/967533

Change 967533 merged by Ejegg:

[wikimedia/fundraising/crm@master] Break up table create and batch run

https://gerrit.wikimedia.org/r/967533

Change 967537 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Revert the rest of the erroneous unsubscribes

https://gerrit.wikimedia.org/r/967537

Change 967537 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Revert the rest of the erroneous unsubscribes

https://gerrit.wikimedia.org/r/967537

Update for what happened on Friday:
Elliott created a temp table with all the affected emails, we created a script to undo the unsubscribes based on the suppressed status. We ran that then turned all the jobs back on.

XenoRyet set Final Story Points to 8.