Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show exit feedback modal upon deactivation #1527

Open
elizaan36 opened this issue Apr 7, 2021 · 29 comments · May be fixed by #8757
Open

Show exit feedback modal upon deactivation #1527

elizaan36 opened this issue Apr 7, 2021 · 29 comments · May be fixed by #8757
Assignees
Labels
category: core WC Payments core related issues, where it’s obvious. component: metrics Issues related to Metrics focus: account lifecycle needs design The issue requires design input/work from a designer. priority: medium The issue/PR is medium priority—non-critical functionality loss, minimal effect on usability size: medium The issue is sized medium. type: enhancement The issue is a request for an enhancement.

Comments

@elizaan36
Copy link

Description: we want to collect feedback about how WCPay users perceive the existing product experience and uncover pain points, and presenting the opportunity to give feedback upon deactivation of the extension will provide some insight.

Modal:
Exit feedback

Modal component in Storybook

Title: Help improve WooCommerce Payments
Copy: Take this 2 minute survey and share your reason for turning off WooCommerce Payments.
Segmentation: None
Timing: immediately upon deactivation of the extension from wp-admin plugins
Cadence: Only presented once per user. Once shown, it won't be shown again to the same user.
CTA leads to: http://automattic.survey.fm/woocommerce-payments-exit-feedback
CTA label: Share feedback / No thanks

cc @pmcpinto

@moon0326
Copy link
Contributor

moon0326 commented Jun 23, 2021

@elizaan36 @pmcpinto

This is going to be a bit tricky/hacky to implement as we don't have access to React components on the plugins page as far as I know.

We can implement it in pure JS, but it's going to take more time than using an already existing React component.

  1. Include a custom JS script in WC Payment. The script attaches an event to the deactivation link on the plugins page.
  2. Build the modal component in pure JS
  3. Popup the modal when the deactivation link gets clicked.

I would say it's 3~5 task.

@moon0326
Copy link
Contributor

moon0326 commented Jun 24, 2021

@samueljseay Hey Sam, do you have any thoughts on this? I'm not very keen on building the modal from the scratch without React, but I don't see any other ways.

@elizaan36
Copy link
Author

Hey Moon, no idea if this is helpful at all but the Heisenberg team have been looking into implementing a similar modal using a Jetpack component. More info in this thread: paJDYF-1Vp#comment-6709

@moon0326
Copy link
Contributor

Hey Moon, no idea if this is helpful at all but the Heisenberg team have been looking into implementing a similar modal using a Jetpack component. More info in this thread: paJDYF-1Vp#comment-6709

Thank you @elizaan36 👍

I've read the thread and it looks like the implementation is in React as far as I understand. We won't be able to use React components on the plugin page, unfortunately. I'll discuss with ghidorah team and see if other team members have any other solutions.

@moon0326
Copy link
Contributor

@elizaan36 Sorry for the delay in response. I've looked at other plugins that have an exit survey. I think estimate 3 is reasonable for this. We can work on this in the next sprint.

Dev reference: Mailpoet plugin has an exit survey and it can be a good reference.

@RadoslavGeorgiev RadoslavGeorgiev added category: core WC Payments core related issues, where it’s obvious. component: metrics Issues related to Metrics type: enhancement The issue is a request for an enhancement. labels Dec 21, 2021
@naman03malhotra naman03malhotra added the needs prioritisation Triage finished and issues are ready for the following processing. label Dec 21, 2021
@ismaeldcom
Copy link
Contributor

Hi @elizaan36! Is this something we would still like to implement? If that's the case, should we use the provided survey link or a new one? I can work on it 🙂

@rogermattic
Copy link

@ismaeldcom thanks for the ping on Slack! So I think it would be useful to have it. I think we may want to try and review this survey (perhaps we can make it even more useful). I'll see what I can do and get back to you asap

@elizaan36
Copy link
Author

elizaan36 commented Aug 8, 2022

hey @ismaeldcom ! 👋

