Skip to main content

Get More Reviews

Jira Ticket

PM-7320

Project Description / Problem:

Our review clicks are down (see powr.io/admin/reviews) and we mostly get negative reviews these days. We need to update the logic for when and where we are showing the review box on standalone and in the pop out settings.

Proposed Solution:

A/B test adding a “Getting started” progress bar to users/me and response/sales dashboard with a list of actions that the user needs to take to complete the bar. Leaving a review and video testimonial is a part of the list. Additionally, we would like to send emails to new users after they’ve installed their first plugin to leave a review. We will have to wait for this part until we are up and running with Hubspot.

A/B

Name: more_reviews_via_dashboard \ Groups: "control", "progress_bar"

Criteria: New users

Group A: Control

Group B: “Getting started” progress bar (name of group - progress_bar)

  • New Users

Group B BDD Specs - Users/Me Dashboard

✅Scenario: User is in Group B

Given the user is in Group B

And is a new user

When they land on users/me dashboard

Then they will see the “Getting Started” progress bar in the top bar to the left of the “help” link that includes steps that they need to complete. The steps consist of:

  • Create account (Note: this one will also be checked off by default)

  • Create a plugin (this will be checked if the user already has a saved plugin)

  • Leave a review

  • Leave a video testimonial (only for P1 apps)

    \ Eng notes:

We need to create a table for user journey, make it flexible to allow for the addition of steps anywhere in the journey.

Table name: user_journey_steps

Columns:

id: primary key \ user_unique_id: string: links to user table via unique_id \ review_status: string: [ null “complete” “skipped”] null - reviews pending \ video_testimonial_status: [ null “complete” “skipped”] null - testimonial pending

In the future we can have more things like onboarding_survey_status etc etc

Implementation:

  • Create account (Note: this one will also be checked off by default)
  • Create a plugin (user.apps.present?)
  • Leave a review \
  • check review_status on user_journey_steps, if dismissed of complete - then mark done, else \
  • check review_clicks for user.apps and show check for those that exist (note: if user clicks on all review links, then we will mark this as “complete”)
  • Leave a video testimonial (only for P1 apps)

    • check video_testimonial_status on user_journey_steps.. (rest logic similar to review step)
- we need to create a new table video_testimonial_clicks similar to review_clicks

\

alt_text

Eng notes: \ Progressbar will be built using c

✅Scenario: User clicks on progress bar

Given the user is in group B

And the “Getting started” progress bar is displayed

When they click on the progress bar

Then the tooltip will display

✅Scenario: User hasn’t created a plugin yet

Given the user is in group B

And is a new user

When they land on users/me

If they don’t have any plugins created

Then the progress bar will show 1/3 Getting Started: Create a plugin

And step 3 will be disabled until the user creates a plugin

And the step 4 will be hidden

alt_text

Note - Instead of Get $25 it should be Get $79.99

✅Scenario: User clicks “Create a plugin” in progress bar list

Given the user is in group B

And they are a new user who has yet to create a plugin

When they click “Create a plugin” in the progress bar list

Then the mini market modal will be triggered

✅Scenario: User creates their first app and the app is P1

Given the user is in group B

And they are a new user who has yet to create a plugin

When they create their first plugin

And the plugin is from P1 list

Then step 2 of getting started list will be checked / completed

And the “Leave a review” step will become enabled

And the “Leave a video review” step will become unhidden and enabled

✅Scenario: User creates their first app and the app is P2

Given the user is in group B

And they are a new user who has yet to create a plugin

When they create their first plugin

And the plugin is from P2 list

Then step 2 of getting started list will be checked / completed

And the “Leave a review” step will become enabled

alt_text

✅Scenario: User has created a plugin already

Given the user is in group B

And they are a new user

When they land on users/me \ If they already have created a plugin

Then the progress bar will show the second step. 2/4 Getting Started: Leave a review

alt_text

✅Scenario: User clicks “Leave a review” in getting started list when they only have one app type saved (it does not need to be published)

Given the user is in group B

When they click on “Leave a review” in getting started list

Then the drilldown content will display

And the sub title will say “Leave a 5 star review for {common_name} to help us help others like you!”

And there will be a button to leave a review

Note: A user can only click “Leave a review” if they have a plugin they’ve created. If they don’t have any plugins, this step is disabled/unclickable

alt_text

Note - “Dismiss” should be “Skip”

Eng Notes:

We use ReviewClick to record user

✅Scenario: Group B user clicks “leave a review” button in the review drilldown content

