Automatic Activation
3 min read
Smart Cycle Discounts automatically activates and deactivates campaigns based on their schedules. This happens without any manual intervention, ensuring your promotions run exactly when planned.
How Automatic Activation Works #
The plugin uses WordPress scheduled tasks (WP-Cron) to monitor campaign schedules and trigger status changes:
- Monitoring: System checks for campaigns due to start/end
- Activation: When start time arrives, campaign status changes to Active
- Deactivation: When end time arrives, campaign status changes to Expired
- Price Updates: Product prices update to reflect current active campaigns
Activation Process #
What Happens at Start Time #
Campaign: "Weekend Sale" Status: Scheduled Start: Saturday, December 20, 2025 at 00:00 At 00:00 on December 20: 1. System detects start time reached 2. Status changes: Scheduled → Active 3. Discount engine adds campaign to active pool 4. Product prices recalculate 5. Badges appear on products (if enabled) 6. Campaign visible as "Active" in admin
Timing Precision #
- Activations typically occur within 1-15 minutes of scheduled time
- Depends on WP-Cron execution frequency
- High-traffic sites: More frequent checks (faster activation)
- Low-traffic sites: May have slight delays
Deactivation Process #
What Happens at End Time #
Campaign: "Weekend Sale" Status: Active End: Monday, December 22, 2025 at 00:00 At 00:00 on December 22: 1. System detects end time reached 2. Status changes: Active → Expired 3. Campaign removed from active pool 4. Product prices revert to regular (or next active campaign) 5. Badges removed from products 6. Campaign visible as "Expired" in admin
WordPress Cron System #
Smart Cycle Discounts relies on WordPress’s built-in task scheduling system:
How WP-Cron Works #
- WP-Cron runs when someone visits your site
- It checks for scheduled tasks and executes due ones
- Not a true cron (doesn’t run on exact schedule without traffic)
Implications for Campaigns #
| Site Traffic | Activation Timing |
|---|---|
| High traffic | Very close to scheduled time (within minutes) |
| Medium traffic | Usually within 15 minutes |
| Low traffic | May delay until next visit |
| No traffic overnight | Activates on first morning visit |
Improving Activation Reliability #
Option 1: Server-Level Cron (Recommended) #
Configure your server to trigger WP-Cron regularly:
# Add to server crontab (cPanel, SSH, etc.) */5 * * * * wget -q -O - https://yoursite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 # Or using curl: */5 * * * * curl -s https://yoursite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Then disable WP-Cron’s default behavior in wp-config.php:
define('DISABLE_WP_CRON', true);
Option 2: Cron Management Plugins #
Plugins like WP Crontrol can help monitor and manage scheduled tasks.
Option 3: Managed Hosting #
Many managed WordPress hosts (WP Engine, Kinsta, etc.) automatically handle cron reliability.
Action Scheduler Integration #
Smart Cycle Discounts uses Action Scheduler (included with WooCommerce) for reliable task execution:
Benefits #
- More reliable than basic WP-Cron
- Better handling of failed tasks
- Logging of all scheduled actions
- Automatic retry on failure
Viewing Scheduled Actions #
Go to Tools → Scheduled Actions to see:
- Pending campaign activations
- Completed activations
- Failed tasks (if any)
Cache Considerations #
If you use caching plugins, campaign activation may not immediately appear to visitors:
Page Cache #
- Cached product pages may show old prices until cache expires
- Solution: Configure cache to exclude dynamic price elements, or clear cache on campaign activation
Object Cache #
- Smart Cycle Discounts clears relevant caches on activation
- If using external object cache (Redis, Memcached), this is handled automatically
CDN Cache #
- If using a CDN, ensure dynamic content isn’t cached
- Or configure cache purging on price changes
Notifications on Activation #
Smart Cycle Discounts can notify you when campaigns activate:
Free Version #
- Campaign Started email notification
- Campaign Ended email notification
Pro Version #
- All Free notifications plus:
- Campaign ending soon warnings
- Daily/weekly summary reports
Configure notifications in SC Discounts → Notifications.
Manual Override Options #
Activate Now #
For scheduled campaigns, you can bypass the schedule:
- Go to campaign list
- Find the scheduled campaign
- Click “Activate Now” in the actions menu
- Campaign immediately becomes Active
End Now #
For active campaigns, you can end early:
- Go to campaign list
- Find the active campaign
- Click “End Now” or set end date to current time
- Campaign immediately becomes Expired
Troubleshooting Activation Issues #
Campaign didn’t activate on time #
Diagnostic steps:
- Check SC Discounts → Tools for system status
- Verify WP-Cron is running (Tools → Scheduled Actions)
- Check server time matches WordPress timezone
- Look for errors in WordPress debug log
Campaign activated late #
Likely causes:
- Low site traffic during scheduled time
- WP-Cron backlog
- Server performance issues
Solution: Implement server-level cron (see above)
Prices not updating after activation #
Check:
- Clear all caches (plugin cache, object cache, CDN)
- Verify products are in campaign selection
- Check for higher-priority campaigns overriding
- Confirm campaign status is actually “Active”
Best Practices #
- Allow buffer time: Don’t schedule activation for exact promotion start; build in 15-30 minutes
- Monitor critical campaigns: For major sales like Black Friday, manually verify activation
- Set up notifications: Enable email alerts for campaign start/end
- Test your cron: Create a short test campaign to verify the system works
- Use server cron: For mission-critical timing, configure real server cron
- Clear cache after activation: If prices look wrong, clear caches first