Clickbait events are a common anti-pattern in event-driven systems where events carry only an identifier and no meaningful context, forcing subscribers to query back for data. This creates chattiness, exponential API calls, tight coupling, and race conditions. The root causes include thinking synchronously, misapplying 'keep events small' advice, and not treating events as a proper API contract. The fix is to enrich events with all relevant data so subscribers can act without additional queries. Exceptions exist for webhooks, privacy/PII concerns, and blob data, where a versioned URL (Forgettable Payload pattern) can be a reasonable tradeoff.

10m read timeFrom event-driven.io
Post cover image
Table of contents
Living still in the synchronous worldBelieving that notification is enoughGoing to the extreme with events granularityNot thinking about events as the APIChattiness of the communicationExponential growth of callsOur communication is direct and error-proneRace conditions between notifications and queriesHow to deal with clickbait events?When such an event can be a correct usage?