{% extends "base.html" %} {% block title %}Brevo — {{ club.name }}{% endblock %} {% block content %} {% include "club_ribbon.html" %} {% if not club.brevo_api_key %} {# Not connected yet — paste an API key #}
Connect Brevo

Connect your club's Brevo account to automatically keep a contact list in sync with your members. Member details, renewal links, barcodes, and lifecycle tags are pushed one way (this site → Brevo) so you can build automations and segmented campaigns.

{% csrf_token %}
  1. Open your Brevo API Keys page (in Brevo: Settings → SMTP & API → API Keys). You'll need to be logged in to the Brevo account you want to sync into.
  2. Click Generate a new API key (v3), give it a name like “{{ club.name }} sync”, and copy the key — it starts with xkeysib-.
  3. Paste it below and click Connect Brevo.
Your key is stored encrypted and only used to sync your members.
If your Brevo account restricts API access by IP (Authorized IPs), also add this server's outbound IP{% if server_ip %} — {{ server_ip }}{% endif %} to the allow-list. If a key is rejected for that reason, we'll show the exact IP Brevo blocked.
{% elif not club.brevo_list_id %} {# Connected, but no list chosen #}
Choose a list

Pick the Brevo list your {{ in_scope_count }} member(s) should sync into, or create a new one named “{{ club.name }} Members”.

{% csrf_token %}
{% for list in lists %} {% endfor %}
{% csrf_token %}
{% else %} {# Fully connected #}
Brevo connection Connected
List
{{ club.brevo_list_name|default:club.brevo_list_id }}
Members in scope
{{ in_scope_count }} {% if not_synced_count %} — {{ not_synced_count }} not yet synced {% endif %}
Subscribed
{{ subscribed_count }}
Unsubscribed / cleaned
{{ unsubscribed_count }}
Last sync
{{ club.brevo_last_sync|default:"—" }}

Members are synced automatically whenever their record is saved, and again each night.

{% if club.brevo_last_error %}
Last error: {{ club.brevo_last_error }}
{% endif %} {% if has_emails_enabled %}
You have outgoing emails enabled. Now that Brevo is connected you may want to turn those off and send membership emails (welcome, renewal, expiry reminders) through Brevo instead — for example, using an Automation that filters on the MEMBER_TAGS attribute (e.g. contains new-member or expiring-soon). Manage email settings
{% endif %}
Tags & attributes

Each member is tagged automatically based on their membership status, activity, and location. Because Brevo has no native tags, the active tags are written to the MEMBER_TAGS attribute — build a segment with “MEMBER_TAGS contains tag” to target each group.

expiring-soon Membership expires within 30 days
expired Membership has expired
new-member Joined within the last 6 months
long-term-member Member for 5 or more years
admin Has club admin access
nearby Within 10 miles of the club
medium-distance 10–30 miles from the club
long-distance More than 30 miles away
power-seller Sold over $1,000 in lots
power-buyer Bought over $1,000 in lots
auction-checkin Has checked in to at least one auction
discord-connected Discord account linked
probably-inactive No club activity in the last 6 months
CATEGORIES Up to 5 categories the member is most interested in, based on their buying and selling history

Attributes available for personalization in campaigns (e.g. {% templatetag openvariable %} contact.FIRSTNAME {% templatetag closevariable %}):

FIRSTNAME First name
LASTNAME Last name
MEMBERNO Membership number
EXPIRES Membership expiration date
RENEW Link to renew or manage membership
BARCODE Membership barcode image
PHONE Phone number
ADDRESS Mailing address
MEMBER_TAGS Pipe-separated lifecycle tags (for segmenting)
CATEGORIES Pipe-separated top categories of interest
CLUBUNSUB Link to unsubscribe from club emails
RESUB Link to resubscribe
NOCOMM Link to stop all contact
{% endif %} {% endblock %}