Change log

CRM Contacts

Contacts store individual’s contact details and other customer-specific data (including extended custom fields) that is either collected via the website, manually added via the admin, or created via external API connections.

Contacts form the basis of all users interactions with your CRM and can form connections to various other modules throughout the CMS, including Form Submissions, Event Bookings, Orders, and even other system or custom module items.

Managing Contacts


From the Contacts list view you can see all Contacts in a paginated table layout (with pagination controls at the bottom of the table) and a sortable column header for the 'Name' field.

Additionally, you’ll find controls for adding, editing and deleting Contacts, as detailed further below.

Icons, displayed against each Contact row, also indicate the Contact State in which you can see more information on below.

Search/Advanced Search

You can also search the Contact list via the search field at the top of the table, which will search for your keyword/s within the item name and email address.

Additionally, to the right of the search field you can expand open the Advanced Search options. These allow you to display results based on ‘CRM Type’ (whether they are general Contacts or subscribed secure zone members) and ‘Member Type’ (whether the member has successfully been through the email verification process [Confirmed member] or not [Non-confirmed member]).

Regardless of the email verification flow setting (found under ‘Settings’ > ‘Misc’ > ‘CRM Settings’), or the member’s icon in the CRM list, the member’s verification state only becomes ‘verified’ if they have actioned the email verification link sent by Treepl CMS, or a site admin has edited and saved the Contact's password manually.

For more information on Contact/member states, see the documentation for Contact States below.


Found under the main auxiliary menu (), you can import/export data to/from your Contacts. You can further add/update your Contacts in bulk using a spreadsheet application and re-import them in an Excel file format (.xlsx).

Use the "Get Import Template" option from the auxiliary menu, or export the current items, in order to get a template import file you can use for importing new data.

If re-importing to update existing items, be sure to maintain the same 'ID' values from those exported items.

Conflicts & Updating Existing Contacts via Import

When importing Contacts where there is an existing email address, or where you’ve included the existing item ID for updating, a few checks will be performed by the system.

The logic is as follows:

If the import item includes an ID (in the ‘ID’ column of the spreadsheet) but the email address specified in the import is different to the database, the system will first check if the new email address already exists in the database (on another Contact). If it doesn’t, the Contact will be updated with the new email address. However, if it does already exist, the whole item will be skipped with no updates made to that record.

Where no ID is specified, the system will still check all email addresses for duplicates, and if found, will update the existing Contact as per the import file.
New email addresses will, of course, create new Contact records in the database.


Individual items can be deleted either by clicking the trash can icon () to the right of the item or when on the item's edit page, click the trash can icon () in the lower right of the page.

Additionally, you can make bulk selections from the item list view (by ticking the checkboxes on the left of each item) and click the "DELETE SELECTION" button that will appear at the base of the list view.

Populating Contacts

From the Contacts item list view, click the “ADD NEW CONTACT” button at the top to start creating a new item or click directly on the name (or pencil icon "") of any existing item in the list to view/edit its details.

Upon viewing/editing an item you'll have access to the following data, as detailed below:


The Contacts detail view will display any currently populated system fields, along with all added Advanced CRM Groups.

Clicking “EDIT” at the bottom of the page will allow for editing these fields and adding custom fields.

An explanation of the system fields is as follows:

First Name
The contact's first name.
Last Name
The contact's last name.
The contact's email address.
This field can be used to set or override the contact's password.

No password value will be shown here even if there is a password assigned to the contact.

The contact's address line (unit/number and street).
The contact's city/suburb/provence.
The contact's state/territory.
The contact's zipcode/postcode.
The contact's country.
The contact's website address.
The contact's phone number.
An arbitary value to assign any particular status to the contact.
An arbitary value to assign any particular notes to the contact.
Defines the contact as a ‘Consumer’ (default) or a ‘Wholesaler’. A logged in contact with a Wholesaler type will have access to Wholesaler pricing for those products/items that include Wholesaler price options.
The contact’s `Type` is also available in the Liquid output from both the CRMContacts component and the request.currentMember object, for use in custom Liquid applications.

General This is the default Role for a CRM contact and defines the standard behaviour and functionality for a contact record.

Admin User With this Role assigned, the CRM contact gains the following admin permissions when performing website front-end actions:

  • Ability to edit another CRM contact’s information or secure zone settings via the ‘Update Member Form’ (found in the Component Manager under ‘Secure Zone’ or rendered by the member_update_form component).

Assigning this Admin role to a CRM contact counts towards the site’s Admin User limit.

Allow listing my contact data in the CMS (GDPR)
Due to GDPR and privacy regulations, CRM contact data (including Advanced CRM Groups) can only be output on the front-end of your website when this option has been ticked. However, this checkbox can only be checked from the front-end via a form collecting this information, or the Update Account Details form under a secure zone login. Ticking this option via the admin will not save it as a checked state.

You can override this need for individual contact data listing and allow all CRM contacts data to be output via the front-end by adjusting the GDPR setting found at 'Settings' > 'Misc' > 'GDPR Settings'.

Custom Fields

