Skip to main content

Choose Who Receives Your Campaign

Make sure your message reaches exactly the right people — a saved list you re-use, a live segment that updates itself, or a one-off file you exported from somewhere else. Getting the audience right (and clean) is what decides whether the send lands or wastes your quota. This step works the same for every channel — Email, WhatsApp, SMS, and Voice Call.

Entry pointGrowth → Campaigns → New Campaign

Article summaryDetails
Step in creator3 of 4 · Audience
Where to goInside any campaign: Setup → Content → Audience
Channels it applies toEmail · WhatsApp · SMS · Voice Call

The Three Audience Types

The Audience step shows three cards. Pick exactly one:

Audience typeWhen to useWhat it asks for
Contact ListA saved list of recipients you re-use oftenA single dropdown — pick the saved list.
Dynamic SegmentA live segment defined by tagsPick one or more tags; recipients refresh at send time.
File UploadA one-off CSV / XLSX exported from another toolUpload the file; Brixi parses headers and previews rows.

The card you pick is highlighted in purple. Below the cards, the right-hand panel switches to match — Saved Contact List dropdown, tag picker, or file-upload zone.


Contact List

Use a Contact List when the same audience runs more than once (monthly newsletters, regional outreach lists, VIP segments).

  1. Tick the Contact List card.
  2. The Saved Contact List dropdown appears. Pick the list.
  3. The Estimated audience card refreshes to show the live contact count (e.g., Estimated audience — 4 contacts).
  4. Click Continue → Schedule & Review.

What a saved list contains

Each saved list is a snapshot of contacts maintained inside Brixi (under CRM → Contacts → Lists). The campaign send time uses the current list membership — adds and removes between save and send are picked up automatically.

Saved lists are the most reusable option — when the same audience is going to receive multiple campaigns (weekly, monthly), save it once as a list and pick it from this dropdown instead of re-uploading a CSV each time.


Dynamic Segment

Use a Dynamic Segment when you want recipients defined by tags that change over time (e.g., status:hot-lead, source:facebook, region:bangalore).

  1. Tick the Dynamic Segment card.
  2. Pick one or more tags from the picker.
  3. The Estimated audience card shows the live match count.
  4. Click Continue → Schedule & Review.

Dynamic segments re-evaluate at send time — if a contact stops matching the tag rule between save and send, they're excluded.


File Upload

Use File Upload for a one-off send from a list you already have as a spreadsheet (CSV or XLSX export from another CRM, lead form, or event registration).

  1. Tick the File Upload card.
  2. The Sample format panel and a drop zone appear.
  3. (Optional) Click Download sample CSV or Download sample XLSX to grab a starter file with the right headers.
  4. Drag your CSV / XLSX into the Upload your contact list zone, or click the zone to open the file picker.
  5. On upload Brixi shows a File uploaded successfully toast, replaces the drop zone with a file preview card showing <filename> + size, and adds a Replace File button if you need to swap it.
  6. The Estimated audience card and Sample contacts preview below populate.
  7. Tick the opt-in compliance checkbox (see next section).
  8. Click Continue → Schedule & Review.

Required headers

The header row depends on the channel because the join key differs:

ChannelRequired header row
EmailFirstName, LastName, Email
WhatsAppFirstName, LastName, PhoneNumber
SMSFirstName, LastName, PhoneNumber
Voice CallFirstName, LastName, PhoneNumber

Phone numbers must include the country ISD code+919876543210 or +14155552671, not 9876543210. The sample CSV includes this in the instructions panel.

Extra columns become template variables

Any column beyond the required three becomes a per-recipient template variable.

Example CSV:

FirstName,LastName,PhoneNumber,source,status
Asha,Rao,+919876543210,Facebook,New
Karan,Patel,+919876543211,Website,Repeat

In a template that references {{ source }} and {{ status }}, each recipient gets their own values substituted in. A Variables detected badge appears at the top-right of the sample preview when Brixi spots extra columns.

Replacing or removing the file

  • Replace File — pick a different file (same shape required).
  • Back (bottom-left) — clears the upload and re-opens the audience cards. Switching from File Upload to Contact List or Dynamic Segment discards the uploaded file.

Opt-In Compliance Checkbox

After File Upload, Brixi shows a mandatory checkbox:

"I confirm that I have acquired these contact details through explicit opt-in and have legal permission to send them marketing communications."

You can't continue with Continue until the box is ticked. This is a legal requirement for marketing sends — keep evidence of how each list was collected.

The checkbox is per-upload, not workspace-wide — every CSV / XLSX upload requires confirmation again.


Estimated Audience & Sample Contacts

Once the audience is picked or the file is parsed, two extra cards appear below the main panel:

  • Estimated audience — the count Brixi will attempt to send to. For dynamic segments and lists, this is live and refreshes at send time.
  • Sample contacts — a table of the first five rows with the columns First Name, Last Name, Phone / Email (depending on channel), Variables, and Errors. Use this to spot-check formatting before launch.

The Variables column shows extra-column values as chips (source Facebook, status New, etc.). The Errors column flags rows that will be skipped — bad phone format, missing email, unsupported chars in name.


Channel-Specific Rules

The audience step is shared, but the rules for valid recipients differ by channel:

ChannelSkipped whenTip
EmailEmail column is empty / invalidRun a quick =ISNUMBER(FIND("@",B2))-style check in the spreadsheet before upload.
WhatsAppPhone missing or missing country ISD codeAlways +<country><number>. Numbers without + are skipped.
SMSSame as WhatsAppSame as WhatsApp.
Voice CallPhone missing or missing country ISD codeConfirm the phone is dialable from your Voice provider's region.

Common Issues

IssueWhat to check
Audience count is lower than the CSV row countRows with bad email / phone are skipped. Open Sample contacts → Errors to see which rows.
Uploaded file has Invalid headersThe header row must contain the required columns for the channel (see Required headers). Header names are case-insensitive.
All phone-channel rows are skippedCountry ISD code is missing — phones must start with +<country>. Re-export from your spreadsheet with the prefix added.
Variables don't fill on the live sendThe audience file doesn't have a column for the template's variable. Re-upload with the column.
Continue stays disabledOpt-in compliance checkbox not ticked, or Estimated audience is 0.
Saved list dropdown is emptyNo saved lists exist yet — create one under CRM → Contacts → Lists.
Dynamic Segment match count is 0Tags chosen don't match any current contacts — try one tag at a time to narrow it.
Replace File button doesn't appearThe first upload didn't finish (no File uploaded successfully toast) — wait, or click the drop zone again.

Most audience problems are list problems, not product problems — empty saved-list dropdowns and zero-match segments mean the lists or tags don't exist yet in CRM → Contacts, which you or your admin can fix there.

Contact Brixi support if a CSV / XLSX with the exact required headers is still rejected as Invalid headers, or the Estimated audience count never appears after a successful upload. Attach the file (with test data, not real contacts) and a screenshot of the error.

Related articlesCampaigns overviewSchedule & ReviewCampaign StatsEmail campaignWhatsApp campaignSMS campaignVoice Call campaign
Was this article helpful?If something is unclear or out of date, email support@brixi.ai with the article title — or see Getting Help for what to check first.