Email Reminders

Reminders it's ready to send emails, that was created based on Rules from specific Contacts.
It's can be emails that are sending before or after specific time to the event from Contact data.
Like follow-up emails or friendly reminders about upcoming event.

Download

FEATURES

  • Reminders
    • Create and send email reminders and follow-up emails.
    • Automatic sending of email reminders.
    • Manually send specific email reminder(s) from the admin panel.
    • Listing and real time (ajax) text searching of specific email reminders at reminders page. You can easily send or delete certain reminders.
    • You can filter reminders to show only sent or waiting to send emails reminders, or both.
    • Checking the status near each reminder (sent or not sent), as well as the name of the email template that uses the specific email reminder.
  • Contacts
    • Easily create new contact based on customized contact form.
    • Ability to import contacts from CSV files.
    • Native integration with Booking Calendar plugin. Import all existing bookings. Create contacts in real time after creation of new bookings.
    • Real time (ajax) text searching of specific contact.
    • Ability to edit contact details and deletion of specific contacts.
  • Rules
    • Rules configuration for creation of new email-reminders from existing contacts based on multiple parameters. For example, creating new email-reminders from contacts, where the country is USA, and date of creation of contact 7 days ago, etc...
    • Configuration of time based parameters, which provide ability to configure rules, like: "reminder - 1 day before the event", "follow-up email - 7 days after the event", "after 1.5 months", etc...
    • Ability to create several email templates and select specific email templates for specific rules for creation of email reminders.
    • Manually run specific rules to create email reminders from the admin panel.
    • Automatic creation of email reminders.
    • Ability to edit rule details and delete of specific rules.
    • If you have thousands of contacts and you only need to handle the latest and not all together, you can define a contact ID from which the rule will be executed.
  • Other
    • Mobile friendly.
    • Ajax based admin panel.

EMAIL REMINDERS IS GREAT FOR

  • Send friendly reminders about upcoming events.
  • Send follow-up emails after specific action.

FAQ

Email Reminders

Reminders it's ready to send emails, that was created based on Rule(s) from specific Contact(s). It's can be emails that are sending before or after specific time to the event from Contact data. Like follow-up emails or friendly reminders about upcoming event.

How does it all work?

The reminders page lists all your reminders. You can easily send or delete certain reminder.
You can filter reminders to show only sent email reminders or emails reminders pending sending, or both.
Next to each email reminder, you can check the status of this reminder (sent or not sent), as well as the name of the email template that uses the specific email reminder.

To be able to send a specific reminder, you need to determine the name of the email field from the contact data that is used to send emails. You can define it at the Settings page for the "Email field name" option.

1. Create or import contact(s) at contacts menu page.

2. Create rule for creation new reminders at rules menu page.

3. Execute rule - by clicking on "Run" button near specific rule. After this you will have new reminders at current reminders menu page.

4. Now you can send one or multiple email reminders at current reminders menu page.

- Click the "Send" button next to a specific reminder to send it on the reminders page.

- Or select several email reminders (by checking checkbox next to each specific reminder), and then click on Send button on the toolbar. It will send all selected reminders.

Automatic sending "email reminders"
Activate automatic sending "email reminders" option and define the sending time intervals for group of such email reminders.

CRON settings


Open "Email Reminders" > Settings > Automate (CRON) menu page and set checked this option " Enable CRON to send reminders" to send email reminders automatically. Also you can define the time intervals, when CRON system will check for sending email reminders and define Number of reminders to send option.


Instruction for Automatic sending "email reminders" in update 1.0.3 or older.
1. Insert the shortcode into the page to send email reminders.

2. When someone visits this page, the shortcode will send email reminders.

Shortcode configuration:

[email-reminders-send status='init' max_count=20 keyword='United States|Canada|Mexico']

[email-reminders-send is_silent=1 max_count=30 not_keyword='United States|Canada|Mexico']

is_silent [ 1 | 0 ] - show or hide text after running shortcode on page.

status [ string ] - status of reminders: 'init', 'sent'; all reminders, if parameter skipped.

max_count [ integer ] - the maximum number of contacts to process during shortcode execution that match the rule condition, starting from the last processed contact ID.

start_num [ integer ] - start from N reminders to send

keyword [ string ] - Find all variants, like USA and Canada. For example: 'United States'. You can use several terms separated by | symbol, which is work like OR : 'United States|Canada|Mexico|Brazil'

not_keyword [ string ] - Find variants, that does not contain such keywords. Work opposite to keyword parameter.

Contacts in Email Reminders

