The pattern that picks the right channel based on how urgent the response needs to be. Real-time channels (in-product, push, in-app, real-time email) for high-urgency contexts; batch channels (scheduled email, direct mail, programmatic) for low-urgency. The pattern fails when channels are selected by team ownership rather than by customer context.
The pattern that prevents the same person from being hit five times in a day across email, push, ads, and direct mail. Requires a unified view of contact attempts across systems that often don't share that view. Most implementations cap frequency per channel rather than per customer, which is the wrong unit.
The pattern that defines who not to contact, based on conversion state, opt-out, fatigue, recent contact, or campaign-specific exclusions. Distinct from positive targeting because the failure mode is invisible: suppression failures show up as customer complaints, not as data quality issues. Foundational to recipes like post-conversion suppression, re-engagement gating, and consent-aware activation.
The pattern where a journey moves from one channel to another without losing context: the email recipient who clicks through to a personalized landing page, the chat conversation that escalates to a phone call, the in-app message that leads to a follow-up push. Most implementations break at the handoff because the context doesn't travel with the customer.
The pattern that defines how fast an activation-side audience updates to reflect changing customer state. A customer just converted, a consent state just changed, a behavioral threshold was just crossed: the audience that drives outbound activation needs to keep up. Distinct from suppression and exclusion logic (which defines who is in or out) because freshness is about how quickly the change reaches the activation layer rather than what the change is.
The pattern that maps a specific observed event (cart add, page view threshold, content download, support contact) to a downstream activation, with rules for debouncing, eligibility, and contextual variation. The simplest activation primitive in the stack, and the one most often implemented as a one-off integration that calcifies into the architecture before it can be generalized.
The pattern that verifies, immediately before send, whether the chosen channel is permitted for this customer in this moment: active subscription, current consent, regulatory coverage (BAA, age gating, jurisdictional rules), and any conditional contracts. Distinct from suppression and exclusion logic because eligibility is the affirmative gate at send time rather than the negative-list filter that runs earlier. Should be the last decision before the message leaves the queue.
The pattern that delivers a multi-stage sequence of messages over a defined cadence, with variation in content and channel at each stage and exit conditions for conversion, opt-out, or fatigue. The bones of cart abandonment, onboarding, win-back, and most lifecycle campaigns. Underdocumented as a pattern because everyone considers it obvious, which is exactly why implementations diverge wildly across teams.