A dedupe key carries the intent, not just the identity
Deduplication keyed on the email alone means the second thing a person does is treated as a repeat of the first. The screen still says "sent," because the handler returns success on the dedupe path. Nobody is lying; the key is just too short.
Where it bit
Newsletter and contact on the same worker share one dedupe key. A person who grabs the teardown and then writes a real message ten minutes later gets "sent" and the message vanishes. That is the warmest lead in the funnel, dropped silently. Tracked as an open gap, not fixed yet because it deserves its own change.
The practice
Key on {action}:{identity}:{window}. Return a distinct status for the dedupe path and show it. Log the collision so you can count how often it happens.
Check it
Submit the teardown form, then the contact form, same address, inside the window. Watch whether the contact email arrives.
Get this check as a script you can run tonight
What to do with this
If you run a business on something AI built and the checks came back with more than you expected, that is worth a conversation.
We do a free 30-minute Health Check for service businesses that want to know exactly where their biggest leaks are. No slide deck. No pitch. We ask questions, find the gaps, and tell you what we see. If there is no obvious fix, we will tell you that too.
Blinkz finds what is broken in how a business runs, then fixes it. AI only where it earns its place.