As a matter of ensuring consent is up to date, and because our bounce handling is broken, I have asked my newsletter subscribers to either resubscribe, unsubscribe or opt out.

The unsubscribe and opt out appear to work properly.

So now my list contains two sets:

  • people who recently resubscribed (via the {action.resubscribeUrl token}
  • people who did not recently resubscribe (inactive addresses, broken addresses, people who opened but didn't respond, people who didn't open this particular email).

I would like to search for the first bunch (in part so I can infer who is in the second bunch).

The mailing reports do not appear to track users' resubscribe actions and I can't find it in the Advanced Search. I also can't find any reference to the resubscribe action in the record of a particular user I know resubscribed.

Can anyone explain how to do this?


1 Answer 1


I checked in the code [CRM_Mailing_Event_BAO_Resubscribe::resub_to_mailing()] and the resubscribe function does not unfortunately leave any traces of the action (in logs or otherwise), does not do anything if the person is already included in the groups used for mailing, and just adds the contact to the groups used for mailing for which the contact has the 'Removed' status.

So this leaves you with 2 sub-optimal solutions:

  • if you want to start tallying these from now on, and have PHP programming skills, you can create a simple CiviCRM extension that would implement the hook unsubscribeGroups and log all operations of type 'resubscribe' (cf. https://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_unsubscribeGroups)
  • if this is too late, or you do not have the skills, you can always search for contacts that have been recently added to the groups you are using for mailings, but this will be vastly incomplete as missing all contacts that have never been unsubscribed in the first place.
  • Not the answer I was hoping for, but this absolutely helps clear things up. Thank you very much. I think my own sub-optimal solution might be to remove anyone who has not opened an email in the past year and switch to a third party email service with more idiot-proof bounce processing. Jun 28, 2016 at 1:02
  • While several years too late, someone with PHP skills could probably parse the web server logs to grab the visits to the resubscribe link and figure out who it was based on the URL arguments. This wouldn't work if you allow unsubscribes via email though. Nov 30, 2021 at 22:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.