Rather than linking to an external survey for this, could we use an inline modal upon deactivation (similar to the one below)? Mailchimp is a good example of this on the plugins page.

Exit survey

If so, I'll confirm the selections we should include in the modal.

Edit: To clarify, the mockup shows some items selected but they would all appear unselected by default to the user.

@ismaeldcom
Copy link
Contributor

Hi @elizaan36!

Sure, we're already using the same UI for other surveys, and it will be more consistent 🙂

I'm not sure when we will be able to work on it, but would be good to have all the required information to be implemented.

@haszari haszari added the focus: misc or unknown Issues that need to be added to a focus area (aka "needs focus"). label Mar 11, 2024
@vbelolapotkov vbelolapotkov added focus: account lifecycle and removed focus: misc or unknown Issues that need to be added to a focus area (aka "needs focus"). labels Apr 4, 2024
@vbelolapotkov
Copy link
Collaborator

@anu-rock that seems to be a good fit for account life cycle, could you please check with @timmy5685 .

@anu-rock
Copy link
Contributor

anu-rock commented Apr 5, 2024

@ismaeldcom Since you were looking into this issue earlier, do you know if @moon0326's #1527 (comment) about React components being unavailable on the Plugins page is still valid?

@anu-rock anu-rock added priority: medium The issue/PR is medium priority—non-critical functionality loss, minimal effect on usability size: medium The issue is sized medium. and removed needs prioritisation Triage finished and issues are ready for the following processing. labels Apr 5, 2024
@ismaeldcom
Copy link
Contributor

Hey @anu-rock, not sure about the mentioned limitations.

My idea back in the day was to create a new webpack entry, enqueue the script on the plugins page, adding a listener to the WooPayments deactivate link which will take care of mounting the React modal.

@mordeth mordeth self-assigned this Apr 8, 2024
@pierorocca
Copy link

I'd encourage using Crowdsignal rather than MC. MC is difficult to parse data from and the above, while similar to other, is in need of modernization. Crowdsignal makes it very easy to get top level stats and to dig into the qualitative data. And we're able to tweak questions as needed without development.

The Shopper Experience team is happy to lend capacity for this must have feature. We've added this churn survey for WooPay and we get excellent participation and easy to view data. The CSS could be improved a bit for font and styling. Overall it's working great.

image

image

@pierorocca
Copy link

The existing design imo makes it way too easy to select the red, provide no feedback option. The above Crowdsignal example with only a single button, a constraint of Crowdsignal, works in our favor to make answering the survey the more natural path.

@anu-rock
Copy link
Contributor

@pierorocca Wow, thanks for the tip. It looks pretty nice.

@mordeth Maybe there's an opportunity to lift and shift the exit survey component from the WooPay codebase?

@pierorocca
Copy link

@alefesouza added code so that if a merchant toggles WooPay on and off, the survey will show only after 7 days has passed since the last participation. Helps to not spam the merchant and to not have duplicate survey data.

@mordeth
Copy link
Contributor

mordeth commented Apr 11, 2024

@elizaan36 What are your thoughts on utilizing a Crowdsignal form instead of linking to an external survey? I believe it would facilitate gathering more feedback. After conducting some investigation, it seems that implementing it would require a similar level of effort.

@anu-rock anu-rock added the needs design The issue requires design input/work from a designer. label Apr 15, 2024
@elizaan36
Copy link
Author

hey @mordeth I think it's a great approach! Let me know how I can support.

@timmy5685
Copy link

Thanks for all the input here @pierorocca. Sounds like we're all in agreement to use this.

@anu-rock i'm in favor of moving forward with this.

@elizaan36 - any issues with the 7 day delay that Shopper Experience used? I think it makes sense.

@pierorocca
Copy link

If you all need support, @alefesouza will be able to spend a few hours next sprint assisting. Super excited to start collecting this data.

@mordeth
Copy link
Contributor

mordeth commented May 1, 2024

