Hi @Temi O.
Thank you for your reply...and hope you’re doing well! I’ve been down the troubleshooting path very extensively and, at this point, suspect it is on Klaviyo’s end. Here is a little more detail on what I’ve investigated and ruled out:
- There are no pending or failed scheduled actions in WooCommerce - in fact, there is nothing Klaviyo-related in the logs.
- I installed the WP Crontrol plugin for any insight and it confirmed zero Klaviyo-related cron events even exist in WordPress's schedule.
- I’ve confirmed that there have been no server-level security changes that would impact REST API calls. I’ve also reviewed the firewall audit logs and there were no blocked calls from Klaviyo’s IP range.
- With the help of Claude, I tried creating a plugin utilizing the REST API approach - but came to the conclusion that WooCommerce dynamic coupons are not exposed via the public REST API, only the Uploaded Coupons. I also tried using the AJAX endpoint, but no luck. At that point, we tried using GitHub Actions + Playwright - the actions would failed / error out due to Klaviyo’s IP binding (redirecting to the login URL)
As for any changes on my end, I did have a corrupt cache file that was causing other issues on my site. I had WP Rocket - and while I know there is an incompatibility with WP Rocket and Klaviyo, it hadn’t presented a problem for me at all over the last 2+ years. However, due to other issues I was having, WP Rocket was deactivated a few weeks ago while support was troubleshooting the other issues. It seems like it was around the time WP Rocket was deactivated when coupon codes stop generating, which just doesn’t make any sense. Coincidence? I don’t know. But, I’ve deactivated/deleted the Klaviyo plugin, disabled/removed the WooCommerce integration in Klaviyo, and set everything back up again...several times. Still nothing.
After countless hours researching and troubleshooting this, what I’m understanding is that Klaviyo's WooCommerce dynamic coupon code replenishment is managed entirely by Klaviyo's internal backend scheduler. The scheduler runs on Klaviyo's servers and, when triggered, calls the WooCommerce REST API to create unique coupon codes and adds them to Klaviyo's pool. Something broke in Klaviyo's scheduler approximately 2–3 weeks ago. And, after exhausting every imaginable avenue, I have landed back where I was and suspect the issue is on Klaviyo's side and is not caused by any WordPress, WooCommerce, or plugin configuration on the site.
At this point, I have to go in EVERY day and save a manual edit to each coupon so new codes are generated. Clearly this method isn’t sustainable long-term and present room for error (and embarrasment with customers who receive an email with an error coupon code)!!
We are a somewhat new(er), small brand and can only utilize Klaviyo’s free plan at the moment. Unfortunately, the drawback to that is I have no direct Klaviyo support and am just left pulling my hair out! I’m not sure what options I have left at this point, so any insight, thoughts, suggestions, etc. are greatly welcomed!! 😊
Thanks so much!!