Sending emails with personalised links / Opt-in to communications

2018-03-26 10:08
Written by
mattwire - member of the CiviCRM community - view blog guidelines

I've had a few requests from clients recently with queries around updating contact details and permissions with the new GDPR data protection legislation coming into force in Europe in May.

As a result I've developed two very simple extensions which I'd like to share:

Contact Checksum

This extension provides a simple UI under the contact summary via Actions->Contact Checksum.

When opened a simple UI is displayed with information and example links to use in emails when sending personalised / "update your details" links from CiviCRM.

Available from


Opt-In Communications Fields

This is a simple extension that provides a set of "Communication Preferences" custom fields for each contact.  Email, Phone and Mail(Post) are provided.


The fields are provided as "Yes/No" fields so that when placed on a form (eg. a profile) the user must explicitly set one or the other.  When they are updated the corresponding "Do not" fields on the contact record are updated accordingly.

Note that "Phone" incorporates both the "Do not Phone" and "Do not SMS" flags.


Available from




These extensions look helpful.  For using checksums in emails, have you tried the   


Suggest adding 'event registration' as an example as well

Very timely. Was just working with another client who was referencing GDPR in the last few days.

I was just wishing for this very thing recently. Thanks!

GDPR extension v2 due out tomorrow, we've made a number of enhancements including;

  • A version of the above (sorry Matt - we didn't know you were doing it!) with profiles, control over the options/labels presented and more...
  • Data policy acceptance during sign up for events/memberships
  • Terms and conditions acceptance during sign up for events/memberships
  • Finding contacts who haven't had any activity for a period of time
  • A forget me process including ending any active memberships