Hello there, I am new to Shopify and the apps on there, and was wondering if it was possible to set up an automation to send an email to customers (who have signed up for emails) with a list of currently active discount codes? If it’s possible then how would I go about doing this so it sends an email with the codes every set amount of days? Many thanks in advance.
Topic summary
A Shopify merchant wants to automatically email active discount codes to subscribers on a recurring schedule. They’re using Shopify Email (not Klaviyo) and initially struggled with setup.
Solution Process:
- Started with Shopify Flow app using the “Email weekly summary of active discounts” template
- Encountered errors when trying to connect discount data directly to customers (discounts aren’t inherently tied to customer records)
- Initial attempt triggered emails only when new customers were created, not on a schedule
Working Solution:
- Use a scheduled time trigger in Flow
- Add “Get customer data” action to retrieve subscribers (filtered by
email_marketing_state:subscribed) - Use “For each” loop to iterate through customers
- Send marketing email with discount codes to each subscriber
Recommendations:
- Test with “Log output” step first to verify correct customers are being retrieved
- If subscriber count approaches 100, implement customer tagging (
tag_not:YOUR_TAG) to prevent duplicate emails
The merchant successfully configured the flow with no errors and is ready to test the automated monthly discount emails.
I have Shopify email (not used Klaviyo) and I would more than welcome help setting it up, my brain imploded trying to set something up myself earlier ![]()
Try using the Shopify Application called Flow https://apps.shopify.com/flow
Then use keyword/template discount
I went with the ‘Email weekly summary of active discounts that use a code’ template and changed an internal email to a marketing email, but now have this error (which I also kept getting when I attempted to make a flow myself)
The discounts you are retrieving do not have a Customer tied to them in any way. The discounts are potentially tied to Orders when they happen. If the customer used a discount code during checkout, you can “Get order data” by filtering by discount code. But it doesn’t work with automatically applied discounts.
I believe I have managed to set up a working flow, when a customer is created it checks if they have subbed to email marketing and if yes it sends the monthly discounts email. Although I haven’t figured out how to get it to go on a schedule ![]()
This is the basic flow I made (image below) and what I wanted was to set it so it would do this once a month, to check who has subbed for email marketing and send them a monthly email, but when I set this up with the schedule trigger I get that error about ‘customer’
Start with scheduled time trigger and use “Get customer data” to get recently created customer. Then loop over them using For each and call your discounts email.
Just make sure that your “Get customer data” query is pulling back the right set of customers. Typically I would replace “Send marketing email” with a “Log output” step to see which customers are being returned.
If you hit the 100 limit, you can also tag customers and add a “tag_not:YOUR_TAG” to the query so they don’t get the email more than once.