Given the user is in group B

When they click on “Leave a review” button in the review drilldown content

Then a new tab will open

And they will be redirected to leave a review on the app for the user’s platform

And the “Leave a review” list item will become checked / complete

And the progress bar will advance

Eng notes: use review_url as provided by platform_link.rb file

alt_text

Scenario: Group B user clicks “Leave a review” in getting started list when they have multiple app types with platform set

Given the user is in group B

And has a platform set

When they click on “Leave a review” in getting started list

Then the drilldown content will display

And the sub title will say “Leave a 5 star review to help us help others like you!”

And there will be a list of all the plugins they have created

alt_text

Note: A user can only click “Leave a review” if they have a plugin they’ve created. If they don’t have any plugins, this step is disabled/unclickable

✅Scenario: User clicks app type link to review

Given the user is in group B

And clicked “Leave a review”

When they click on a plugin in the list of apps to be reviewed

Then a new tab will open

And they will be redirected to their platform (if platform is known) to leave a review on that app

And that app type list item will become checked / complete

✅Scenario: User creates a new app type while the Leave a review step is not complete

Given the user did not complete Leave a review step

When they create a new app with different type

Then the newly added app type should appear in drilldown of Leave a review

And the number of apps they should review should update

✅Scenario: User reviews all app types they have

Given the user is in the “getting started” tooltip

When they leave a review on all the app types they have

Then the “Leave a review” list item will become checked / completed

And the state of the checkbox should be saved, meaning if the user has created a new app after completion of this step - the progress bar should not change

✅Scenario: User clicks “x” or anywhere outside of tooltip

Given the user has opened the “Getting started” tooltip

When they click the “x” or anywhere outside of the tooltip

Then the tooltip should disappear

Scenario:Group B user clicks “Leave a review” in getting started list when they have multiple app types and no platform set

Given the user is in group B

And has no platform set

When they click on “Leave a review” in getting started list

Then the drilldown content will display

And the sub title will say “Leave a 5 star review to help us help others like you!”

And there will be a button to leave a review

Scenario:Group B user clicks “Leave a review” in getting started list when they have multiple app types and no platform set

Given the user is in group B

And has no platform set

And clicked “Leave a review”

When they click on “Leave a review” in drilldown

Then the new tab will open with G2 reviews

✅Scenario: User clicks “Skip”

Given that the user is in the “getting started” tooltip

And have clicked into reviews

When they click skip

Then the tooltip will close

And the step they dismissed will be marked as done

alt_text

✅Scenario: User clicks ‘back’ on drilldown content in “Getting Started tooltip”

Given the user has clicked on “Leave a review” or “Leave a video testimonial”

When they click “Back” on the drilldown content

Then the “Getting started” steps will be displayed again

✅Scenario: User cannot click on a checked item in “Getting Started tooltip”

Given the user that has completed a step

When they click on the completed step

Then nothing should happen

Video testimonials

✅Scenario: Video testimonials is shown only for P1 apps

Given the user is in group B

And has no P1 app

Then the “Leave a video testimonial” step should be disabled/unclickable

✅Scenario: User clicks “Leave a video testimonial” in getting started list when they only have one app type

Given the “Leave a video testimonial” step is active for the user

When they click on “Leave a video testimonial” in getting started list

Then the drilldown content will display

And the sub title will say “Share your story and get 1 free month of POWr Business, worth $79.99!”

And there will be a button to leave a review

Note - Business trial will be applied manually by marketing team

alt_text

✅Scenario: Group B user clicks “leave a video testimonial” button in the review drilldown content

Given the user is in group B

When they click on “Leave a video testimonial” button in the review drilldown content

Then a new tab will open

And they will be redirected to https://powr.usevouch.com/{appname}/share?email={url_encode(email)}&name={url_encode(name)}

And the “Leave a video testimonial” list item will become checked / complete

And the progress bar will advance

Eng notes: url will be https://powr.usevouch.com/{appname}/share?email={url_encode(email)}&name={url_encode(name)} \ NOTE - appnames in db are camelCase, but in this url are lowercase.

Please encode the user’s email address and name (if we have it) in the URL

Scenario: User email and name is visible in video testimonial in usevouch

Given a user has clicked ‘Leave a video testimonial’ and their email/name has been encoded in the URL

When they leave a video review in powr.usevouch.com

Then their email address and name will be visible with their video

✅Scenario: User clicks “x” or anywhere outside of tooltip

Given the user has opened the “Getting started” tooltip

When they click the “x” or anywhere outside of the tooltip

