How do you add tags to Contacts depending on the stage their Deal is.

How do you add tags to Contacts depending on the stage their Deal is.

We're looking to add tags corresponding to the contact associated with the deal based on which stage they are at in the process. For example, say we have 5 contacts in Stage 3 in Deals, once that Deal hits stage 3, then all the associated contacts within that deal (associated by a lookup field) will have a tag labeled "Stage 3" in their contact.

This is so we can easily marketing to all those contacts in certain milestone stages outside of our workflows.