1. Home
  2. Gravity Forms Delayed Notifications
  3. Why Are My Delayed Emails Not Going Out at the Exact Time They’re Scheduled to?

Why Are My Delayed Emails Not Going Out at the Exact Time They’re Scheduled to?

Gravity Forms Delayed Notifications

Schedule Sending Gravity Forms Email Notifications by Period-of-Time, Specific-Date, or Form-Field from the Moment of Submission

If you have any issues with your delayed email notifications not going out at the exact time they’re scheduled to, then it could be related to your website’s traffic.

Our Delayed Notifications plugin uses WordPress’s scheduling system (WP-Cron) to send emails at a specific time or after a defined delay. In most cases this works reliably, but in certain environments emails may run late or not fire exactly on schedule. One thing that can help in improving reliability of the WP-Cron would be to set up a recurring 5-minute Cron job based upon your webhost server instead of having the CRON driven by site traffic (the default way).

This article explains why this happens, how to fix it, and how to confirm everything is working correctly.

Why This Happens

WordPress does not run scheduled tasks on a real clock by default.

Instead, WP-Cron is triggered when someone visits your website. This means:

  • On low-traffic sites, scheduled emails may run late or not fire on time
  • On high-traffic sites, cron jobs may be delayed due to server load
  • Time-sensitive emails (for example, “send at exactly 11:00 AM”) are most affected

This behavior is expected and not specific to this plugin.

For reliable, time-accurate delivery, we strongly recommend replacing traffic-based WP-Cron with a real server Cron job.

A server Cron runs on a fixed schedule regardless of site traffic and ensures delayed notifications fire consistently.

Is Running a Cron Every 5 Minutes Safe?

Yes. Running a Cron job every 5 minutes is not performance-draining.

A server Cron execution is no different than a single visitor loading your site. Even running it every minute has minimal impact on most hosting environments.

For time-specific notifications, 5 minutes is the recommended interval.

Running the Cron less frequently (for example, once or twice per hour) can cause scheduled emails to:

  • Send late
  • Miss their intended delivery time

Step 1: Disable WordPress’s Default WP-Cron

When using a real server Cron, you must disable the default traffic-based WP-Cron to prevent conflicts.

Add the following line to your wp-config.php file:

define('DISABLE_WP_CRON', true);

This ensures scheduled events are handled only by the server Cron.

Step 2: Set Up a Real Server Cron Job

Your hosting provider will manage this step. The exact setup varies by host.

For SiteGround users, follow this guide:
https://www.siteground.com/tutorials/wordpress/real-cron-job/

Key points to confirm:

  • The Cron changes into your WordPress directory (cd /path/to/wordpress)
  • It runs WP-Cron using WP-CLI (wp cron event run --due-now)
  • It runs every 5 minutes

Once configured correctly, the Cron takes effect immediately. There is no delay or warm-up period.

Step 3: Verify That Delayed Notifications Are Running

To confirm that delayed notifications are being scheduled and executed correctly, we recommend installing a Cron management plugin.

Install WP Crontrol


How to Check the Cron Event

  1. Submit a Gravity Form entry with a delayed notification (for example, scheduled for 11:00 AM)
  2. Open Tools → Cron Events in WordPress
  3. Search for the following cron event:
gfdn_send_after_delay

What you should see:

  • Before the scheduled time:
    The gfdn_send_after_delay event should appear in the list
  • After the scheduled time passes:
    The event should disappear and the email should be sent

If the event remains after the scheduled time, it means the Cron did not execute and the server Cron setup should be reviewed.

Optional: Manual Testing

You can also manually test the cron event as shown in this screencast:

  • Click Run next to gfdn_send_after_delay in WP Crontrol
  • If the email sends immediately, the plugin is functioning correctly and the issue is Cron execution

Summary

If delayed notifications are not sending at the exact scheduled time, the cause is almost always WP-Cron behavior rather than a plugin issue.

To resolve this:

  1. Disable default WP-Cron
  2. Set up a real server Cron running every 5 minutes
  3. Verify execution using WP Crontrol

Once these steps are complete, delayed notifications should send reliably and on time, regardless of website traffic.

Updated on February 6, 2026

Was this article helpful?

Related Articles

Leave a Comment