Skip to main content

Promote to Bridge — Grace Period

When you run the Promote to Bridge wizard, each promoted subscriber is given a grace period — a window during which their existing Benecaster feed token continues to work even though they are no longer being managed by the built-in membership system. The grace period gives subscribers time to complete setup in the destination membership plugin before their old feed URL stops working.


How the Grace Period Works

At the moment the wizard runs, Benecaster writes a promote_grace_period_ends_at date to each promoted subscriber’s record. The daily cron (GracePeriodExpiryCheck) evaluates all rows with a non-null value on this column:

Reminder pass — 6 to 8 days before expiry, the cron sends a promote_grace_reminder email and sets a transient so the reminder is not re-sent each day.

Expiry pass — when promote_grace_period_ends_at is in the past, the cron revokes the subscriber’s feed token, fires the benecaster_promote_grace_expired action, and sends a promote_grace_expired email.

After expiry, the subscriber’s record retains the promoted_to_bridge field (the target bridge slug) so their history is visible in the Promotion History panel.


Subscriber Experience

On the subscriber account page, subscribers who are in an active grace period see an amber banner:

Your membership is being transferred.
Your current feed URL works until [date]. Complete your setup in [target plugin name] before then to avoid interruption.

The banner disappears after the grace period ends.


Grace Period Emails

Two managed email types fire during the grace period lifecycle:

Email type When it sends Template file
promote_grace_reminder 6–8 days before expiry promote-grace-reminder.php
promote_grace_expired On expiry promote-grace-expired.php

Both emails are transactional (they cannot be opted out of individually). Both support the merge tags:

Merge tag Description
{{tier_name}} The subscriber’s original native tier name
{{grace_period_end_date}} The formatted expiry date
{{target_plugin_name}} The name of the destination membership plugin

To customise these email templates, see Customising Emails.


Managing Grace Periods

From Settings → Subscription → Promotion History, you can manage individual subscriber grace periods:

Extend — adds days to the current expiry date. Useful if a subscriber needs extra time to complete setup.

Clear — removes the grace period marker and re-enables the subscriber’s token. Use this when a subscriber who has completed setup in the destination plugin has already had their token revoked.

There is no bulk grace-period management in V1.


Status: expired_grace

Subscribers whose grace period has ended have their subscription status set to expired_grace in the benecaster_subscriptions table. This status is distinct from cancelled — it indicates the subscription ended because of a bridge promotion, not a cancellation event.


For Developers