I agree with @nikitavaidya that sending a quarterly Campaign may be the simplest way to do this.
If you do want to automate this, you can create a Flow to simply send a discount code after they started their subscription every 3 months. However, this means that these emails aren’t sent on a specific calendar day of the year, as everyone will hit their 3-month subscription on a different day. If this is acceptable, then the Flow is fairly straightforward:
To create this Flow:
- Create a Flow triggered on “Started Subscription”
- Add a Flow Filter for “Cancelled Subscription” Zero times since starting the Flow.
- Add a 3-Month Time Delay
- Add your message with the discount code. I recommend using a dynamic code here!
- Add another 3-Month Time Delay, and clone the discount email, and repeat this as far into the future as you’d like.
Alternatively, you can also use a “Date Property Triggered Flow” to repeat this indefinitely without adding multiple time delays/messages as above. This is a bit more tricky to setup, but you’ll never have to add more “messages” far into the future.
- Create (or use an existing Flow) a Flow that was triggered on “Start Subscription” and use the “Update Profile Property” action to set a field like “subscribed_date” to “Use current date when step is reached...” This sets the date in their profile when they first subscribed.
- Create a new Flow triggered on Date Property, and use the “subscribed_date” as your date property. Set this to “Monthly”
- Add a Flow Filter for “Cancelled Subscription” zero times in the last 90 Days AND “Received Email” where Flow equals “{name of this flow}” zero times in the last 90 days. This removes anyone who has Cancelled their Subscription, and ensures they only get this every 90 days (and not monthly).
- Add your Message with the Discount.
Hope this helps!