# Campaign Filters
These filter hooks let you customize campaign data, processing behavior, and scheduling.
### `fluent_crm/campaign_data`
Filter the [Campaign](/database/models/campaign) data object before it is returned to the editor.
**Parameters**
- `$campaign` [Campaign Model](/database/models/campaign)
**Usage:**
```php
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 the number of subscribers to process per iteration when checking campaign delivery stats.
**Parameters**
- `$chunk` INT - Default `30`
- `$campaign` [Campaign Model](/database/models/campaign)
**Usage:**
```php
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 to run the campaign stat-check loop per request.
**Parameters**
- `$seconds` INT - Default `10`
- `$campaign` [Campaign Model](/database/models/campaign)
**Usage:**
```php
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 to process during the 5-minute cron batch.
**Parameters**
- `$chunk` INT - Default `20`
- `$campaign` [Campaign Model](/database/models/campaign) - The first campaign in queue
**Usage:**
```php
add_filter('fluent_crm/five_minute_campaign_processing_chunk', function($chunk, $campaign) {
return 50;
}, 10, 2);
```
**Source:** `app/Hooks/Handlers/Scheduler.php`
---
## Sequences & Recurring Campaigns
### `fluent_crm/sequence_tracker_batch_limit`
Filter the batch size for processing email sequence tracking records.
**Parameters**
- `$limit` INT - Default `200`
**Usage:**
```php
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**
- `$limit` INT - Default `10`
**Usage:**
```php
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**
- `$limit` INT - Default `50`
**Usage:**
```php
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**
- `$campaignData` Array - exported campaign data
- `$campaign` Campaign Model
**Usage:**
```php
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**
- `$campaignData` Array - exported SMS campaign data
- `$campaign` Campaign Model
**Usage:**
```php
add_filter('fluent_crm/sms_campaign_export_data', function($campaignData, $campaign) {
return $campaignData;
}, 10, 2);
```
**Source:** `fluentcampaign-pro/app/Hooks/Handlers/DataExporter.php`