The term contact refers to the order of your product or service. It must contain all contact details and information about purchased product or service.

At contacts page lists all your contacts. You can easily search for specific contacts by keyword, edit contact details or delete contacts.

Contact fields structure depend on how a particular contact was added:
1) If you add a contact manually, the system uses fields from contact form configuration
2) When importing contacts from a CSV file, the system uses columns as separate fields
3) During importing from the Booking Calendar plugin, the system uses the structure of booking fields from that plugin

You can define specific contact fields as labels, which will be displayed separately with a specific color in the labels column on the contacts page. Labels can be defined as field names on the "Email Reminders > Settings General page" in the contacts section.

1. Configure the fields to add a new contact on Email Reminders > Settings > Contact Form page.

2. Fill in contact details on Email Reminders > Contacts > Add new page.

3. Click the "Add New" button to create a new contact.

1. Please enter a separator for the CSV file, usually it can be a comma (,) or a semicolon (;) on Email Reminders > Contacts > Import CSV page.

2. You can upload and select the CSV file (by clicking the Upload CSV file button), or simply copy / paste the contents of the CSV file into the text field on Email Reminders > Contacts > Import CSV page.

3. Click the Start Import button to start the import process.

4. On the new screen, you can delete specific columns or rows in the CSV table. You can also change the column names - it will determine the name of the contact fields. Please use only standard characters for field names such as A..Za..z0..9_.

5. Click the Save to DB button for saving contacts.

Its possible to import all bookings from the Booking Calendar plugin.

Please note that the bookings import is similar to importing CSV files. Because of this, you need to enter a separator for the CSV file, usually a (;) semicolon.

Note. For automatically import of new bookings, set checked option Auto import on Email Reminders > Contacts > Booking Calendar Import page.

1. Click the Start Import button to start bookings importing on Email Reminders > Contacts > Booking Calendar Import page.

2. On the new screen, you can delete specific columns or rows in the CSV table. You can also change the column names - it will determine the name of the contact fields. Please use only standard characters for fields such as A..Za..z0..9_.

3. Click the Save to DB button for saving contacts.

Rules in Email Reminders

The term rules refers to the conditions for creating contact-based email reminders.

Why do we need rules at all? Such conditions give us great flexibility to create new email reminders depending on any fields in contacts, and not just on certain specific predefined fields.

The rules page lists all your rules. You can easily edit, delete or run certain rules.

Typically, rules should be run once a day to create new email reminders, depending on the date(s) in contacts and current day.
Of course, this can be more often if the conditions depend on the time of day relative to the current day.
Or rarely, if the conditions are not dependent on dates and only on some other fields. In this case, the conditions may depend on how often new contacts are added to the system.

1. Click on "Add New Rule" button.

2. Select the email template you want to use as a email reminder for sending. You can create and customize email templates on the emails settings page.

3. Configure one or several conditions.
Note. If your condition is for a date field, then you can use a configuration that can be used in the strtotime function.

For example:

Sending Reminder email, 1 day before the event.
It means that, if today is "2021-12-01", we need to search for all contacts with check_in date: "2021-12-02" ( e.g. TODAY + 1 DAY). If check_in date field contain times (like 2021-12-02 10:01:00), then we need to use 2 conditions:

check_in > TODAY + 1 DAY ( e.g. 2021-12-02 00:00:00 )
check_in <= TODAY + 2 DAYS - 1 SECOND ( e.g. 2021-12-02 23:59:59 )

Follow-up email. 7 days after the event (TODAY - 7 DAYS):

check_in > TODAY - 7 DAYS
check_in <= TODAY - 8 DAYS + 1 SECOND

After 1.5 months (TODAY - 1 MONTH - 15 DAYS):

check_in > TODAY - 1 MONTH - 15 DAYS
check_in <= TODAY - 1 MONTH - 15 DAYS + 1 SECOND

4. Click on Create Rule button.

This field indicates the contact ID from which the rule will be executed. This is useful for situations where you have thousands of contacts and you only need to handle the latest and not all together. Please note that the system runs the rule with iterations by 1000 contacts per iteration to distribute the load on the server. And this field is updated automatically after each run. This is also useful in situations where the execution was interrupted for some reason, and the next time you start with the last processed contact lists.

1) You can edit value of this “starting with contact id” field, if you need to run rule from beginning of all contacts. Usually its required, if you have some conditions based on days or times depending from TODAY date. During each new day, you need to run such rule from beginning of contacts list and check daily conditions, like this: TODAY + 1 DAY or this TODAY - 7 DAYS.

2) Click on Edit rule button.