@elizaan36 - any issues with the 7 day delay that Shopper Experience used? I think it makes sense.

@timmy5685 I don't think implementing a delay would be feasible in this scenario. The survey we're seeking is triggered upon deactivating WooPayments, and we need to display the survey immediately after the Deactivate button is clicked. Once the WooPayments plugin is deactivated, we won't be able to display it anymore.

@pierorocca
Copy link

Should be OK since unlike a feature it's unlikely the gateway will be toggled on and off excessively.

@mordeth mordeth linked a pull request May 2, 2024 that will close this issue
6 tasks
@elizaan36
Copy link
Author

Late comment but I think it's highly possible for the user to toggle the gateway on and off during testing, so the 7 day delay is a good idea.

@timmy5685 I don't think implementing a delay would be feasible in this scenario. The survey we're seeking is triggered upon deactivating WooPayments, and we need to display the survey immediately after the Deactivate button is clicked. Once the WooPayments plugin is deactivated, we won't be able to display it anymore.

@mordeth Can we save the deactivation time stamp in memory so the survey isn't triggered again for that store within 7 days timeframe?

@mordeth
Copy link
Contributor

mordeth commented May 13, 2024

@elizaan36 Could you elaborate more on your proposal for the 7-day delay? Disabling the WooPayments plugin differs from disabling a WooPay gateway because when a merchant disables the plugin, we lose the ability to execute any actions.

@pierorocca
Copy link

I think the thinking here is:

  1. Merchant installs and activates WooPaymenrts
  2. On Merchant deactivating, but not uninstalling WooPayments, persist deactivation date in WooPayments or Options table
  3. Display Survey
  4. Merchant re-activates WooPayments
  5. Merchant again deactivates WooPayments. Triggering on this action, check last deactivation date in table. If < 7 days, show survey.

Is that doable?

@mordeth
Copy link
Contributor

mordeth commented May 13, 2024

Absolutely, that's a very valid point and doable! However, adopting that approach might result in missing out on valuable feedback from merchants who used and deactivate the plugin and never reactivate it, which could be more beneficial for our needs.

@pierorocca
Copy link

I think that's where the x days strikes the balance between capturing the data but not spamming the merchant and not collecting the same data twice.

@mordeth
Copy link
Contributor

mordeth commented May 14, 2024

With the current implementation, the survey would appear only once during the initial deactivation and would not be displayed again. This ensures that we don't overwhelm the merchant with repeated requests for feedback and avoid collecting duplicate data.

Both approaches have their advantages and disadvantages, so we need to choose the one that would yield the most valuable feedback. In my opinion, opting for the one-time immediate request would be a better approach, considering that merchants typically don't deactivate and reactivate WooPayments frequently during configuration.

We could test out the 7-day approach and assess its effectiveness in gathering valuable feedback. If it doesn't yield the desired results, we can always remove the delay. WDYT? cc. @pierorocca @elizaan36

@elizaan36
Copy link
Author

With the current implementation, the survey would appear only once during the initial deactivation and would not be displayed again. This ensures that we don't overwhelm the merchant with repeated requests for feedback and avoid collecting duplicate data.

Gotcha! I had assumed that the survey would appear upon every deactivation. If it appears only once during the initial deactivation that's reasonable, however thinking of the use case where merchants/builders are testing the gateway on and off, the 7 day delay would be a better option. That way we can understand the long term usage after the testing phase.

We could test out the 7-day approach and assess its effectiveness in gathering valuable feedback. If it doesn't yield the desired results, we can always remove the delay. WDYT?

I think this is a good approach. Thanks @mordeth!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: core WC Payments core related issues, where it’s obvious. component: metrics Issues related to Metrics focus: account lifecycle needs design The issue requires design input/work from a designer. priority: medium The issue/PR is medium priority—non-critical functionality loss, minimal effect on usability size: medium The issue is sized medium. type: enhancement The issue is a request for an enhancement.
Projects
None yet
Development

Successfully merging a pull request may close this issue.