If you need to add a tag based on a customer purchase you can control when you want to add that tag to that contact.
When an order is placed in WooCommerce it follows a few default statuses like
- On Hold
You also can select one of those statuses when the trigger will fire.
The default order status is Processing to trigger the action and you can select your desired trigger here.
If you select the completed status when an order is placed and the status is changed to completed the trigger will fire and the tags will be added to that customer/contact.
The other options like campaigns & workflows work in the same way.