# OPS-146 — Identical bodies across a bulk send fingerprint the campaign

> Message body wording should vary across a bulk send rather than being byte-identical to every recipient.

- **Rule ID:** OPS-146
- **Layer:** Operational (`OPERATIONAL`)
- **Checks:** `body variance across a bulk send`
- **Severity:** LOW — Best practice. Worth fixing, rarely fatal on its own.
- **When it bites:** Falls due after approval, once you are live and sending
- **How it is detected:** Not knowable before submission — reported with its deadline
- **Fix type:** Wait on an external system or a required interval
- **Required by:** Plivo, Vonage
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/operational/ops-146/

## Why this rule exists

Filters fingerprint exact bodies, so a million identical messages are one signature seen a million times and a single spam report can suppress the lot. Varying the wording is not evasion — it is the difference between a campaign that degrades gracefully under a complaint and one that stops entirely.

## How to fix it

Personalise at least one element per message — the recipient name, the item, the store — so bodies differ while the offer does not. Done when no two messages in a send are byte-identical.

## Example of a compliant value

```text
Acme Coffee: {{first_name}}, 20% off {{last_bought}} this weekend at {{store}}. Reply STOP to opt out.
```

## Common mistakes

- Random character insertion or deliberate misspelling is evasion rather than variance, and it is prohibited outright — vary the content, not the spelling. OPS-072 covers that line.

## Check this yourself

**Does your template contain any per-recipient field at all?**

1. Open the template and look for a merge field — the recipient name, the item, the store.
2. A template with none produces byte-identical bodies however sophisticated the platform is.
3. Vary the content, never the spelling: random characters or deliberate misspellings are evasion and prohibited outright.

*What wrong looks like:* A million identical messages are one signature seen a million times, so a single spam report suppresses the lot rather than degrading the campaign gracefully.

## Notes

A property of a real send. What the user has to check is whether their template has any per-recipient field at all — a template with none produces identical bodies however sophisticated the platform is.
