Best practices for pre-renewal notices with WooCommerce Subscriptions

  • 11 November 2021
  • 2 replies

Badge +2

We’re just getting started with Klaviyo for our subscription-based business that uses Woo Subscriptions. In reviewing the Klaviyo-Woo (and 3rd party/suggested Klaviyo Toolkit for subscriptions plugin) integration, I see that these integrations don’t share ‘next payment’ date to subscriber profiles. 

We’re hoping to use Klaviyo to send ‘pre-renewal notices’ to both yearly and monthly subscribers - e.g. ‘your subscription will renew in 30 days’ - and I’m wondering what solution has worked best for other companies seeking to do the same. 

In our case, my sense is that this is likely best solved by using Zapier to populate Custom Property fields, and using a custom property of ‘next payment’ along with the ‘subscription status’ data passed via the provided Klaviyo Toolkit Plugin to trigger and filter these flows. 

Is that how others are handling similar issues? Or is there a better method? 


Best answer by David To 12 November 2021, 22:07

View original

2 replies

Userlevel 7
Badge +59

Hello @GBBPeter,

Great question!

Your understanding of the situation is correct! At present, the default ecommerce integrations do not provide Klaviyo with any details pertaining to product subscription renewals. To resolve this, your method of using Zapier to populate and create a custom profile property to trigger a flow based on a user’s next order would work! Going in this direction, I would suggest ensuring the custom profile property being synced to Klaviyo is in the correct date format which would allow you to create a date triggered flow for these subscription renewals. To learn more about this strategy, have a look at the following Help Center articles Klaviyo offers:


In addition to this method, you can also peruse and look through a directory of third-party integrations that connect with Klaviyo that may be able to assist you in accomplishing your goal. You can see a list of these tools from the Klaviyo Integrations Directory here

Another alternative solution would be either leveraging one of these third-party tools or custom coding your own event to be synced and shared with Klaviyo for when a renewal notice should be sent out. This solution, instead of having a custom profile property amended, would allow you to trigger a flow for when this custom event is recorded. Both methods would work, however going the event route would allow you provide your customers with a more dynamic email as you would be able to reference the product details for the subscription. This would not be the case with a date triggered flow. 

Similar to an abandoned cart flow or a post-purchase flow, because this sort of flow would be triggers by an event, the emails within these flows can reference the specific event data which triggered the flow. This includes any product information or details included in the event metadata. I would recommend review the Guide to Creating a Metric-Triggered Flow and How to Build Dynamic Blocks in a Flow Email Help Center articles to learn more about this strategy. If you were looking to custom code your event, I’ve included some additional resources pertaining to Klaviyo’s API for your convenience:

Thanks for being a part of the Klaviyo Community!



Badge +3

Hey @GBBPeter we’re the developers of the Klaviyo Toolkit plugin. You could try the following way:

  1. Create a flow that get’s triggered off the WC Subscription Created even
  2. Set a trigger split based on the “PlanInterval” dimension and then select a dimension value.
  3. Add a time delay to wait X days (just before your PlanInterval period). So for example, if your PlanInterval was 1 month, you could set your time delay for 25 days. 
  4. Then set your message.

    In this way, your message would go out 5 days before they renew.

    You could repeat this flow for different renewal periods or set up additional trigger splits for different PlanIntervals.