I'd like to generate a list of all contacts who have received a mailing and have never opened any of them... How can I do that?

1 Answer 1


Something like via Adv Search

  • create Group A based on eg CiviMailing > Delivery Status = Successful

  • create Group B based on eg CiviMailing > Trackable opens = Opened

by my reckoning this should mean you can then find everyone who has had a deliver and exclude everyone in that group who has ever opened

  • use Custom Search Include/Exclude to say "Group A minus Group B" /civicrm/contact/search/custom?csid=4&reset=1

May not be exactly what you need but may give you an approach to try. If you have trouble finessing making your Groups via Adv Search then try Search Builder

Alternatively SearchKit may be able to do this in a single query (would need to be on a very recent version of civicrm)

Note: the concept of 'opened' is tricky as it will depend on how each person's mail app treats mail. So a more certain (but different) search may be to exclude all those who have clicked a trackable url.

  • As Pete indicates, tracking 'opens' is not an exact science. IIRC Civi uses a tracking pixel, and of course mail apps may be configured not to download images by default, so tracked opens can only ever be a vague measure. Use it with care.
    – Graham
    Jan 16, 2022 at 16:55

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.