# Contacts

A **Contact** represents an individual whose details are saved in Dripcel for ongoing engagement. Contacts store all the information you need to personalise, target, and optimise your SMS campaigns.


---

## Fields

**Fields** store information about each contact. There are two types:

* **Default fields** – Predefined fields provided by Dripcel.
* **Custom fields** – User-defined fields (up to 10 per contact) for additional data.

### Default Fields

| Field | Type | Label | Options |
|-------|------|-------|---------|
| cell  | text | Cell  | —       |
| firstname | text | First name | —       |
| lastname | text | Last name | —       |
| idnumber | text | ID number | —       |
| email | text | Email | —       |
| gross_income | number | Gross income | —       |
| household_income | number | Household income | —       |
| date_of_birth | date | Date of birth | —       |
| car_ownership | boolean | Car ownership | true = Yes, false = No |
| gender | select | Gender | male, female, other |
| employment_status | select | Employment status | employed_full_time, employed_part_time, self_employed, unemployed, student, retired |
| job_title | text | Job title | —       |
| province_or_state | text | Province/State | —       |
| city  | text | City  | —       |
| postal_code | text | Postal code | —       |
| credit_score | number | Credit score band | —       |
| lead_source | select | Lead source | google_ads, facebook_instagram, organic_search, referral, affiliate, other |
| opt_in_status | boolean | Opt-in status | true = Yes, false = No |
| preferred_contact_method | select | Contact method | email, phone, sms, whatsapp, postal_mail |
| preferred_language | select | Language | english, spanish |
| signup_date | date | Signup date | —       |
| customer_status | select | Customer status | new, active, inactive, churned, converted |
| parental_status | select | Parental status | parent, non_parent, unknown |
| relationship_status | select | Relationship status | single, in_a_relationship, married, divorced, widowed, separated |
| education_level | select | Education level | high_school, associates_degree, bachelors_degree, masters_degree, doctorate, other |
| home_ownership_status | select | Home ownership | homeowner, renter, living_with_parents, other |


---

### Field Groups

To make contact data easier to manage, Dripcel organises default fields into groups:

* **Contact Details** – cell, firstname, lastname, email, idnumber, date_of_birth, province_or_state, city, postal_code
* **Profile & Demographics** – gender, education_level, relationship_status, parental_status, home_ownership_status, customer_status, signup_date, car_ownership
* **Financial Info** – gross_income, household_income, credit_score, employment_status, job_title
* **Lead & Communication** – lead_source, preferred_contact_method, opt_in_status, preferred_language


---

### Notes on Fields

* The **cell** field is required for all contacts.
* Numbers are automatically normalised to MSISDN format during upload. Examples of valid inputs:
  * `0112345678`
  * `011 234 5678`
  * `27112345678`
  * `+27112345678`


---

## Custom Fields

* Each contact can have up to **10 custom fields**.
* Use them to store additional information relevant to your campaigns.
* Custom fields can be inserted into SMS content for personalisation using the `{{field}}` syntax.


---

## Uploading Contacts

You can upload contacts via **CSV** or **Excel**. Each row represents one contact.

**Steps:**


1. Upload your CSV/Excel file.
2. Map the file’s headings to Dripcel’s fields (only `cell` is required).
3. Select **Country**, **Tags**, and (optionally) enable **Welcome Send**.
   * *Country* is used to format numbers.
   * *Tags* help group and organise contacts.
4. Create new contacts.

> **Info:** Dripcel prevents duplicate contacts by cell number. Each contact can only exist once in the system.


---

## Do Not Contact List (DNC) / Deduplication

A **Do Not Contact list** ensures specific campaigns don’t send messages to the same contact again.

**Steps to upload a DNC list:**


1. Create a CSV/Excel file.
2. Include either of these fields per row:
   * `cell` (cell phone number)
   * `idnumber` (ID number)
3. Select the campaign to apply the DNC list.

Example:

`cell        , idnumber 0112345678  ,             , 9901125075089 `

Once uploaded, those contacts will not receive further messages from that campaign.


---

## Search

The **Search** page lets you find contacts using flexible filters:

* **Include Tags** – Must have these tags.
* **Exclude Tags** – Must not have these tags.
* **Deduped Campaigns** – Contacts removed from a campaign via deduplication.
* **Reachability Window** – Contacts validated within the last *X* days.
* **Last Sent** – Filter by last SMS sent date.
* **Segments/Conditions** – Match a saved segment.

### Search Functions

On search results, you can:

* Clear filters.
* Download contacts.
* Bulk delete results.
* Count matching contacts.
* Save search for reuse.


---

## Contact Actions

Available actions for individual contacts:

* **View/Edit Contact** – Update details.
* **Delete Contact** – Remove permanently.


---

## Validation

Validation determines whether a contact’s number is **reachable** (able to receive SMS).

* Validation happens automatically during sends.
* If an SMS is **delivered**, the contact is marked *reachable*.
* If delivery fails, the contact is marked *unreachable*.

You can then use the **Reachability Window** in campaigns to only target contacts confirmed as reachable.