Sourcing de eventos: eventos que acionam outras pessoas e reconstroem o estado

Estou lutando para entender o que deve acontecer ao reconstruir o modelo, repetindo eventos da EventStore, principalmente quando eventos podem acionar outros eventos.

or exemplo, um usuário que fez 10 compras deve ser promovido a um cliente preferencial e receber um e-mail oferecendo determinadas promoçõe

Claramente, não queremos que o email seja enviado toda vez que reconstruímos o modelo para esse usuário, mas como impedimos que isso aconteça quando reproduzimos nosso 10ºPurchaseMadeEvent ?