Page MenuHomePhabricator

Featured Request: Have Civi reflect when an email has been unsubscribed 90 days
Open, Needs TriagePublic8 Estimated Story Points

Description

Is there a way for Civi to reflect on the donor's record when an email has been unsubscribed for 90 days? The current method we have doesn’t show anything so we can't see or assure the donor if an email has been snoozed for 90 days or not. If a notice - snoozed on [date here], or snooze will end on [date here] - could be added into the email field box in Civi, to avoid the need to scroll down into the donor's record each time, when we have to check it, would also be super helpful.
The DR team deals with a high daily volume of unsubscribing emails for 90 days so this feature would help us improve the timing and quality of the responses we provided to donors during each campaign.

Event Timeline

@bsisolak - is there a way to get this from Acoustic? My understanding is this data hits acoustic rather than CiviCRM & we are not bringing it back at all

You can export the current list of Snoozed records (which is currently 15,882) but not the date they will become un-snoozed.

@bsisolak so that is via the UI or the API or both: And that is the limit either way?

Both, you can see who is snoozed in the UI and via an API export - but you can't get the date.

Hi team, please let me know if there's anything I can do to get this rolling in Q3. Thank you!

Something struck me on how you can get this data. If you run this API call each day:

<Envelope>

<Body>
  <ExportList>
    <LIST_ID>9644238</LIST_ID>
    <EXPORT_TYPE>SNOOZE</EXPORT_TYPE>
    <EXPORT_FORMAT>CSV</EXPORT_FORMAT>
  </ExportList>
</Body>

</Envelope>

All new emails will become unsnoozed in 90 days. Once this has been running this for 90 days, the data will be accurate.

In theory someone could come back and Snooze again after 30 days from an old email, that that would reset their 90 day timer. But that likely never actually happens.

Hi everyone, just checking if there are any updates or anything we can do to help this task move forward? My notes from our last year’s call mentioned ping FR tech in February. Thanks for revisiting the possibilities, team!

Dwisehaupt set the point value for this task to 8.Aug 7 2023, 8:37 PM

@bsisolak - it doesn't seem like export type of SNOOZE is an option (I got the whole database) - I think I would get them with a type of OPT_OUT - but I would also get 6 million 'really opted out' contacts. Is there any way to create a list or something that would limit to SNOOZED not any-opted-out

https://developer.goacoustic.com/acoustic-campaign/reference/export-from-a-database

EXPORT_TYPE - Specifies the contacts to export. Valid values are: ALL (exports the entire database), OPT_IN (exports only currently opted-in contacts), OPT_OUT (exports only currently opted-out contacts), and UNDELIVERABLE (exports only contacts currently marked as undeliverable).

Update - I tried the different export types with and the only one that returned my snoozed contact was 'ALL'

OPT_OUT, OPT_IN and UNDELIVERABLE did NOT return my snoozed contact.

I was able to filter by 'modified_date' to reduce the list for the purposes of the test - but we update the checksum field on millions of contacts every day so we can't use 'recently modified' to see who to alter.

So at this stage I don't have a way that doesn't involve downloading & processing the entire database to find the 100 or so contacts that are snoozed. (well I don't know how many are snoozed - I tried to search for it in the UI but it only shows the first 100 contacts so I'm basing my guess of how many on the fact that the contacts I retrieved seemed to go right through to 'z'. I guess it would be more later in the fundraising cycle

drush @wmff cvapi Omnigroupmember.load sequential=1 mail_provider="Silverpop" group_identifier=9644238 start_date="Aug 22, 2023, 21:46" end_date="Aug 22, 2023, 21:49"

Change 951596 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Fix Acoustic link to the latest 'new' url ...

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

In Acoustic under Show Additional Details within the database, the number of Snoozed records is 4,507. In the web interface, exporting SNOOZE only is an option, so suspect we just need to know the correct element name. I'm asking what that is.

Change 951596 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Fix Acoustic link to the latest 'new' url ...

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

@bsisolak - did you have any joy finding out how we can pull just the snoozed contacts

Turns out it's not possible to export specifically the snoozed contacts. You have to ExportList and download the entire database, they are included and the "Opted Out" column will be populated with an S. It might make more sense to add Snooze to your unsubscribe page/preference center and go from it that direction.

@AKanji-WMF the implication here is we can only realistically fetch snooze date from Acoustic 'on demand' (which we currently do as a link in the UI).

However, it's now possible to set snooze date in Civi (@Damilare is planning to demo that I believe) so perhaps we can move to always setting in civi & pushing to acoustic? I don't understand the flow in terms of how it gets to Acoustic - but if DR are manually doing that then it would be a change of their process

Hi @SHust - I will connect with you to discuss!

Thanks for the heads up on this. I will add this to the request for the next phase of our communications preference center.

Next thing to do: make snooze date visible in contact summary screen

SHould create a separate phab for that