Maverick Docs
Operations

Verification

Debounce email verification, status meanings, and handling failures

What This Does

Verification is the third pipeline stage. It sends filtered contact emails to the Debounce API for validation. This prevents sending campaigns to invalid emails (which would hurt sender reputation).

How It Works

  1. Filtered contacts are batched and sent to the Debounce API
  2. Debounce returns a status per email: deliverable, risky, undeliverable, unknown
  3. Only deliverable and (optionally) risky contacts move to batching
  4. Results are stored in the verified_contacts table

Verification Statuses

StatusMeaningAction
deliverableValid email, safe to sendMoves to batching
riskyEmail exists but may bounceConfigurable — usually included
undeliverableInvalid or non-existent emailExcluded from pipeline
unknownDebounce couldn't determineExcluded by default

How To Use It

Monitoring Verification

  1. Go to Contacts → select workspace and month
  2. The pipeline progress bar shows verified count vs. filtered count
  3. On the Status Page, check the Celery Workers module for verification queue depth

Manual Recovery (Without list_id)

If Debounce verification fails mid-batch and you have results in a CSV:

# Run from the server inside the backend container
python scripts/import_debounce_results.py <csv_file> <workspace> --month May --ready-only

Scope by month and status to avoid touching other pipeline rows.

Common Issues

SymptomCauseFix
Verification queue > 5K deepLarge batch submitted or Debounce rate-limitedNormal for large batches — Debounce rate limits at ~3K/hour. Check VerificationBacklogSLOBreach alert
All contacts marked undeliverableDebounce API key expired or billing issueCheck DEBOUNCE_API_KEY in backend env, verify Debounce account status
Verification stuck (no progress)Worker crashed or Debounce API downCheck Status Page → Logs → celery-verification. Restart: on server, docker restart celery-verification
Partial resultsTask timed out mid-verificationRe-run the verification stage for the affected batch. Already-verified contacts are skipped (idempotent)
  • VerificationBacklogSLOBreach: Queue >15K contacts (>4 hours to clear at 3K/hour)
  • DebounceAPIHighErrorRate: Debounce returning >10% errors — likely rate limiting

On this page