Understanding trigger logic, repeat reminders, eligibility, and dual-membership scenarios
1. Overview
CiviCRM’s Membership Renewal Reminders use scheduled logic based on the membership expiry date. Every time the scheduled reminder job runs, CiviCRM re-evaluates each membership to determine:
-
Should a reminder be sent today?
-
Has this membership already received a reminder for this reminder cycle?
-
Has the expiry date changed (e.g., renewed)?
-
Does the membership still meet the reminder’s include/exclude rules?
If a membership no longer meets the criteria (for example, because the member renewed), CiviCRM automatically stops sending future reminders.
This behaviour is by design and prevents unnecessary reminders after a renewal.
2. When a Reminder Is Sent
A reminder is sent only when all of the following are true:
-
The membership’s expiry date falls within the configured timing window
(e.g., “2 weeks before expiry” or “up to 4 weeks after expiry”). -
The reminder’s status filters (if used) match the current membership status.
-
The membership is included by recipient groups or rules, and not excluded by any exclude groups.
-
The reminder has not already been sent for the relevant time window.
Every run of the Scheduled Reminders job recalculates all of the above.
3. Understanding the “Repeat” Option
The CiviCRM documentation notes that Repeat is generally not recommended because it can cause confusion if include/exclude logic changes between runs.
However, many organisations do use Repeat successfully.
Repeat reminders work because:
-
CiviCRM creates only the first reminder occurrence at the trigger time.
-
It then uses the Action Log record to know that the first reminder was sent.
-
For each subsequent repeat cycle, CiviCRM re-checks eligibility before creating the next occurrence.
If the membership no longer meets the criteria — for example, the member renews and their expiry date moves into the future — CiviCRM does not create the next repeat occurrence, and the reminders stop.
4. Activity Records: How to Check What Was Sent
Each reminder sent creates an activity:
Activity Type: “Membership Renewal Reminder”
You can view these via:
Search → Activity Search → filter by Activity Type = “Membership Renewal Reminder”
Or open a contact and check their Activities tab.
If a member received multiple reminders, you will see multiple “Membership Renewal Reminder” activities, one for each week (if Repeat was used).
If reminders stopped after renewal, the last reminder activity corresponds to the week they became ineligible.
5. Dual Memberships: A Common Source of Confusion
Some contacts have two memberships (often an old one and a new one).
Important:
-
Reminders are sent per membership, not per contact.
-
If only one membership was renewed, reminders continue for the other membership.
Example:
-
Membership #1 renewed → reminders stop for that membership.
-
Membership #2 still expired → reminders continue for that membership.
When reviewing complaints about “extra reminders,” check whether the contact has multiple memberships and whether the second membership should remain active, cancelled, or merged.
6. Include / Exclude Groups: Best Practices
Recommended Approaches
Use an Exclude Group, such as:
-
“All Current Memberships”
-
“All Current + Grace Memberships”
-
“Expiry Date > 30 days in the future”
This ensures:
-
Members who have already renewed are automatically suppressed on the next run.
-
Repeat reminders stop cleanly after renewal.
-
Contacts with dual memberships only receive reminders for the expired one.
Avoid overly complex Include Groups
Include logic should remain simple, e.g.:
-
“Memberships expiring within the next 7 days”
-
“Memberships expired up to 30 days ago”
The expiry date change after renewal is sufficient to suppress further reminders.
7. Troubleshooting: How to Confirm Expected Behaviour
When reviewing a case:
-
Open the contact’s Membership tab
– Check expiry dates and whether there are multiple memberships. -
Open the Activities tab
– Look for “Membership Renewal Reminder” entries and their dates. -
Confirm:
-
If renewal happened early → only one reminder is expected.
-
If renewal never happened → all reminders should be sent.
-
If two memberships exist → reminders may continue for the expired one.
-
This method provides clear evidence of expected behaviour.
8. Key Takeaways
-
CiviCRM recalculates reminder eligibility every time the reminder job runs.
-
If a member renews, future reminders stop automatically.
-
Using Repeat is possible but requires careful include/exclude logic.
-
Activity Search (“Membership Renewal Reminder”) is the audit trail.
-
Dual memberships are the most common cause of “unexpected extra reminders.”