Then the tooltip should disappear

✅Scenario: User clicks “Skip”

Given that the user is in the “getting started” tooltip

And have clicked into reviews or video testimonials

When they click skip

Then the tooltip will close

And the step they dismissed will be marked as done

✅Scenario: User clicks “Leave a video testimonial” in getting started list when they have multiple app types

Given the user is in group B

When they click on “Leave a video testimonial” in getting started list

Then the drilldown content will display

And the sub title will say “Share your story and get 1 free month of POWr Business, worth $79.99!”

And there will be a list of all the plugins they have created

alt_text

Note - do not include “Get $25” label on each step, mocks are not correct

✅Scenario: User has multiple apps and clicks one of the app links displayed in “Leave a video testimonial”

Given the user has multiple app types

And have clicked on “Leave a video testimonial”

When they click on an app link

Then they will be redirected to a page to leave a video testimonial for that app

✅Scenario: User creates a new app type while the Leave a video testimonial step is not complete

Given the user did not complete Leave a video testimonial step

When they create a new app with different type

Then the newly added app type should appear in drilldown of Leave a review

And the number of apps they need to review should update

✅Scenario: User reviews all app types they have

Given the user is in the “getting started” tooltip

When they leave a review on all the app types they have

Then the “Leave a video testimonial” list item will become checked / completed

And the state of the checkbox should be saved, meaning if the user has created a new app after completion of this step - the progress bar should not change

✅Scenario: User completes or skips “Leave a video review” before “Leave a review” step

Given the user is in the “getting started” tooltip

And did not complete “Leave a review” step

When they leave a video review or skip the step

Then they the “Leave a video testimonial” list item will become checked / completed

And the progress bar should change to ¾

✅Scenario: Edge case - user leaves a review for some plugin but then deletes all the plugins

Given the user is in the “getting started” tooltip

And did complete “Leave a review” step

And did not complete “Leave a video review” step

Then the tooltip should hide

✅Scenario: User completes all steps

When the user completes all steps

Or the first three steps while “Leave a video testimonial” step is not active

Then the progress bar will move to 100%

And disappear

And toast notification with success message appears

✅Scenario: Mobile

When a user is on mobile

Then the progress bar should decrease in size (if needed) to fit the nav

The title should say “Getting started” only

And the steps “2/4” should be removed

alt_text

Note - the mock is not correct, the steps should not be visible, and the title is shorter

BDD Specs - Form Response Dashboard & Sales Dashboard

Note: the first two steps should always be crossed out / completed on the form response dashboard and sales dashboard. We can safely assume that if the user is at that point then they already have an account and they’ve already created a plugin

✅Scenario: User is on their Form Response Dashboard / Sales Dashboard

Given the user is in Group B

And is a new user

And the last_viewed_url exists for the app

When they are on the Form Response Dashboard

Then they will see the “Getting started” progress bar in the top bar to the left of “editor”.

alt_text

Scenario: User clicks “Leave a review” or “Leave a video testimonial” on Form Response Dashboard / Sales Dashboard

Given the user is interacting with the “Getting started” progress bar on Form Response Dashboard

When they click “Leave a review” or “Leave a video testimonial”

Then they will see content with a button to leave a review on that app

alt_text

alt_text

❌Scenario: Mobile

When a user is on mobile

Then the progress bar should decrease in size (if needed) to fit the nav

alt_text

BDD Specs - Popup settings

alt_text

✅Scenario: User is in popup settings

Given the user is in popup settings

And in group B

And the app is from P1 list

When they navigate to the last tab (Design)

And they click “Yes” Emoji on “Did you enjoy using ...” section

Then the two buttons should appear - “Leave a review” and “Leave a video testimonial”

✅Scenario: User is in popup settings

Given the user is in popup settings

And the app is not from P1 list

When they navigate to the last tab (Design)

And they click “Yes” Emoji on “Did you enjoy using ...” section

Then two existing emojis should appear (existing logic)

alt_text

✅Scenario: User clicks “Leave a review”

Given the user is in popup settings

And are seeing the review modal

When they click “Leave a review”

Then it will be the same logic as the tooltip (open a new tab and redirect them to platform to leave a review for that app if platform is known. Otherwise, send them to G2.)

✅Scenario: User clicks “Leave a video testimonial”

Given the user is in popup settings

And are seeing the review modal

When they click “Leave a video testimonial”

Then it will be the same logic as the tooltip (Open a new tab and send them to the link Emilie will provide to leave a video testimonial for that app)