MAM Brevo Email Manager Overview

What it does

mam-brevo-email-manager adds your WordPress and app users to a Brevo contact list and keeps their details current, so you can send newsletters and automations from Brevo.

  • New signup (app or website): the user is created in Brevo and added to your list.
  • Profile update: name and email changes are sent to Brevo. An email change updates the existing Brevo contact instead of creating a second one.
  • Role change: the contact is updated, so attributes that depend on the role stay correct.
  • Account deleted: the contact is removed from your list (default), deleted from Brevo, or left alone. You choose.

It is single opt-in: users are added as subscribed contacts. Make sure your signup terms cover marketing email.

Sync runs in the background on WordPress scheduled jobs (WP-Cron). Signup never waits for Brevo. If Brevo is busy or rate-limits the site, the plugin waits and tries again (after 1 minute, 5 minutes, 15 minutes, 1 hour and 3 hours).

The plugin does not send email and adds no public endpoints. You use your own Brevo API key. Tiny Screen Labs never sees it.


Setup

1. Create a Brevo API key

  1. Sign in to Brevo.
  2. Click your name (top right) and choose SMTP & API, then the API keys tab.
  3. Click Generate a new API key, give it a name such as “WordPress sync”, and copy the key. It starts with xkeysib-.

Brevo shows the key only once. Keep it somewhere safe.

2. Create or choose a list

In Brevo, go to Contacts > Lists. Use an existing list or create one, for example “App users”.

3. Paste the key in WordPress

  1. In WordPress, go to WP Admin > Mobile App Mgr > Brevo.
  2. In Sync settings, paste the key into Brevo API key (v3) and click Save Settings.
  3. Click Test connection. You should see your Brevo account email and plan. If not, the message shows Brevo’s reason (for example an invalid key).

The key is stored on your site only. The screen shows the last 4 characters. To replace it, paste a new key and save. To remove it, tick Remove the saved key and save.

4. Choose what to sync

On the same screen:

  • Contact list: the list users are added to. Use Reload lists from Brevo if you just created one.
  • When to sync: new signups, profile updates, role changes. All are on by default.
  • When a user is deleted: remove from the list (default), delete the contact, or do nothing. Deleting a contact in Brevo also removes its unsubscribe history, so a person who unsubscribed could be added again later. Removing from the list keeps that history.
  • Roles to sync: tick the roles that belong on the list. None ticked means every role, including administrators.

5. Create the attributes

If your site sends extra contact fields (see Contact attributes below), click Create missing attributes in Brevo once. Brevo ignores values for attributes that do not exist.

6. Turn it on

Tick Sync active and save. Sync is off until you do this, so you can set everything up first.

To check one user right away, enter their user ID or email under Status and log > Sync one user now.


Contact attributes

By default each contact gets:

Brevo attribute From
Email The user’s WordPress email
FIRSTNAME First name (only when filled in)
LASTNAME Last name (only when filled in)

Other MAM plugins and site code can add more attributes (for example a plan, a role label or a date) with the mam_brevo_contact_attributes filter. The Contact attributes panel lists every attribute this site sends and whether it was declared by code or detected from a sample user.


Existing users

Users who signed up before the plugin was active are not added automatically. Profile and role updates only touch users who are already in Brevo. To add everyone at once, see Recipe: Sync existing users to Brevo.


Status and log

The Status and log panel shows how many users have been synced, how many failed on their last attempt, and the last 50 sync results with Brevo’s response code and message.

Each user also carries these user meta fields:

Meta key Meaning
mam_brevo_contact_id The Brevo contact ID
mam_brevo_synced_at Unix time of the last successful sync
mam_brevo_last_error The last error, removed after the next success

For developers

Hook Type Purpose
mam_brevo_contact_attributes filter Add or change the attributes sent for a user.
mam_brevo_contact_list_ids filter Add a user to more lists, or different ones.
mam_brevo_should_sync_user filter Exclude users, or include users the role setting leaves out.
mam_brevo_attribute_definitions filter Declare attribute types for the “Create missing attributes” tool.
mam_brevo_sync_user action Queue a background update for a user from your own code.
mam_brevo_user_synced action Run code after a user was saved in Brevo.

Each hook has its own article.

WP-CLI

Command What it does
wp mam-brevo test Checks the API key.
wp mam-brevo sync <id-or-email> [--dry-run] Syncs one user now, or prints what would be sent.
wp mam-brevo backfill [--role=<role>] [--limit=<n>] [--dry-run] [--resume] Syncs existing users in batches.
wp mam-brevo attributes [--dry-run] [--user=<id>] Creates missing attributes in Brevo.
wp mam-brevo status Shows settings (key masked), backfill progress and recent log rows.

WordPress options

Option Purpose
mam_brevo_settings Settings array (active, list, triggers, delete mode, roles).
mam_brevo_api_key The API key. Not autoloaded, never printed.
mam_brevo_sync_log Last 50 sync results.
mam_brevo_backfill_state Backfill cursor and counters.
mam_brevo_account_info Account email and plan from the last connection test.

Uninstalling the plugin removes these options and any queued jobs. User meta is kept, so a reinstall still knows which Brevo contact belongs to which user.


Requirements

  • WordPress 6.3+, PHP 8.1+
  • MAM Suite with mam-main active
  • A Brevo account and an API v3 key
  • WP-Cron running (default WordPress behaviour, or a server cron calling wp-cron.php)

  • Recipe: Sync existing users to Brevo
  • Hook: mam_brevo_contact_attributes
  • Hook: mam_brevo_contact_list_ids
  • Hook: mam_brevo_should_sync_user
  • Hook: mam_brevo_attribute_definitions
  • Hook: mam_brevo_sync_user
  • Hook: mam_brevo_user_synced

Metadata

Field Value
Article type Plugin Overview
Plugin slug mam-brevo-email-manager
Applies to plugin version 26.41.1+
Category Plugin Reference
Depends on MAM Main
Works with Brevo (formerly Sendinblue), any plan
Hooks exposed mam_brevo_contact_attributes, mam_brevo_contact_list_ids, mam_brevo_should_sync_user, mam_brevo_attribute_definitions, mam_brevo_sync_user, mam_brevo_user_synced
Last verified 2026-10-05
Was this article helpful?
Contents

    Need Support?

    Can't find the answer you're looking for? Don't worry we're here to help!