Skip to content

Membership Notifications

The Membership Notifications function sends automated email notifications to users before their Voxel membership expires. Help users renew on time with configurable reminder emails.

Overview

Keep your members informed about upcoming subscription renewals with automated reminder emails. Configure multiple notification triggers based on days or hours before expiration.

Key Features

  • Multiple configurable notification triggers
  • Days or hours before expiration
  • Customizable email subject and body
  • Dynamic tags for personalization
  • Works with both legacy and new Voxel membership formats
  • Test email functionality
  • Manual trigger option
  • Automatic hourly checks at 6 AM EST

Setup Instructions

Step 1: Enable the Function

  1. Navigate to Voxel Toolkit → Functions in your WordPress admin
  2. Find Membership Notifications in the list
  3. Toggle the switch to enable the function
  4. Click Save Changes

Step 2: Configure Notifications

Add one or more notification triggers:

  1. Click Add Notification
  2. Set the timing (e.g., “7 days” or “24 hours” before expiration)
  3. Enter the email subject line
  4. Write the email body (HTML supported)
  5. Click Save Changes

Dynamic Tags

Personalize your emails with these dynamic tags:

TagDescriptionExample Output
{expiration_date}Membership expiration dateJanuary 15, 2025
{amount}Subscription amount25.00
{currency}Currency codeUSD
{plan_name}Membership plan namePremium Plan
{remaining_days}Days until expiration7

Example Email Template

Subject:

Your {plan_name} expires in {remaining_days} days

Body:

<p>Hello,</p>

<p>Your <strong>{plan_name}</strong> membership will expire on <strong>{expiration_date}</strong>.</p>

<p>To continue enjoying all the benefits of your membership, please renew before the expiration date.</p>

<p>Renewal amount: {currency} {amount}</p>

<p><a href="https://yoursite.com/membership/">Renew Now</a></p>

<p>Thank you for being a valued member!</p>

Consider setting up multiple reminders:

TimingPurpose
30 daysEarly heads-up for annual plans
7 daysPrimary reminder
3 daysUrgent reminder
24 hoursFinal reminder

How It Works

Automatic Checking

  • A WordPress cron job runs hourly
  • Notifications are sent at 6:00 AM Eastern Time daily
  • Each user receives each notification only once (tracked in user meta)

Membership Format Support

The function supports both:

  • Legacy format: Stripe subscription data with current_period_end timestamp
  • New format: Voxel’s updated billing structure with billing.current_period.end

Testing

Send Test Email

  1. Configure at least one notification
  2. Enter a test email address
  3. Select which notification to test
  4. Click Send Test Email
  5. Check inbox for the test email with sample data

Manual Trigger

To immediately process all notifications (useful for testing):

  1. Click the Run Manual Check button
  2. View the results showing processed users and sent notifications

Use Cases

Reduce Churn

Remind users before their membership lapses to encourage timely renewals.

Payment Preparation

Give users advance notice so they can ensure payment methods are updated.

Upgrade Opportunities

Use expiration reminders to promote plan upgrades or annual subscriptions.

Troubleshooting

Emails Not Sending

  • Verify the function is enabled
  • Check that notifications are configured with valid subject and body
  • Ensure WordPress cron is running (use WP Crontrol plugin to verify)
  • Test email deliverability with SMTP plugin
  • Try the manual trigger to see processing stats

Users Receiving Duplicate Emails

The function tracks sent notifications in user meta. If duplicates occur:

  • Check the user meta key voxel_toolkit_membership_notifications_sent
  • Clear this meta to reset notification history

Wrong Expiration Date Showing

  • Check that Voxel membership data is properly synced with Stripe
  • Verify the membership format (legacy vs new) is being detected correctly
  • Use the manual trigger to debug and view processing stats

Built by Code Wattz.