# Meta customer-list audience automation runbook

## Normal daily run

1. Acquire a lock for the Meta audience ID.
2. Execute the approved CRM/warehouse rule version at a recorded timestamp.
3. Deduplicate canonical contacts and remove opt-outs, deletions, sensitive/ineligible records and other exclusions.
4. Compare the eligible count with the audience's safety floor, ceiling and prior run.
5. Normalise and SHA-256 hash the permitted identifiers once.
6. Send batches under one unique session with a consistent schema.
7. Mark the final batch and poll operation status until completion.
8. Record source count, sent count, received count, invalid count, final status and duration.
9. Release the lock and update the last-successful-sync timestamp only after completion.

## Priority removal

1. Record the opt-out/deletion/suppression in the CRM source of truth.
2. Queue removal from every applicable audience using the same identifier preparation as addition.
3. Prevent future source queries from re-adding the record.
4. Record completion without logging the raw identifier.
5. Confirm the next full reconciliation excludes the record.

## Stop conditions

- Eligible source count changes beyond the approved tolerance.
- Terms, permissions or access token are invalid.
- A replace operation is already in progress.
- Batch schema differs from the first batch.
- The run cannot finish inside the replacement-session window.
- Invalid entries exceed tolerance.
- Operation status reports replace error or an integrity flag.

## Incident response

1. Preserve the last known healthy audience; do not start repeated replacements.
2. Identify affected audience IDs, campaign dependencies and first failed run.
3. Inspect source query, suppression logic, connector/API version, permissions and operation status.
4. Correct the smallest cause and test in a safe audience.
5. Re-run one authoritative replacement when the audience returns to a normal state.
6. Reconcile counts and review delivery impact with the media owner.
7. Document cause, affected window, fix and prevention.
