Skip to main content
Open the Audience tab in the sidebar to see every contact, search and filter them, and edit their details. From an agent, search_contacts (to search), save_contact (to update an existing contact by email), and delete_contacts over MCP work the same records, and the contacts API serves them to code. A search_contacts search that is one whole email address returns only that contact, or nothing when there is none. Any other text matches the contacts whose email, first or last name contains any of its words, so it can return other contacts: update or delete a contact you found by its address, never the first row of a text search.
Every marketing recipient must have opted in to hear from you. Importing or syncing contact data into Brew is not permission to email it. See What You Can Send.

Contact Properties

Every contact has properties, fields that store information you can use for personalization and segmentation.

Default Properties

subscribed, created_at, and updated_at are filter and sort fields, not merge tags. Brew hides them from the variable picker because they’re bookkeeping rather than personalization. Use a custom property if you want a date you can write into email copy. See Merge Tags for the full syntax.

Custom Properties

Add custom properties for any additional data, demographics, plan, behavior, anything you want to use in personalization or segmentation. To add a custom property:
  1. Open the Audience tab
  2. Click the contact-properties icon (rightmost icon in the audience table)
  3. Select Add new property
  4. Name it, pick a type, save
These field names are reserved and can’t be used for custom properties: email, first_name, last_name, subscribed, created_at, updated_at, validation_status, last_validated_at, and import_id. Use alternatives like companyEmail or workEmail if you need similar fields.

Property Types

Text values. Examples: "Enterprise", "New York", "Referred by Jane".
Integers or decimals. Examples: 42, 99.95, 2500.
True/false. Accepted formats: true/false, yes/no, 1/0.
Brew stores dates as UTC timestamps and reads these formats:
  • ISO, with or without a time and offset: 2025-01-05, 2025-01-05 14:30, 2025-01-05T14:30:00Z
  • Unix timestamps: 1704067200 (seconds) or 1704067200000 (milliseconds). Over the API, a JSON number is always milliseconds, so send seconds as a string.
  • Month names: 5 Jan 2025, Jan 5, 2025, January 5 2025, 05-Jan-25
  • Year first: 2025/01/05, 2025.01.05, or 20250105
  • Month and year, read as the 1st: 2025-01, January 2025
  • Dots, read day first: 05.01.2025 is 5 January
  • Slashes or dashes: 01/05/2025, 01-05-2025
A slash or dash date with a day over 12 reads only one way, so 13/01/2025 and 01/13/2025 are both 13 January. A date like 03/04/2025 is 3 April in the UK and 4 March in the US, so Brew reads every date in a column the same way:
  • A day over 12 anywhere in the column settles the order for all of it.
  • Otherwise the CSV import shows both readings of the column’s dates and lets you pick. The API and MCP CSV import take dateOrder (day_first or month_first).
  • With neither, Brew reads month first and the API response carries a DATE_ORDER_ASSUMED warning.
For day-first data, converting dates to YYYY-MM-DD before importing removes the question. Brew stores everything in UTC and displays times in your browser’s local time zone, so small offsets between input and display are normal.

Activity Timeline

Click any contact’s email in the Audience table to see their full activity timeline. Every event, in chronological order. The timeline shows:
  • Sent. When an email was delivered to the contact
  • Opened. When they opened an email
  • Clicked. When they clicked a link
  • Hard bounced. Permanent failure
  • Soft bounced. Temporary failure
  • Marked as spam. They reported an email as spam
  • Unsubscribed. They opted out
  • Added to audience. When the contact was first added
  • Property updated. Any time a property changed

Unsubscribes

Every marketing email carries an unsubscribe link automatically. Unsubscribe page owns how the path works end to end. On this side, the contact’s status updates immediately and an “unsubscribed” event appears in their activity timeline. What happens after unsubscribe:
  • They stop receiving marketing emails, whether one-off sends or automations
  • Transactional sends like password resets still reach them: an automation sending from a transactional-purpose domain delivers to unsubscribed contacts
  • The unsubscribe shows up in your analytics
Important rules:
  • Only a person on your team can re-subscribe a contact, from the contact’s page, after confirming the contact asked to receive your marketing email again. Brew records that confirmation as the contact’s consent. This protects against accidental re-subscription and keeps you compliant with CAN-SPAM
  • The API, the MCP tools, CSV imports and Brew’s agent never re-subscribe anyone. An import row that asks to still updates the contact’s other fields, and the contact stays unsubscribed. Through the API or MCP, a single update that tries is refused with RESUBSCRIBE_NOT_ALLOWED, and an import or batch row that tries comes back with a RESUBSCRIBE_SKIPPED warning
  • Unsubscribing always works: set Subscribed to false on a contact, in an import, or through the API
  • Hard bounces and spam complaints are handled separately from unsubscribes
Don’t delete unsubscribed contacts. If you re-add them later, they could end up subscribed again. Keep them in your audience so Brew can enforce their unsubscribe status.

Customize the Unsubscribe Page

Open Brand → Unsubscribe to preview and customize the page contacts see. You can adjust the copy, branding, and confirmation message. The unsubscribe link itself stays automatic in every email.

Updating Contact Properties

For individual contacts:
  1. Click a contact in the Audience table
  2. Edit any property
  3. Click Save
For bulk updates, re-upload a CSV. Empty cells won’t overwrite existing values, so you can update only what’s changed.

Deleting Contacts

To permanently remove contacts:
  1. Filter or select the contacts to delete
  2. Click the More menu (...) at the top of the table
  3. Select Delete contacts
  4. Confirm
Contact deletion is permanent. Deleted contacts are removed from all automations. This is different from unsubscribing or suppressing.

Need Help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:

Search Documentation

Type in the “Ask any question” search bar at the top left to instantly find relevant documentation pages.

ChatGPT/Claude Integration

Click “Open in ChatGPT” at the top right of any page to explore it further with ChatGPT or Claude.