3) Change “starting with contact id” field value to 0 or some other contact ID number, and click on "Save changes" button

4) Or you can simply click on "Reset rule button" and system will set value 0 to “starting with contact id” field.

1. Click on "Run" button to execute specific rule.

2. System will run rule and create email reminders from contacts based on conditions of current rule.

How all this work?

When you click the run button, the system starts processing contacts from the last time checked contact ID.
In case you need to start processing from the beginning of contacts, you can click the Reset button (at right side near specific rule), or edit this rule and set "Rule run starting with contact id" to certain value.
The system process of 1000 contacts per iteration, which you can see on the log screen on the Rules page.

Each rule can have several statuses:
Not Started - when the rule starts from the beginning of contacts.
In Process - the rule was executed early, but all existing contacts have not yet been processed.
Finished - the rule was processed all exist contacts.

This article relative to the "Email Reminders" update 2.0 or newer

Why we need to run rules periodically?
We need to run specific rules periodically, for creation of new email reminders, because usually rules have some conditions based on days or times depending from TODAY date.
For example:

Sending Reminder email, 1 day before the event.
It means that, if today is "2021-12-01", we need to search for all contacts with check_in date: "2021-12-02" ( e.g. TODAY + 1 DAY). If check_in date field contain times (like 2021-12-02 10:01:00), then we need to use 2 conditions:

check_in > TODAY + 1 DAY ( e.g. 2021-12-02 00:00:00 )
check_in <= TODAY + 2 DAYS - 1 SECOND ( e.g. 2021-12-02 23:59:59 )

Follow-up email. 7 days after the event (TODAY - 7 DAYS):

check_in > TODAY - 7 DAYS
check_in <= TODAY - 8 DAYS + 1 SECOND

After 1.5 months (TODAY - 1 MONTH - 15 DAYS):

check_in > TODAY - 1 MONTH - 15 DAYS
check_in <= TODAY - 1 MONTH - 15 DAYS + 1 SECOND


CRON
Because each next day variable TODAY will have the new value, we need to run such rule(s) periodically each new day
(or during other period of time if you have the different time conditions ). Here CRON system of your website can help to us.

In pure WordPress system it works with pseudo-cron functionality. WordPress Cron is what many people refer to as a "pseudo-cron system". The difference is in how UNIX cron and WordPress Cron take action.

A typical UNIX cron system runs in this order:

  • A time tied to an action occurs.
  • Cron runs the action tied to that time.

With WordPress Cron, it works a little differently:

  • A visitor comes to any page on your WordPress website.
  • WordPress Cron checks each cron event to see whether the scheduled time has been passed.
  • If the scheduled time for that event was passed, then WordPress Cron executes any actions tied to that event.

The detail description about Linux style of CRON commands you can check here. Other example of other CRON commands for other periods of time you can find here.
But usually you can configure your cron script via your server administration panel, like ISP Manager or Cpanel, in easier way via menu and not the commands. Help info about configuration of CRON script in ISP Manager server administration panel you can check here or here (older versions). Help info about configuration of CRON script in Cpanel server administration panel you can check here or here. For more info, please contact support of your hosting. Hosting support should know exactly what server administration panel you are using at your server, and how to configure your CRON script. Note. We do not provide support of configuration CRON at your servers.
Check how to setup the Cron job or read more about Hooking WP-Cron Into the System Task Scheduler, if you are WordPress developer.

The command you want to use in CRON is

wget -qO- https://yourserver.com/wp-cron.php &> /dev/null

Instead of "yourserver.com" use your website DNS.
The reasonable time interval is between 5-15 minutes.
That is */5 * * * * or */15 * * * * for Cron interval setting.


Configuration of Email Reminders Plugin - Automate (CRON) settings.
Open Email Reminders > Rules plugin menu page. When you click on "Add New Rule" button in toolbar or if you click on "Edit" button of exist Rule, you will get screen with configuration of Rule.

Configure CRON rules

Configure CRON rules


Read more about configuration of Rules conditions here. Here we are interesting in "Automate - CRON" section for the Rules.

1. Automatic Rules running
You need to activate "Enable rule run" option and configure additional parameters:

Automate Cron - Rule Run

