Audience

Your audience

An audience is a named contact list. Build one, fill it with contacts, and send a campaign to everyone on it.

An audience is a named list of contacts — the people you send marketing email to. Each audience is a simple container: it has a name, a generated id, and a created_at timestamp. Contacts live inside an audience, addressed at /audiences/:audience_id/contacts.

You build audiences in the dashboard under Audiences, or through the API. When you send a campaign, you point it at one audience and MailBlastr delivers a copy to every subscribed contact on the list.

What an audience holds

An audience brings together everything you need to send marketing email to a group of people:

  • [Contacts](/docs/audiences/contacts) — the individual email addresses on the list. Each contact is associated with a single email address, can carry custom properties, can belong to zero or more segments, and can be opted in or out of individual topics.
  • [Properties](/docs/audiences/properties) — the fields stored on each contact. Every contact has the default properties email, first_name, last_name, and unsubscribed; you can also add custom properties to store extra data and personalize campaigns.
  • [Segments](/docs/segments/overview) — saved filters that resolve to a subset of the audience, so you can send to a specific group rather than the whole list.
  • [Topics](/docs/topics/overview) — subscription categories within the audience that let a contact opt out of one kind of email without unsubscribing from everything.
Each contact keeps a history of its marketing interactions (sends, opens, clicks, unsubscribes), so you can see how a person has engaged with your campaigns over time.

Importing contacts in bulk

Beyond adding contacts one at a time, you can bulk-import an audience from a CSV (up to 5 MB / 10,000 contacts per import). CSV columns map to contact fields — email, first_name, last_name, unsubscribed — or to any custom property. When a row matches an existing contact by email you choose how conflicts resolve: upsert (update the existing contact) or skip (leave it untouched). See Managing contacts.

The audience object

{
  "object": "audience",
  "id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
  "name": "Registered Users",
  "created_at": "2026-06-23T17:22:43.000Z"
}

Creating an audience

Give the audience a name — that is the only field. The response is the new audience object, including the id you use to add contacts and send campaigns.

import { MailBlastr } from 'mailblastr';

const mb = new MailBlastr('mb_xxxxxxxxx');

const { data, error } = await mb.audiences.create({ "name": "Registered Users" });
console.log({ data, error });

How campaigns use an audience

  • A campaign targets exactly one audience — every contact on the list receives a copy.
  • Contacts marked `unsubscribed` are skipped, so opted-out recipients never get the send. See Managing unsubscribed contacts.
  • Each recipient gets a personal unsubscribe link; clicking it flips that contact to unsubscribed for future campaigns.
Deleting an audience is blocked while a campaign still references it — delete the campaign(s) first. See Delete audience.

Next steps