Bulk Audit Campaigns
Create campaign batches, upload CSV targets, schedule report delivery, and let DeepSyte enforce safe sending gates.
Bulk audit campaigns let you create many one-page SEO audits or full SEO audits, give each recipient their own tokenized report page, and send those reports through the selected campaign inboxes at a scheduled time.
Campaign sending uses AgentMail. Resend is reserved for DeepSyte transactional and report-delivery email where the sender is DeepSyte, not for two-way cold campaign conversations.
Campaign flow
- Create a campaign in
/dashboard/campaigns. - Add targets by CSV upload, manual rows, MCP, CLI, or API.
- Choose the AgentMail sender pool or a specific sending account.
- Choose the default report type: one-page audit or full SEO audit.
- Set the campaign daily cap, timezone, campaign sending hours, and scheduled send time.
- Launch the campaign.
- The cron processor runs audits, quality-gates reports, and sends one recipient at a time when capacity and pacing allow.
The launch button does not send immediately unless all server-side gates allow it. Cron is the only automated sender.
To keep workload smooth, campaign audits are processed one queued row at a time. Report emails also wait at least 5 minutes between sends for the same account owner, then apply per-inbox first-send offsets and spacing jitter.
Report type
Campaigns default to a one-page audit. In campaign settings, switch the default to Full SEO audit when every recipient should receive the deeper report with representative page checks, DataForSEO opportunity data, competitor context, and the AI roadmap.
Manual rows can also tick Full SEO for one recipient. That creates a one-off full SEO audit for that row even when the campaign default stays one-page.
Sending hours
Sending hours are a global campaign setting. They apply to every recipient and every delivery method, including Resend report delivery and AgentMail campaign inbox delivery.
Choose one of two modes:
| Mode | Behavior |
|---|---|
| Office hours | Send Monday to Friday, 9am-4pm in the campaign timezone |
| Anytime | Send every day, 24 hours |
AgentMail still adds its own safety gates on top of the campaign setting: sender capacity, domain capacity, warmup/manual daily limits, pacing, suppressions, and provider failures. Resend report delivery still obeys the campaign sending-hours rule and the 5 minute campaign-email pacing gate.
CSV format
Required columns:
| Field | Accepted headers |
|---|---|
| Website | website, url, website_url, site, domain |
email, recipient_email, contact_email |
Optional columns:
| Field | Accepted headers |
|---|---|
| Name | name, recipient_name, first_name |
| Company | company, business, business_name, company_name |
| First line | first_line, personalized_line, intro_line |
| One-off full report | full_audit, full_seo, report_type, audit_type |
Use yes, true, 1, full, full_site, full_seo, or sitewide in the one-off full report column to send that row as a full SEO audit.
Blocked rows
Rows are blocked before launch when any of these are true:
- Invalid URL.
- Invalid email.
- Duplicate email or duplicate website/email pair.
- Suppressed email or domain.
- No active AgentMail sender capacity.
- Outside the campaign sending-hours setting.
- Report quality gate has not passed.
Report quality gate
Campaign reports should not be thin or evidence-free. DeepSyte does not send a campaign report email unless the audit has enough browser-backed evidence for the recipient page. If the audit is partial, the row stays queued or failed for retry instead of sending a weak report.