Automate Cron - Rule Run

  • "next time at" field - define when the rule will start during next time. Leave it empty, if you want to make execution immediately.
  • "recurrence interval" (days / hours / minutes or in seconds ) - define time interval when next time system must to execute this rule starting from "last checked contact id". Check more here.
  • "contacts to process per execution" - it's number of contacts to process by rules per iteration.

    For example, if you defined here value as 1000 contacts, and last checked contact id was 3000, so during current execution of Rule, system will process contacts from 3000 to 4000, then define last checked contact id as 4000, create some email-reminders, from this 1000 processed contacts, if they fit to Rules conditions. And after passed next "recurrence interval" system will start this iteration again from last checked contact id (in our example it's already 4000 ), and so on. Until system will not process all existing contacts.
    Why we don't process all contacts during one step?
    Imagine a situation, if you are having 1 000 000 contacts or more, so in this case, your server just can not process such a big amount of data during one time, and you will have a timeout error. That's why such an option for setting the number of contacts to process gives us great flexibility and scalability for a huge number of contacts to process. This is also useful in situations, where the execution was interrupted for some reason, and the next time you start with the remained contact lists.
  • "approximate time to send reminders:" - it's useful fields, to define when system has to send email-reminders and at what approximate time interval to send email reminders. For example, you can deactivate to NOT send email reminders at Saturday and Sundays, and you can define to send email-reminders only at morning from 10:00 to 12:00 for specific Rule.
    Please note, you can create other Rule with other conditions (for example for visitors from other countries (based on contact fields conditions) to send email-reminders at other time interval, for example from 18:00 to 20:00. It's useful for visitors in other time zone. Please note, you are defined the times based on your server time-zone.

2. Automatic Rules resetting
Activate "Enable resetting" option. This option define "last checked contact id" to initial value (usually it's 0).

Automate Cron - Rule Reset

Automate Cron - Rule Reset

Why do we need to make such resetting of "last checked contact id" ?
Imagine a situation, when we have 14700 contacts. System during TODAY date executed this rule with specific conditions:

check_in > TODAY + 1 DAY ( e.g. 2021-12-02 00:00:00 )
check_in <= TODAY + 2 DAYS - 1 SECOND ( e.g. 2021-12-02 23:59:59 )

System creats several email reminders for sending emails, 1 day before the event. This rule will have status FINISHED at the Rules listing page (check here ).

But what will be during tomorrow with such a rule?
Nothing. Because the status of this rule is finished and we have processed all our contacts. Probably during tomorrow, we need to start this rule again from the beginning of the contact list. In other words we need to set contact ID to 0 for such a rule, and check all our contacts again about creation of new email reminders that will be sent for 1 day before the event (during tomorrow, and etc...). And that is why you need to reset the existed rule by setting "last checked contact id" to 0 (or some other value, if you do not need to start from first contact).
So during tomorrow system will reset contact ID to 0 and will start processing our contacts from beginning. It means that during each next day we will process all contacts and create relative correct email reminders for specific dates.

Now back to our settings. We can define such parameters:

  • "next time at" field - define when next time this rule will set "last checked contact id" to 0 (or some other value). Usually you can define here some date with time, that is early than time of "next time at" field in "Enable rule run" section.
  • "recurrence interval" (days / hours / minutes or in seconds ) - define time interval when next time system have to set "last checked contact id" to 0 (or some other value)
  • "last checked contact id" usually it can be 0, but it's also can be different value, if you do not need to start from first contact (check more here).

3. Automatic sending "email reminders"
Activate automatic sending "email reminders" option and define the sending time intervals for group of such email reminders.

CRON settings


Open "Email Reminders" > Settings > Automate (CRON) menu page and set checked this option " Enable CRON to send reminders" to send email reminders automatically. Also you can define the time intervals, when CRON system will check for sending email reminders and define Number of reminders to send option.

4. Use Server CRON
Define using Server CRON or leave using default WordPress pseudo CRON.
At the "Email Reminders" > Settings > Automate (CRON) menu page you can activate "Enable Server Scheduler" option to use Server CRON instead of WordPress pseudo cron functionality. When enabled WordPress will not spawn Cron anymore. You have to set the Cron on your server.

This article relative to the "Email Reminders" update 1.0.3 or older

1. Insert the shortcode into the page to create reminders for the specific rule.

2. When someone visits this page, the shortcode starts run rule and reminders are created.
Shortcode configuration:

[email-reminders-rule id=4 max_count=1500 is_silent=1]

id [ integer ] - rule ID to execute.

max_count [ integer ] - the maximum number of contacts to process during shortcode execution that match the rule condition, starting from the last processed contact ID.

is_silent [ 1 | 0 ] - show or hide text after running shortcode on page.

This article relative to the "Email Reminders" update 1.0.3 or older

Imagine a situation, where you are sending email reminders for contacts before 1 day to specific event (or check in day).

Step #1
Usually  your rules condition  have to  be like this:
check_in = TODAY + 1 DAY
or in case, if your event also  have some times,  you have to  use such  2 conditions:

check_in > TODAY + 1 DAY
check_in <= TODAY + 2 DAYS - 1 SECOND

Step #2
For creating email-reminders from  your contacts,  you have to  insert  shortcode for creation  of such  email-reminders into  page A:
[email-reminders-rule id=4 max_count=1500 is_silent=1]
Please check more here https://oplugins.com/faq/email-reminders-how-to-set-up-run-rule-automatically-to-create-reminders/

Step #3
Also you need to inserted the shortcode, for sending these newly created email reminders into the page B:
[email-reminders-send status='init' max_count=100 keyword='United States|Canada|Mexico']
Please check more here https://oplugins.com/faq/email-reminders-how-to-set-up-automatic-sending-of-reminders/

Now when someone visit the page A (with shortcode for creation of email reminders), plugin will run rule (starting from contact ID that you have defined during creation of that rule (usually contact ID = 0), and process 1500 contacts (it's number that you have defined in the shortcode with parameter max_count=1500, e.g. [email-reminders-rule id=4 max_count=1500 is_silent=1]).
If you have more than  1500  contacts (for example 14700),  then  when  someone opens this page A for another time,  the system  will  start to run  rule from  last processed contact  (in our case it's contact  with  ID = 1500)  and process the next  1500  contacts. During this time the plugin processed 3000 contacts. It means that  for processing all  14700 contacts,  page A has to  be opened 10 times - for execution  shortcode [email-reminders-rule id=4 max_count=1500 is_silent=1] for 10  times.

Why  do we not process all  contacts during one step ?
Imagine a situation, if you are having 1 000 000 contacts or more,  so  in this case,  your server just  does not process such a big amount of data during one time,  and you will  have a timeout error. That's why such an option for setting the number of contacts to  process gives us great  flexibility and scalability for a huge number of contacts to process. This is also useful in situations, where the execution was interrupted for some reason, and the next time you start with the last processed contact lists.

Now back to our subject.
Probably some visitors opened page A during 10 times,  and we have processed all  our contacts with this shortcode [email-reminders-rule id=4 max_count=1500 is_silent=1]. It means that the plugin has stopped at 14700 contact ID.
Probably during today was created several email reminders. And another shortcode at page B was sent all such  email reminders,  that is to remind customers before 1 day  to  specific event.
Such a rule will  have status FINISHED at the Rules listing page.

But what will be during tomorrow with such a rule?
Nothing. Because we are having status of this rule as finished and we have processed all  our contacts.
Probably  during tomorrow,  we need to  start  this rule again from the beginning of the contact list. In other words we need to  set  contact  ID to 0  for such a rule,  and check  all  our contacts again  about creation  of email reminders that  will  be sent for 1 day  before the event (but during tomorrow, and etc...)

And because of all  this in version 1.0.2 you are having the ability to  define when  specific rule will be EXPIRED.
During creation or editing of the rule, you can  define "Expire period" and start time when  this period is starting.
So  in our example we need to  define the expiration period as 1 day.
And during tomorrow system will reset contact  ID to 0  and will start  processing our contacts from  beginning.
It means that during each  next  day  we will  process all  contacts and create relative correct email reminders for specific dates.

Premium Addons - extend functionality for "Email Reminders" plugin


"Multiple Custom Forms" addon for for "Email Reminders" plugin

Create and configure unlimited number of custom forms with different form fields.
Use these forms during adding new contacts, if you need to use different fields.
Why do we need multiple custom forms?

In case you are adding new contacts from several different sources, which means having different form fields for different clients, then you need to be able to create multiple custom forms with different fields.
For example, you can manually add a contact with one list of form fields, but import contacts from a CSV file or from a booking calendar from other form fields. For editing these contacts correctly, you need to define several different custom contact forms with specific fields.

How do I create a new custom form?

You can add a new custom contact form from the Email Reminders > Settings > Contact Form page by clicking the Add New Form button on the toolbar. Enter a name for the new form and click the Create + button. After this page is loaded, you can set up your new contact form. Then click the "Save Changes" button.

Where can I choose a custom form?

You can select a specific custom form when adding a new contact to the system to be able to have specific fields in that contact.
Open Email Reminders > Contacts > Add New Page. From the toolbar, select a specific custom contact form, then fill in the form fields and click the Add New button to add this new contact.

Please note that while you are editing this contact, the system will automatically select this specific “custom contact form” that you used when adding this new contact.