In Brevo, custom objects let you go beyond standard contact data by representing more complex or tailored business information. They’re ideal for modeling real-world entities and relationships that are unique to your business needs.
For example, imagine you run a car rental company. You want to track every car rented by your contacts, including details like plate number, brand, and color. You can create a custom object called "Cars" to store this information for each car and link multiple cars to several contacts, accurately reflecting the real relationship between your customers and your services.
To access your custom objects page listing, go to Contacts > Custom objects.
Good to know
To learn how to create your own custom objects, check our dedicated article Create custom objects.
What are objects?
In Brevo, objects help you structure and organize your customer data. They represent what your contacts have, in contrast to what they do (events) or are (attributes).
Every contact in Brevo is defined by their:
-
Attributes: Basic information like name, age, or location.
For example, Sarah is 34 years old, lives in Amsterdam, and is a sales manager. -
Events: Actions they take.
For example, Sarah opened an email, clicked a link, or visited your website. -
Objects: Items or records associated with them.
For example, Sarah has a premium subscription, a loyalty card, and three recent orders.
Each object has attributes that describe it, such as an order’s ID, date, or total amount. Objects can also be associated with other objects or contacts, like a deal linked to a company and a salesperson. These attributes and associations are visible on the object's detail page and listing pages.
What is the difference between standard and custom objects?
In Brevo, objects are used to represent your customer data. There are two types of objects available: standard and custom.
Standard objects are pre-defined by Brevo to cover the most common business needs, such as deals, companies, and tasks. They come with built-in attributes and relationships to help you manage and analyze your data efficiently. While they are somewhat customizable through custom attributes, they follow a fixed structure that’s best suited for typical business processes. To learn more about custom attributes, check our dedicated article Create and manage custom attributes for deals and companies.
If your business has unique workflows or industry-specific requirements, custom objects offer more flexibility. You can create and define your own objects from scratch, fully tailoring them to match your processes, relationships, and terminology.
The following table highlights the main differences between standard and custom objects:
| Criteria | Standard objects | Custom objects |
|---|---|---|
| Definition | Pre-defined objects in Brevo | User-defined objects |
| Examples | Deals, Companies, Tasks | Anything matching your unique needs: car, subscription, booking, pet, etc. |
| Customization | Limited (custom attributes) | Fully customizable |
| Use case | Common business needs | Industry-specific or unique workflows |
| Relationships | Predefined and fixed | Defined by the user |
| Best for | Quick setup and standard analytics | Tailored processes and custom data models |
Do I need custom or standard objects?
Before creating custom objects, it's important to know if custom objects would fit your needs or if standard objects would be enough. Custom objects don't offer the same level of features, and rolling your data back to a standard object is time-consuming and costly.
The following table gives a few examples where custom objects should be used to answer business needs:
| Industry | Custom object | Attributes |
|---|---|---|
| Car-rental company | Car | Plate number, brand, color |
| Streaming service | Subscription | Plan, next billing date |
| Hotel | Booking | Booking dates, room type, number of guests |
| Pet-sitting | Pet | Name, pet type, breed, birthday |
✅ You should use a custom object if:
- You manage any assets, items, or entities linked to your customers.
- Your customers own or interact with multiple things that have distinct attributes.
- You need to track the history or status of items related to your customers.
❌ You should not use a custom object if:
- An existing standard object and its properties allow you to organize your data.
- There is overlapping or inconsistent data between a standard object and the custom object you want to create.
- You want to leverage features that are unavailable for custom objects (message personalization and detailed analytics).
Use custom objects in Brevo
You can use custom objects in Brevo in several ways.
✂️ Segmentation
Just like standard objects, you can filter your contacts using custom objects.
- Go to Contacts.
- Click Add filter.
- Select the folder with the name of your custom object.
- Select the attributes with which you want to segment your contacts.
You can filter your contacts depending on the number of custom object records associated with them and their attribute values. - (Optional) Click Save as segment.
You can also use the created segments and target these audiences in Campaigns and Automation.
➡️ To learn more about segmentation, check our dedicated section Filters and segments.
🤖 Automation
Let contacts enter a workflow based on events happening on linked object records, such as a due date or a status change. You can then personalize the messages in this automation using custom object data.
➡️ To learn more, check our dedicated articles:
- Available triggers, actions, and rules in an automation
- Personalize your emails with object attributes
Common use cases by industry
Here are common use cases to help you understand what you can build with custom objects, and how to structure your data, automations, and campaigns for each scenario.
Expand the following accordions to see the business goals, features used, setup, and expected results of each corresponding use case.
This use case helps businesses that sell subscriptions or time-limited contracts automate their renewal outreach. By linking subscription or contract records to contacts, you can trigger personalized, multi-channel renewal sequences at the right time for each customer.
Business goals
- Reduce churn by 7–15%
- Automate renewal outreach
- Increase customer lifetime value
Features used
- Date-based automation triggers (X days before end date)
- Object data personalization (subscription/contract details)
- Multi-channel orchestration (email, SMS, push)
- Contact filtering (segment by tier/status)
Setup
- Create a Subscription or Contract custom object with the following fields:
subscription_id,start_date,end_date,renewal_status,plan_tier,monthly_value. - Link multiple subscriptions or contracts to multiple contacts.
- Build the date-based automation:
- Trigger: 30 days before
end_date - Conditional split:
renewal_status=active
- Trigger: 30 days before
- Personalize messages:
- Insert
plan_name,benefits,pricing, and a renewal link - Create tier-specific messaging via segmentation on
plan_tier(VIP vs. Standard)
- Insert
- Create a multi-touch sequence:
- Day -30: reminder email with benefits summary
- Day -14: SMS with quick renewal link
- Day -7: final email with urgency
This use case is designed for automotive businesses that want to keep customers coming back for servicing. By linking vehicle records to contacts and service centers, you can deliver timely, location-aware reminders and offers personalized to each vehicle.
Business goals
- Increase service center bookings by 20%
- Improve customer retention
- Reduce no-shows
- Manage vehicle inventory efficiently
- Increase service department revenue
Features used
- Object lifecycle triggers (inspection completed, service scheduled via object updated/created triggers)
- Date-based triggers (service due date, warranty expiration)
- Message personalization (vehicle-specific data)
- Location-based contact filtering (using the Service Center object's location attribute)
- Multi-object associations (inventory vehicles vs. customer-owned vehicles)
- Segmentation (vehicle type, purchase date, service history)
Setup
- Create a Vehicle custom object with the following fields:
VIN,make,model,year,license_plate,mileage,status,purchase_date,last_service_date,next_service_date,warranty_expiration. - Create a Service Center custom object with the following fields:
location_name,address,phone,hours,specialties. - Link vehicles to contacts. Link service centers to vehicles and contacts. One contact can own multiple vehicles. One service center can be linked to multiple contacts and vehicles.
- Build inspection completion automation:
- Trigger: when a vehicle inspection record is created or updated
- Send an immediate email with inspection findings, recommendations, and a booking CTA
- Build service reminder automation:
- Trigger: 14 days before
next_service_date, or based onlast_service_date+ recommended interval, or mileage threshold - Personalize with vehicle details, recommended services, and nearest location
- Add a contact filter: only send to customers within 50 km of the service center
- Trigger: 14 days before
- Create a follow-up sequence:
- Day -14: initial reminder with booking link
- Day -7: SMS reminder with location and hours
- Day -1: final reminder with easy reschedule option
- Create a warranty expiration campaign:
- Trigger: 60 days before
warranty_expiration - Offer extended warranty with vehicle-specific pricing
- Trigger: 60 days before
- Segment customers by vehicle type:
- Luxury vehicles: premium offers
- Economy vehicles: value-focused offers
Expected results
- Automated service reminders increase booking rates by 18–25%
- Vehicle-personalized messaging increases trust and conversion
- Higher bookings and conversion with relevant, vehicle-specific targeting
This use case helps insurance providers manage multiple policies per customer from a single contact record. Each policy can trigger its own renewal sequence, while segmentation enables targeted cross-sell and retention campaigns.
Business goals
- Maximize policy retention
- Increase bundle sales
- Reduce manual policy tracking
Features used
- Object-based segmentation (single vs. multi-policy holders)
- Date-based automation per policy
- Cross-sell filtering and targeting
- Policy-specific personalization
Setup
- Create a Policy custom object with the following fields:
policy_number,policy_type,start_date,end_date,coverage_amount,premium,status. - Associate multiple policies to a single contact.
- Segment customers:
- Single-policy holders: bundle offer campaigns
- Contacts with 3+ policies: VIP retention campaigns
- Expiring policies: renewal campaigns
- Build per-policy renewal automation:
- Each policy triggers its own renewal sequence based on
end_date - Trigger: 90 days before expiration
- Personalize with policy-specific details
- Each policy triggers its own renewal sequence based on
- Create a bundle upsell campaign:
- Target: contacts with only 1 policy
- Message: highlight savings when bundling with a complementary policy type
- Include a calculator tool and instant quote CTA
Expected results
- Each policy is managed independently
- Bundle offers increase cross-sell while reducing manual tracking
This use case is suited for healthcare providers who need to coordinate appointments across patients, providers, and facilities. Custom objects let you automate confirmations, reminders, and post-visit follow-ups while keeping each patient's care journey personalized.
Business goals
- Reduce no-shows by 35%
- Improve patient satisfaction
- Streamline care coordination
Features used
- Object lifecycle triggers (booked/rescheduled/completed via object created and object updated triggers)
- Date-based triggers (appointment reminders)
- Multi-object associations (patient, provider, and facility)
- Personalized care instructions
Setup
- Create an Appointment custom object with the following fields:
appointment_id,appointment_date,appointment_time,appointment_type,provider_name,facility_location,status. - Use the standard Contact object for Patient records (with relevant health attributes).
- Create a Provider custom object with the following fields:
provider_name,specialty,contact_info. - Link contacts to appointments. Link appointments to providers.
- Build appointment confirmation automation:
- Trigger: when an appointment record is created
- Send an email/SMS to the patient with details and what to bring
- Send a notification to the provider with pre-appointment survey responses
- Create a reminder sequence:
- 7 days before: preparation instructions
- 24 hours before: SMS reminder with reschedule option
- 2 hours before: final reminder with parking and check-in info
- Set up post-appointment follow-up:
- Day after: care instructions, prescriptions, and follow-up scheduling
- 1 week later: wellness check-in
- Handle cancellations:
- If
statuschanges tocanceled: notify the provider and offer alternate time slots to the patient
- If
Expected results
- Fewer no-shows and better patient experience
This use case helps restaurants reduce no-shows and build lasting relationships with diners. By connecting booking records to contacts and restaurant locations, you can automate confirmations, reminders, and follow-ups tailored to each visit.
Business goals
- Increase table utilization
- Reduce no-shows
- Drive repeat visits
Features used
- Object lifecycle triggers (booking created/confirmed via object created and object updated triggers)
- Date-based triggers (reminders)
- Personalized dining preferences via object data injected in campaigns
- Post-visit feedback and offers triggered after filtering on booking date and status
Setup
- Create a Booking custom object with the following fields:
booking_id,booking_date,booking_time,party_size,table_preference,special_requests,occasion,status. - Create a Restaurant custom object with the following fields:
location_name,address,cuisine_type,phone,owner. - Link contacts to bookings. Link bookings to restaurants.
- Build booking confirmation automation:
- Trigger: when a booking record is created
- Send a confirmation email/SMS with booking details, location, and parking info
- Create a reminder sequence:
- 24 hours before: reminder with modify/cancel option
- 2 hours before: final reminder with menu highlights
- Set up post-visit follow-up:
- Day after: thank you message and survey
- 1 week later: special offer
- 1 month later: re-engagement
- Build occasion-based marketing:
- Track
occasionand send a tailored offer before the same date the following year
- Track
Expected results
- Automated reminders reduce no-shows
- Follow-ups drive repeat bookings
This use case is designed for veterinary clinics that manage multiple pets per owner. By creating individual pet records and linking them to owner contacts, you can send reminders and follow-ups specific to each animal rather than each household.
Business goals
- Track pet health records separately from owners
- Improve preventive care compliance
- Increase visit frequency
Features used
- Multi-object associations (one owner, multiple pets)
- Object-based segmentation (species, breed, age)
- Date-based triggers (vaccinations, checkups)
- Personalized pet-specific care recommendations
Setup
- Create a Pet custom object with the following fields:
name,species,breed,age,weight,medical_history,last_visit_date,next_vaccination_date. - Use the standard Contact object for Owner records.
- Link multiple pets to one owner.
- Build vaccination reminder automation:
- Trigger: 30 days before
next_vaccination_date - Personalize with
pet_name,medical_history, andvaccination_type
- Trigger: 30 days before
- Create a wellness visit campaign:
- Trigger: based on
last_visit_date(e.g., annual) - Segment by pet age (senior pets receive more frequent reminders)
- Trigger: based on
- Set up post-visit follow-up:
- Send care instructions, medication reminders, and behavioral tips
Expected results
- Pet-specific communication increases compliance and engagement
This use case helps fitness and wellness businesses manage memberships, class schedules, and attendance in one connected data structure. Tier-aware automations allow you to deliver the right message to each member based on their plan and activity level.
Business goals
- Manage membership tiers
- Reduce no-shows
- Increase retention
Features used
- Multi-object associations (member, tier, and enrollments)
- Lifecycle triggers (enrollment, cancellation)
- Date-based triggers (renewal, reminders)
- Segmentation by tier and attendance patterns
Setup
- Create a Membership custom object with the following fields:
tier,start_date,renewal_date,status,classes_included,payment_method. - Create a Class enrollment custom object with the following fields:
class_name,class_date,class_time,instructor,enrollment_date,attendance_status. - Create a Class custom object with the following fields:
name,schedule,instructor,max_capacity,current_enrollment. - Link one membership to one contact. Link multiple enrollments to both multiple memberships and multiple classes.
- Build class reminder automation:
- Send reminders 24 hours and 2 hours before class
- Include an easy cancellation link
- Create a membership renewal campaign:
- Trigger: 30, 14, and 7 days before
renewal_date - Segment by tier: upgrade offers for lower tiers, VIP perks for higher tiers
- Trigger: 30, 14, and 7 days before
- Set up attendance-based engagement:
- If no classes attended in 2 weeks: send a re-engagement message with recommendations
Expected results
- Fewer no-shows and stronger retention with tier-aware messaging
This use case is suited for educational platforms and kids program providers that need to track individual learner progress and communicate with parents. Multi-object associations make it possible to manage several children under one parent contact and send progress updates for each child separately.
Business goals
- Increase course completion rates by 25%
- Reduce drop-off
- Improve student engagement
- Track progress per child when multiple children share one parent account
- Send child-specific communications
- Reduce administrative questions
Features used
- Object lifecycle triggers (enrollment, progress updates via object update triggers)
- Date-based triggers (deadlines, course start)
- Progress tracking and conditional messaging
- Personalized course content delivery
- Multi-object associations (parent, children, and enrollments)
- Segmentation (age, course type, progress)
Setup
- Create a Course custom object with the following fields:
course_name,instructor,start_date,end_date,registration_deadline,max_students,course_materials_url. - Create an Enrollment custom object with the following fields:
enrollment_date,status,progress_percentage,last_login_date. - Create a Student custom object with the following fields:
name,age,interests. - Use the standard Contact object for Parent records.
- Link multiple enrollments to multiple students and one course. Link multiple students to multiple parent contacts.
- Build a registration campaign:
- Trigger: 7 days before
registration_deadline - Target: contacts not yet enrolled who have viewed the course page
- Personalize with course highlights, instructor bio, and limited seats remaining
- Trigger: 7 days before
- Create onboarding automation:
- Trigger: on
enrollment_date - Welcome email with course materials, calendar invite, and pre-reading
- Trigger: on
- Build progress-based nurture:
- If
progress_percentage< 25% after 2 weeks: send an encouragement email - If
last_login_date> 10 days ago: send a re-engagement SMS - If
progress_percentage= 100%: send a certificate and next course recommendations
- If
- Build course confirmation for multi-child accounts:
- Trigger: when an enrollment is created
- Send the parent a confirmation with child-specific details
- Create weekly progress updates personalized per child.
- Set up completion messaging:
- Congratulations email with certificate and course recommendations based on interests
Expected results
- Automated onboarding and progress nudges improve completion and reduce administrative effort
- Better parent experience and higher repeat enrollments
This use case covers event organizers and ticketing platforms that need to manage registrations, seat inventory, and attendee communications in one place. Connecting event, registration, and ticket records to contacts enables highly personalized pre- and post-event messaging at scale.
Business goals
- Increase attendance
- Reduce no-shows by 30%
- Improve attendee experience
- Maximize ticket sales
- Match inventory with buyers
- Reduce friction in the buying process
Features used
- Object lifecycle triggers (registration, check-in)
- Date-based triggers (event reminders)
- Segmentation (event type, attendance method, seat type, price range, preferences)
- Personalized event details
- Multi-object associations (events, seats/tickets, and customers)
- Real-time inventory tracking
- Personalized recommendations
Setup
- Create an Event custom object with the following fields:
event_name,event_date,event_time,location,virtual_link,max_capacity,event_type,venue,performer. - Create a Registration custom object with the following fields:
registration_date,attendance_method,ticket_type,check_in_status,dietary_restrictions. - Create a Ticket/Seat custom object with the following fields:
section,row,seat_number,purchase_price,listed_price,status,consignment_details. - Use the standard Contact object for Customer records.
- Link contacts to registrations. Link registrations to events. Link tickets to events and contacts.
- Build registration confirmation automation:
- Trigger: when a registration record is created
- Immediate email with event details, calendar invite, and what to expect
- Create a pre-event reminder sequence:
- 7 days before: event agenda and performer information
- 24 hours before: logistics reminder
- 1 hour before: final reminder with check-in instructions
- Segment by attendance method:
- In-person: directions, parking, and on-site contact
- Virtual: link, tech check, and recording availability
- Build event alert automation:
- Trigger: when a new event is announced in a preferred category
- Send a personalized email based on the attendee's favorite artists, teams, or venues
- Create a ticket recommendation engine:
- Segment by purchase history and send matched opportunities
- Build inventory matching:
- On search: match with available inventory
- When a desired seat becomes available: notify the waitlist
- Set up post-event follow-up:
- Day after: thank you message, recording link, and survey
- One week later: related events and resources
Expected results
- Automated reminders and segmentation improve attendance and satisfaction
- Better conversion and higher average order value with personalized, inventory-aware messaging
This use case is built for real estate agencies and home services companies that manage multiple properties or job sites per customer. Linking properties, quotes, jobs, and equipment to a single owner contact makes it possible to run highly targeted campaigns and automate the full service lifecycle.
Business goals
- Engage property owners with relevant maintenance and upgrade offers
- Improve tenant satisfaction
- Convert quotes faster
- Track equipment per customer location
- Automate follow-ups
Features used
- Multi-object associations (one owner, multiple properties; customer, properties, jobs, and equipment)
- Object-based segmentation (property attributes)
- Property-specific campaign targeting
- Object lifecycle triggers (quote created, job scheduled, job completed)
- Date-based triggers (quote expiration, maintenance due)
- Personalized job history and recommendations
Setup
- Create a Property custom object with the following fields:
address,property_type,bedrooms,square_footage,purchase_date,has_solar_panels,last_inspection_date,tenant_status. - Use the standard Contact object for Owner records.
- Create a Quote custom object with the following fields:
quote_id,quote_date,services,amount,expiration_date,status. - Create a Job custom object with the following fields:
job_date,services_performed,technician,total,next_maintenance_date. - Create an Equipment custom object with the following fields:
equipment_type,installation_date,warranty_expiration,maintenance_schedule. - Link multiple properties to a single owner. Link multiple properties to multiple jobs, equipment items, and quotes.
- Build segmented campaigns:
- Solar panel owners: maintenance tips and tax incentive updates
- Multi-property owners (2+): property management service offers
- Properties with tenants: screening and lease renewal resources
- Create property milestone automation:
- 1-year ownership anniversary: home warranty renewal reminder
- 5-year anniversary: upgrade or renovation consultation offer
- Based on
last_inspection_date: inspection reminder every 2 years
- Build quote follow-up automation:
- Immediate confirmation when a quote is created
- Follow-ups: day 3, day 7, and 1 day before expiration
- Create a job completion flow:
- Satisfaction survey, review request, and referral incentive
- Set up equipment maintenance reminders:
- Trigger based on
next_maintenance_date(e.g., annual check)
- Trigger based on
Expected results
- Highly targeted campaigns increase engagement and NPS
- Higher quote-to-job conversion and recurring revenue from maintenance
This use case is designed for B2B businesses that sell products to multiple accounts and need to manage orders, inventory, and client relationships at scale. By linking orders and products to company accounts, you can automate reorder reminders, tier-based campaigns, and stock alerts without manual intervention.
Business goals
- Automate reorders based on consumption patterns
- Increase average order value
- Automate reorder alerts
- Improve inventory turnover
- Strengthen retailer and client relationships
Features used
- Segmentation (account type, volume, preferences, order volume, and product type)
- Date-based triggers (reorder reminders)
- Personalized recommendations
- Object-based segmentation (order volume, product type)
- Inventory-level tracking
Setup
- Use the standard Company object as the Account object, with the following fields:
business_name,account_type,account_tier,credit_terms,territory,storage_capacity,location_name,headcount. - Create an Order custom object with the following fields:
order_id,order_date,products,quantities,order_value,delivery_date. - Create a Product custom object with the following fields:
product_id,product_name,category,unit_price,stock_level,reorder_threshold. - Use the standard Contact-to-Company association. Link multiple orders to multiple companies. Link multiple products to multiple orders.
- Build reorder automation:
- Trigger: based on average order frequency per account (e.g., 30 days since last order)
- Personalize with the product name and the account's usual quantity
- Create account-tier campaigns:
- High-volume: first access to limited releases, VIP tastings, and VIP service
- Mid-volume: standard offers, quarterly check-ins, and QBRs
- Low-volume: growth incentives, educational content, and automated nurture
- Build a new product launch campaign:
- Segment by past purchase preferences and announce relevant releases
- Create a stock alert system:
- If
stock_level<reorder_threshold: alert the purchasing team and notify high-volume customers of delays or alternatives
- If
- Build seasonal campaign automation:
- 60 days before peak season: pre-order campaigns personalized with historical order data
- Build an anniversary campaign:
- One year after the first order or event: send a tailored offer referencing past preferences
Expected results
- Faster reorders and stronger B2B relationships
- Streamlined purchasing, fewer stockouts, and better tiered experience
- Better proposals and higher repeat booking rate
🤔 Have a question?
If you have a question, feel free to contact our support team by creating a ticket from your account. If you don't have an account yet, you can contact us here.
If you’re looking for help with a project using Brevo, we can match you with the right certified Brevo Agency partner.