Fluent Forms Subscriptions - How to cancel after billing period?
I'm currently using Fluent Forms to handle monthly subscriptions and FluentCRM for automations. Support didnt have a solution for me so I'm looking for some guidance or suggestions from anyone whoβs handled a similar setup.
GOAL: when a member cancels their subscription, I want them to retain access until the end of their current billing period, and only after that should tags be removed or access restricted. Weβre not doing pro-rated cancellations, so access should last until the subscription end date.
Has anyone implemented this successfully or found a better solution for handling access timing after cancellations?open to any workflows, tips, or recommendations!
You can run an automation with a delay in it. So you have it triggered by the unsubscribe and executed after x days.
The scenario you describedβretaining access until the end of the current billing period after a user cancels a subscriptionβis a common requirement for subscription businesses. Since the native "Subscription Canceled" trigger in FluentCRM fires immediately upon cancellation, you need a workflow that captures the subscription end date and uses a time-based delay in FluentCRM.
Here is the most effective two-part solution for implementing delayed access restriction using Fluent Forms and FluentCRM:
Part 1: The FluentCRM Automation Funnel
The core of the solution lies in a custom FluentCRM Automation Funnel that incorporates a Wait Until condition.
-
Set the Trigger:
- Create a new Automation in FluentCRM.
- Select the trigger: Subscription Cancelled (Fluent Form).
- Target the specific Fluent Form used for the subscription.
-
Add a Custom Wait Action:
- Immediately after the trigger, add an action step.
- Choose the Wait block.
- Configure it as "Wait Until a specific Date/Time in a Custom Field".
- Select a Custom Contact Field (e.g.,
Subscription_End_Date) that holds the exact expiration date of the cancelled subscription.
-
Restrict Access Action:
- After the wait period, the next step in the funnel executes.
- Add the Remove Tag/s action.
- Select the tag(s) that currently grant the member access to your content.
This setup ensures that once the contact cancels, they enter the funnel, but the final action (tag removal/access restriction) is delayed until the date stored in the custom field passes.
Part 2: Capturing and Populating the Subscription End Date
The critical piece of this workflow is dynamically populating the Subscription_End_Date custom field for the contact at the time of purchase or renewal. Fluent Forms does not natively pass the future expiration date to FluentCRM upon successful payment; it typically requires a custom solution using a PHP hook.
Disclaimer: Please note that, I did not run this or tested, So first tested this in a testing site.
Recommended Implementation (Requires Custom Code/Developer Hook)
You will need to use a Fluent Forms Action Hook that fires upon a successful subscription transaction to calculate the next billing date and then update the corresponding FluentCRM contact.
-
Create a Custom Field in FluentCRM: Ensure you have a Date/Time type Custom Field in FluentCRM (e.g.,
Subscription_End_Date). -
Implement a PHP Hook: You need a PHP snippet, added to your WordPress theme's
functions.phpfile or a custom plugin, that leverages a Fluent Forms payment action hook:https://developers.fluentforms.com/hooks/actions/#payment-specific
This hook would perform the following logic:
- Retrieve the subscription object (which contains the
billing_intervalandlast_payment_date). - Calculate the next_payment_date (which is your desired
Subscription_End_Date). - Use the FluentCRM API or helper functions (which can be found in the developer documentation) to update the contact associated with the submission, setting the
Subscription_End_Datecustom field to the calculated date.
- Retrieve the subscription object (which contains the
By using this custom code approach, every active subscriber will have their access expiration date stored in FluentCRM, allowing the cancellation funnel to use the accurate date for the "Wait Until" action.
Again, please test this in a stage site first. Go through Fluent Forms & FluentCRM developer docs to learn more. If you hit any roadblock, open a support ticket.
This video provides an overview of how to automate your subscription business using Fluent Forms and FluentCRM, which may offer further insights into funnel construction: How to Automate Subscription Business with 5 Real-Life Automation Examples.