You can assign Advanced CRM Groups to an individual Contact by clicking the “+ Add custom fields” link at the bottom of the contact’s edit details page.

For further information on managing custom fields, see the documentation on Advanced CRM Groups.

Form Submissions

This section provides a similar view as per the main ‘CRM’ > ‘Form Submissions’ component of the CRM, but specifically for Form Submissions owned by the Contact currently being viewed.

For more information on viewing these, see the documentation for Form Submissions.


This section provides an interface for managing the Contact’s Mailing List and Secure Zone subscription status (if applicable for your site plan).

Mailing Lists

If you are using an integrated mailing list solution and have mailing list/s created, you’ll see those lists available here for manually subscribing/unsubscribing the Contact.

See the documentation for more information on mailing lists here.

Secure Zones

If you are using secure zones on your site, you’ll see those secure zones available here for manually subscribing/unsubscribing the Contact, along with setting an expiry date that the secure zone access will be applicable for.

If the secure zone is a paid recurring zone and the current Contact has an active paid subscription, there will also be a “Cancel recurring subscription” link alongside the relevant zone. This enables you to stop the contacts' future payments and remove their secure zone access.

Further options for secure zones include:

“SEND PASSWORD RECOVERY E-MAIL”, allowing you to send the “Password Retrieve Email” system email (which generates the contact’s reset password link).

“SEND LOGIN DETAILS E-MAIL”, allowing you to send the “Secure Zone Login Details” system email (which lists the zones they have access to).

“RESEND VERIFICATION”, allowing you to send the “Confirm Email Notification” system email (which generates a one-time use, tokenised link to verify the validity of the email address being sent to).

This button will not be visible if the member is already verified, or if you have unchecked the ‘Enable email verification flow’ setting (found under ‘Settings’ > ‘Misc’ > ‘CRM Settings’).

See the documentation for more information on System Emails here.

Contact Statuses

Displayed alongside Contact record names you may see various icons.

These icons indicate the current member/admin status for that Contact and can be described as follows:

No Icon
If no icon is present, the Contact is a general Contact record - added to the CRM either manually or via a form on the website front-end.
This icon indicates the Contact has a ‘member’ state as they are subscribed to one or more secure zones. However, they have a non-verified email status.
This icon indicates the Contact has a ‘member’ state as they are subscribed to one or more secure zones. They also have a verified email status, either because they have actioned the verification email link from a system email or an admin user has edited their password manually.
This icon indicates the Contact has a CRM Role of “Admin User” (they may or may not be a member or have a verified email status). For more information on the CRM Role of “Admin User” see the above CRM Contact Details.

Front-End Updating Contacts Logic

How a Contact’s CRM fields are updated after a front-end form submission depends on the Contact’s status in the CRM.

For example; existing stored data against a non-verified Contact can be overridden by subsequent form submissions. However, for verified Contacts (with a ‘member’ status), their data should be protected from unauthorised updates.

Below is a table describing when a Contact’s data is or isn’t updated (based on a front-end form submission that isn’t a Secure Zone registration form):

Logged In As
Email Used In Form
Email's CRM Status
Update Data
not logged in
not logged in
Member (Non Verified)
not logged in
Member (Verified)
Member (Non Verified)
Member (Verified)
Member (Verified)

The logic changes slightly for front-end forms that subscribe Contacts to a Secure Zone (assuming current password entered for those Contact's already Members), as described in the table below:

Logged In As
Email Used In Form
Email's CRM Status
Update Data
not logged in
not logged in
Member (Non Verified)
not logged in
Member (Verified)
Member (Non Verified)
Member (Verified)
Member (Verified)

To update a Contact’s CRM fields, of which has a ‘member’ status, it would be best to use the Update Account Form or the ‘member_update_form’ component.

Related Articles

  • Reports
    Custom Reports

    Custom reports can be used to bring CRM data together, as a spreadsheet, based on your requirements.
  • CRM
    Form Submissions

    Form Submissions store the captured data from any form submission made on your website (from a form created under ‘Content’ > ‘Forms’).
  • CRM
    Event Bookings

    Event Bookings store all registrations made to an Event item, either via the website front-end or manually allocated via the admin.
  • CRM

    Orders store accounts of any payments made via the website and provide management for additional payments, invoices, order statuses, tracking info, the products purchased within the order and the details of the form submission used to take the order.
  • CRM
    Advanced CRM Groups

    Advanced CRM Groups allow you to extend the data fields within multiple areas of the CRM, either globally or on a per-record basis.
  • Liquid Components

    This component fetches CRM Record data to use on the front-end via Liquid.
  • Liquid Components

    This component fetches Advanced CRM Group data attached to CRM Records, Cases, Orders or Event Bookings.
  • Liquid Components

    This component renders a contact update form for a specified CRM contact so that a CRM Admin role, who is logged in to the front-end, can update the specified contact’s CRM info or secure zone subscriptions.

External Resources

There are currently no external resources available.

Please let us know if you have any other contributions or know of any helpful resources you'd like to see added here.


We are always happy to help with any questions you may have.
Visit the Treepl Forum for community support and to search previously asked questions or send us a message at and we will consult you as soon as possible.