The WooCommerce subscriptions plugin doesn’t provide a cancel reason when the user is trying to cancel a subscription on the “my account” page:

A cancel reason it’s a useful way to gather information, which can be achieved with Elementor forms and a popup.

How to create a cancel reason popup from Elementor for WooCommerce Subscriptions

These are the steps below:

  1. Create an Elementor Popup for the “my account” page, which will be activated with the class .button.cancel
  2. Create a form inside the popup, with your desired fields.
  3. Create and add a JS file

The JS file

We need to prevent default behavior and kidnap the functionality for the “cancel” link, and we can achieve this with JavaScript.

Our JS file will do the following:

  • Prevent the click action on the cancel link
  • Open the Elementor popup
  • Get the cancel reason link
  • Redirect to the cancel reason link after the form has been submitted

I’ll add the JS file to this post later.

I’m also planning to create a plugin for this issue.