I have a contribution page that has pcp enabled. I want to send out a mass email to all the pcp owners. I can display a list of all the pages with owners, but I can't do any actions on them. Is there an easy (or even a hard) way to do this?

  • I think PCP stands for "Personal Campaign Page".
    – peterb
    Jul 30, 2016 at 20:23

1 Answer 1


This is definitely a blind spot in CiviCRM! I don't think there's anything except a very hard way: Write SQL to get the contact IDs, then import those IDs, assigning them to a new group.

To get the IDs of EVERYONE with a PCP, here's the SQL:

SELECT contact_id from civicrm_pcp;

If you want to get the PCPs associated with a particular contribution page, and that contribution page's ID is 12, here's the SQL:

SELECT contact_id from civicrm_pcp cp JOIN civicrm_pcp_block cpb on cp.pcp_block_id = cpb.id WHERE cpb.entity_id = 12 AND cpb.entity_table = 'contribute';

If it's an event page, change contribute to event.

Export that as CSV (this is trivial in PHPMyAdmin, for command line you can look up syntax). Import the list of ONLY contact IDs to CiviCRM through Contacts menu » Import Contacts. On screen 4 of 4 of the import, you can specify a (new or existing) group to add your contacts to. Once it's imported, you can mass mail the contacts.

Sorry it's such a hassle! Hopefully an organization invested in PCPs will step up and fund a better solution. If nothing else, a custom search would be easy to write.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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