For proactive strategies to keep your audience clean and engaged over time, see our Audience Hygiene guide.
Contact Activity Timeline
The contact activity timeline provides a chronological view of all interactions and events for a specific contact. This powerful feature helps you understand each contact’s journey and engagement with your emails.
- Go to the Audience page
- Click on any contact’s email address
- View the complete history in the Activity section
What’s Tracked in the Timeline
The timeline displays a comprehensive record of contact activity:Email engagement events
Email engagement events
- Sent: When an email was delivered to the contact
- Opened: When the contact opened an email
- Clicked: When the contact clicked a link in an email
- Hard bounced: When an email permanently failed to deliver
- Soft bounced: When an email temporarily failed to deliver
- Marked as spam: When the contact reported an email as spam
- Unsubscribed: When the contact opted out of communications
Audience events
Audience events
- Added to audience: When the contact was first added to your Brew audience
- Added to subscription group: When the contact joined a specific subscription group
- Removed from subscription group: When the contact left a subscription group
- Property updated: When any contact property was changed
Custom events
Custom events
- Any custom events you track via the API
- Actions taken in your product or website that you’ve configured to send to Brew
Understanding Contact Properties
Every contact in Brew has properties that store information about them. These properties can be used for personalization in your emails and for segmenting your audience.Default Contact Properties
These are the default properties for every contact on Brew. They cannot be deleted.Contact Property | Example | Dynamic Content Tag | API Name |
---|---|---|---|
Created at | Oct 10, 2025, 3:02:06 PM | {createdAt} | created_at |
Updated at | Oct 10, 2025, 3:02:06 PM | {updatedAt} | updated_at |
philip@brew.new | {email} | email | |
First name | Philip | {firstName} | first_name |
Last name | Sørensen | {lastName} | last_name |
Source | CSV | {source} | source |
Subscription Groups | Newsletter, Product Updates | {subscriptionGroups} | subscription_groups |
Subscribed | Unsubscribed | N/A | subscribed |
Custom Properties
In addition to default properties, you can create custom properties to store additional information about your contacts. These can include:- Demographics (location, industry, etc.)
- Preferences (communication preferences, interests)
- Account information (plan type, subscription status)
- Behavioral data (purchase history, feature usage)
Reserved Field Names: The following field names are reserved and cannot be used for custom properties:
created_at
, updated_at
, email
, first_name
, last_name
, source
, subscription_groups
, and subscribed
. Use descriptive alternatives like companyEmail
or workEmail
if you need similar fields.- Go to the Audience page
- Click on the Contact Properties icon - the rightmost icon in the audience table
- Select “Add new property” from the dropdown menu
- In the modal that appears, enter a clear and descriptive name for your property
- Select the property type
- Click “Save Property” to create the property
Viewing Contact Properties
You can see all your contact properties on the API page in Settings.Property Types
Brew supports four types of custom properties:String
String
Text-based information (names, descriptions, categories, etc.)Supported format: Any text valueExamples: “Enterprise”, “New York”, “Referred by Jane”
Number
Number
Numeric values (counts, amounts, measurements, etc.)Supported format: Integers and decimalsExamples: 42, 99.95, 2500, -15, 3.14159
Boolean
Boolean
True/false valuesSupported formats:
- true/false
- yes/no
- 1/0
Date
Date
When sending dates through CSV uploads, forms, or the API, you can use either a Unix timestamp or a readable date string — whichever feels easier.Unix timestamps can be sent in seconds or milliseconds, as either numbers or strings:If you only include the date (like Time zones
You can add a timezone offset to any time —
If you leave it out, Brew assumes it’s UTC by default.
Brew supports times to the second, and will also accept and store milliseconds (
1704067200
(seconds)1704067200000
(milliseconds)
2025-01-05
), Brew treats it as midnight (00:00:00 UTC) for that day.Other accepted formats:YYYY-M-D
YYYY/MM/DD
YYYY/M/D
MM/DD/YY
M/D/YY
M-D-YY
M-D-YYYY
Formats like
To avoid confusion, we recommend using
MM/DD/YY
and M/D/YY
are read as month / day / year (US style).To avoid confusion, we recommend using
YYYY-MM-DD
whenever possible.You can add a timezone offset to any time —
+02:00
, -07:00
, or Z
(for UTC).If you leave it out, Brew assumes it’s UTC by default.
You might notice a few hours’ difference when viewing times in the app — that’s because Brew stores everything in UTC, but your browser displays it in your local time zone.Precision
Brew supports times to the second, and will also accept and store milliseconds (
.sss
) if you include them.Understanding Email Bounces
An email bounce occurs when your message cannot be delivered to the recipient’s inbox. Bounces are important signals about your contact data quality and can affect your sender reputation if not properly managed.Brew automatically handles bounce management to protect your sender reputation, but understanding the different types can help you maintain a healthier audience.
Types of Bounces
Brew categorizes bounces into two main types:Hard Bounces
Permanent delivery failures that won’t be resolved with retries
Soft Bounces
Temporary delivery issues that may resolve over time
Hard Bounces
Hard bounces indicate permanent delivery failures that won’t be resolved with additional sending attempts. Common causes of hard bounces:- Email address contains a typo (e.g., example@gmial.com)
- Email address doesn’t exist (perhaps the person left the company)
- Email server has permanently blocked delivery
- Domain no longer exists
- Automatically identifies the bounce based on server response codes
- Records the specific bounce reason in your campaign analytics
- Adds the email address to your suppression list
- Prevents future sending attempts to protect your deliverability
A hard bounce rate above 0.3% (30 bounces per 1,000 emails) can trigger temporary sending restrictions to protect your sender reputation.
Soft Bounces
Soft bounces are temporary delivery failures that may resolve with time or additional attempts. Common causes of soft bounces:- Recipient’s mailbox is full
- Email server is temporarily down or unavailable
- Message is too large
- Recipient’s auto-responder is active
- Automatically retries delivery based on industry best practices
- Tracks the bounce reason and attempts in your analytics
- Only counts unique soft bounces in your metrics (not each retry)
- Converts to a hard bounce after multiple failed attempts (typically 3-5 days of trying)
Soft bounces typically resolve on their own and don’t require immediate action. However, persistently high soft bounce rates (above 5%) may indicate underlying issues with your sending practices.
Contact Management Tasks
This section covers common operational tasks for managing your contacts database.Updating Contact Properties
To update properties for individual contacts:- Go to the Audience page
- Click on the contact you want to modify
- Make your desired changes
- Click “Save” to update the property
Deleting Contacts
To permanently remove contacts from your database:- Go to the Audience page
- Create and save the contacts you want to delete as a new audience
- Click the “More” (⋮) menu at the top of the table
- Select “Delete contact”
- Confirm the deletion
Contact deletion is permanent and cannot be undone. Deleted contacts will be removed from all subscription groups and automations. This action is different from unsubscribing or suppressing contacts.
Programmatic Contact Management
For programmatic contact management, you can use the Brew API to create, update, and delete contacts directly from your application.View API documentation
Explore the complete API reference with all endpoints, authentication, and code examples
Learn about Audience Hygiene
Discover strategic approaches for maintaining a clean, engaged email list
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:- Self-Service Tools
- Talk to Our Team
Search Documentation
Type in the “Ask any question” search bar at the top left to instantly find relevant documentation pages.
AI Assistant Chat
Click the sparkle ✨ icon next to the “Ask any question” search bar in the top left to chat with our AI assistant that’s been trained on our entire documentation.
ChatGPT/Claude Integration
Click “Open in ChatGPT” at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.