Campaign Filters
FluentCRM Core IntermediateThese filter hooks let you customize campaign data, processing behavior, and scheduling.
fluent_crm/campaign_data
Filter the Campaign model right before the campaign-detail endpoint returns it. Runs on read only — it does not affect what is stored or sent.
Parameters
$campaignCampaign Model
Usage:
add_filter('fluent_crm/campaign_data', function($campaign) {
// Inject custom data into the campaign editor
$campaign->custom_meta = 'value';
return $campaign;
});Source: app/Http/Controllers/CampaignController.php
fluent_crm/campaign_processing_stat_chunk
Filter how many emails are processed per pass when the campaign screen polls for delivery stats. Despite the name, this actually sends email — the stat endpoint drives the processor.
Parameters
$chunkINT - Default30. Values below1are clamped to1.$campaignCampaign Model
Usage:
add_filter('fluent_crm/campaign_processing_stat_chunk', function($chunk, $campaign) {
return 100;
}, 10, 2);Source: app/Http/Controllers/CampaignController.php
fluent_crm/campaign_processing_stat_runtime_seconds
Filter the max seconds the campaign stat-check request may spend processing emails.
Parameters
$secondsINT - Default10. Values below1are clamped to1.$campaignCampaign Model
Usage:
add_filter('fluent_crm/campaign_processing_stat_runtime_seconds', function($seconds, $campaign) {
return 30;
}, 10, 2);Source: app/Http/Controllers/CampaignController.php
fluent_crm/five_minute_campaign_processing_chunk
Filter the number of campaign emails materialized per chunk during the 5-minute cron batch.
Parameters
$chunkINT - Default50. Values below1are clamped to1.$campaignCampaign Model - the campaign being processed
Usage:
add_filter('fluent_crm/five_minute_campaign_processing_chunk', function($chunk, $campaign) {
return 100;
}, 10, 2);TIP
The run-time budget for this loop is not filterable here — it is fluent_crm/max_run_time minus 5 seconds.
Source: app/Hooks/Handlers/Scheduler.php
Sequences & Recurring Campaigns
Profluent_crm/sequence_tracker_batch_limit
Filter the batch size for processing email sequence tracking records.
Parameters
$limitINT - Default200
Usage:
add_filter('fluent_crm/sequence_tracker_batch_limit', function($limit) {
return 500;
});Source: fluentcampaign-pro/app/Hooks/Handlers/EmailScheduleHandler.php
fluent_crm/recurring_campaign_batch_limit
Filter how many recurring campaigns are processed in a single scheduled batch.
Parameters
$limitINT - Default10
Usage:
add_filter('fluent_crm/recurring_campaign_batch_limit', function($limit) {
return 20;
});Source: fluentcampaign-pro/app/Hooks/Handlers/RecurringCampaignHandler.php
fluent_crm/campaign_action_limit
Filter the number of subscribers processed per request during email campaign processing.
Parameters
$limitINT - Default50
Usage:
add_filter('fluent_crm/campaign_action_limit', function($limit) {
return 100;
});Source: fluentcampaign-pro/app/Http/Controllers/CampaignsProController.php
fluent_crm/email_campaign_export_data
Filter email campaign data during export operations.
Parameters
$campaignDataArray - exported campaign data$campaignCampaign Model
Usage:
add_filter('fluent_crm/email_campaign_export_data', function($campaignData, $campaign) {
// Modify export data
return $campaignData;
}, 10, 2);Source: fluentcampaign-pro/app/Hooks/Handlers/DataExporter.php
fluent_crm/sms_campaign_export_data
Filter SMS campaign data during export operations.
Parameters
$campaignDataArray - exported SMS campaign data$campaignCampaign Model
Usage:
add_filter('fluent_crm/sms_campaign_export_data', function($campaignData, $campaign) {
return $campaignData;
}, 10, 2);Source: fluentcampaign-pro/app/Hooks/Handlers/DataExporter.php