Manage contacts, companies, and marketing consent
Keep contacts and companies clean, merge duplicates, and understand how Verbial records consent so email stays compliant.
Contacts are people, companies are the accounts they belong to, and consent is the permission that makes an address mailable. This article shows where each lives and how to keep them clean.
Steps
- Go to CRM, then Contacts. Use the saved views and filters at the top, or search across the brand.
- To add a person, click New contact, enter their email, name, and company. Typing a company name searches existing companies and offers to create one.
- To merge duplicates, click Duplicates at the top of the Contacts page. It finds contacts sharing an email within the brand and lets you merge in one click. Companies have the same tool on their own page.
- To bulk update, assign owners, set a lifecycle stage, enroll in a sequence, or add to a list, tick rows and use the action bar. Add to list offers the brand's static lists only (a smart list refills itself from its conditions); the confirmation names how many joined, how many are pending a double opt-in email, how many were already members, and any who had unsubscribed.
- To export, use Export on the list page. Exports respect your current filters.
How does consent get recorded?
Every path that can make an address mailable writes a consent record: a form submission, a lead sent through the write API, a manual creation by a rep, and imports from HubSpot or the migration hub. Each record carries a basis, a source specific enough to defend ("Form: Contact us"), and when the person actually gave it.
Consent lives with the address at a brand, not with the contact id. A contact can be deleted, merged, or re-created and the permission still belongs to the address.
Suppressions and opt-outs
- Every CRM email carries an unsubscribe link. A click adds the address to the brand's suppression list.
- Postmark complaints and bounces also suppress the address.
- Admins manage the list under CRM, then Suppressions. Bookkeepers can view it for compliance audits.
- Sequences and campaigns check suppression before every send and skip rather than send.
Association labels
A person is rarely the only contact on a deal, and the contacts are not all the same kind of person: one signs, one pays the invoice, one is making the case for you internally. Association labels record that on the link itself, in your own words. On a deal page each contact in the Related rail has a Label picker under the row; on a company page the same picker says what the person is to that company. A contact page shows the labels beside its linked deals and companies.
An admin defines the two lists per brand under CRM settings, on the Labels tab: contacts on a deal, and contacts at a company. Renaming a label updates every link that carries it, reordering changes the picker order, and removing a label leaves its links with no label (the page tells you how many before you save). With no labels configured the free-text role on a link keeps working as before.
Lead scoring
When an admin switches on lead scoring for a brand (CRM settings, then Scoring), every contact carries a 0-100 score and a Lead score panel that explains it. Fit points come from rules on the contact's fields (a job title, a country, a custom budget field), positive or negative. Engagement points come from what the contact did (opened, clicked, replied, submitted a form, booked or attended a meeting) and halve after each half-life, so a quiet lead drifts down on its own. Engagement is capped, so activity alone cannot outrank fit. The panel lists the rules that matched, the ones that did not, and each counted event with what it is worth today. Emails a sender marked private never count. Scores update the moment an event lands (a form submission, a meeting, an open, click or reply), so the number a rep sees is current; merging two contacts rescores the survivor from the events that moved to it, and a scheduled sweep catches anything missed. Scores are a ranking aid for reps: they are not money and never change a lifecycle stage.
The record timeline
Every contact, company and deal page has an Activity panel: one stream, newest first, of notes, tasks, meetings, emails, stage changes, documents and system events. Documents are the proposals addressed to the person (emailed, opened by the prospect, signed, declined), payments on those proposals, the invoices linked to them, and the client reports sent to their company. Amounts are never printed in the timeline; open the invoice or the proposal for the numbers. Each button above the stream turns one kind on or off and your choice is remembered; Stages and Documents have their own buttons so hiding workflow noise never hides a signed proposal.
Being able to open a contact does not make every document about them yours to read. A document row follows the rule of the module it came from: a proposal shows if you created it, it was shared with you, or you can see every proposal; an invoice shows if you can see that brand's invoices; a report shows if you wrote it or manage reports in that brand. When there is more history than the page opened with, a Load older activity button at the bottom adds the next page.
Common questions
How is consent stored?
As an append-only history keyed on brand and email address, not on the contact record. A withdrawal stamps the live rows rather than deleting them, so the record of who said what survives merges and deletions.
What happens when someone unsubscribes?
The address goes on the brand's suppression list and consent is marked withdrawn. Sequences and campaigns skip suppressed addresses automatically.
Can I erase a contact for a data request?
Yes. Open the contact and use the erase action, or export their data first from the same page. Erasure is logged in the audit log.