SYSTOPIA Extension of the Month #21: Contact Identity Tracker

Published
2026-01-06 02:32
Written by
SYSTOPIA - member of the CiviCRM community - view blog guidelines

The “Extension of the Month” series aims to showcase some of the over 60 extensions and tools we've built for CiviCRM. This last issue on theContact Identity tracker” extension is short and sweet: It tracks.

What does the extension do?

This extension lets you keep track of multiple identifiers for your contacts. Each can have an identifier type and a different source.

This allows for more ways to identify contacts other than the CiviCRM contact ID and the External Identifier field.

You will also be able to see the date the identifier has been used the first time (or was added to CiviCRM), allowing for a history of identifiers once any of them change.

What is it good for?

The ID-Tracker aims to solve two problems:

  1. Add and track any number of unique references to your contacts. This could be any string as long as it's unique to this contact.
  2. Maintain a contact's IDs during a duplicate contact merge. Since this extension simply uses a custom field set, all IDs will automatically transferred to the prevailing contact.

How do you use it?

Identifier types are OptionValues and can be managed using the CiviCRM Core administration UI for option groups at Administration > System Settings > Option Groups. The option group is called Contact Identity Types (contact_id_history_type).

Each identity type consists of a (human-readable) name, a value (which will be the machine-readable name), an optional description, and an optional icon.

Once you set up an identity type, you will be able to add identifiers to contacts with that type. The contact overview will have a new tab Contact Identities, which is basically a table view of a multi-value CustomGroup that this extension creates and utilizes. This table will contain the CiviCRM ID of the contact and also the External Identifier value if it is set.

Screenshot of CiviCRM pop-up window to edit the option group for contact indenty types.
Edit contact identity types at the option values administration page

Anything else?

Well, yes: This has been the last “Extension of the Month”.

This ongoing series was made to share our development work more publicly and to help you unlock CiviCRM’s potential with some extension gems. There are plenty more extensions we want to showcase. And we will! But we have decided to switch up the format a little bit, focus on documentation, video tutorials and case studies in the future.

Thank you for reading and your feedback. You can always reach us at info@systopia.de.

Links

Filed under