Plugin: MightyMembership
Last updated
Last updated
Using our Mighty Membership filter plugin, you can filter your users based on their plan in order to subscribe the selected users to your list or execute any other mass action.
You can download the Mighty Membership plugin on our plugin section then install and publish it like a standard Joomla plugin.
You can combine Mighty Membership and AcyMailing Enterprise (for the auto-filters feature), to create a series of automatic follow-ups messages (reminders) before or after their plan expires.
The purpose of this case study is to explain you how to create three auto-filters in AcyMailing to automatically send an e-mail to the user one month before his plan expires, one week before his plan expires and then a day after his plan expired. This is definitely the best way to make sure your users will renew their subscription to your website.
You should first create a Newsletter which should be published (a non-published Newsletter can't be sent), let's call it "Please renew your subscription".
Then access the filters interface, select the filter "Mighty Membership":
Select the right plan (if you want to apply this reminder to one plan only but if you want to set it for all your plans, keep the option "All" selected).
Do not enter anything on the created date range (we don't need it)
Enter a range for the Expiry Date. The automatic filters will be executed only once a day, regardless to the cron frequency. So the range should be a period of one day (24 hours) otherwise the user may receive twice the same reminder. We want to select users if their plan expires in 30 or 31 days in the future. 30 days = 60*60*24*30 = 2592000 seconds 31 days = 60*60*24*31 = 2678400 seconds So the Expiry Date should be between 30 and 31 days in the future: {time}+2592000 < Expiry Date < {time}+2678400
We selected the right users, let's apply an action on these users.
Select the action "Add an e-mail in the queue"
Select the Newsletter you create (in our example it's "Please renew your subscription")
Enter a send date We could keep the default value {time} which means the e-mail will be added in the queue and sent as soon as possible. Nevertheless we will configure the plugin to add the e-mail in the queue but keep it one day in the queue before sending it. Why? Just so that we can see the e-mail in the queue and for testing purpose we can check a few of them to make sure Acy selected the right users based on their Mighty Membership subscription. 1 day = 60*60*24*1 = 86400 seconds We will configure AcyMailing to add the e-mail in the queue with a send date : {time}+86400 Once tested, you can go back to this screen and modify your filter to set it to {time} so that the e-mail gets sent as soon as possible and does not stay in the queue for a day.
cbsubs add queue
You can now click on the button "Process" to test your filter. AcyMailing will tell you how many e-mails have been added in the queue and you can access the queue listing to check that AcyMailing selected the right users.
We will now save the filter and configure it to be executed once a day automatically.
Click on the "Save" button
Enter a filter name and a description
Select the option "Every day (using the cron task)" so that the filter is automatically executed once a day. The automatic filters require a cron task to work properly, please don't forget to create your cron task otherwise the process won't work automatically.
Publish the filter
Click again on the "Save" button
Please reproduce exactly the same thing as described above, create another Newsletter and create a new filter with a new expiry range.
We want to send the reminder a week before the user's subscription expires so we will select users if their plan expires between 6 and 7 days.
6 days = 60 * 60 * 24 * 6 = 518400 seconds
7 days = 60 * 60 * 24 * 7 = 604800 seconds
Our filter will select users based on : {time}+518400 < Expiry Date < {time}+604800
The same way, we will create a filter to select users having a subscription expired a day ago so users with an expiry date between now and one day in the past:
{time}-86400 < Expiry Date < {time}