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

Update cancellation reasons for SupporterPlus and Recurring contributions #1415

Merged
merged 4 commits into from
Nov 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 3 additions & 13 deletions client/components/mma/cancel/cancellationReason.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,27 +34,17 @@ export type CancellationReasonId =
| 'mma_better_offer'
| 'mma_issue'
| 'mma_financial_circumstances'
| 'mma_cost_of_living'
| 'mma_cutting_subscriptions'
| 'mma_payment_issue'
| 'mma_article'
| 'mma_price_increase'
| 'mma_editorial'
| 'mma_benefits'
| 'mma_value_for_money'
| 'mma_support_another_way'
| 'mma_prefer_lower_amount'
| 'mma_prefer_less_frequent'
| 'mma_direct_debit'
| 'mma_one_off'
| 'mma_wants_monthly_contribution'
| 'mma_wants_annual_contribution'
| 'mma_health'
| 'mma_break_from_news'
| 'mma_values'
| 'mma_no_need'
| 'mma_dont_know_what_for'
| 'mma_other'
| 'mma_membership_cancellation_default'
| 'mma_cancellation_default';
| 'mma_cancellation_default'
| 'mma_membership_cancellation_default';

export type OptionalCancellationReasonId = CancellationReasonId | undefined;
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import {
financialCircumstances,
standardAlternateFeedbackIntro,
} from '../cancellationConstants';
import { shuffleArray } from '@/client/utilities/utils';
import { standardAlternateFeedbackIntro } from '../cancellationConstants';
import type { CancellationReason } from '../cancellationReason';
import { ContributionsCancellationAmountUpdatedSaved } from './ContributionsCancellationAmountUpdatedSaved';
import { ContributionsCancellationFlowFinancialSaveAttempt } from './ContributionsCancellationFlowFinancialSaveAttempt';
Expand All @@ -12,11 +10,6 @@ export const contributionsCancellationReasons: CancellationReason[] = [
linkLabel: 'I am unhappy with some editorial decisions',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_article',
linkLabel: 'As the result of a specific article I read',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_financial_circumstances',
linkLabel: 'I can no longer afford to support you',
Expand All @@ -28,19 +21,8 @@ export const contributionsCancellationReasons: CancellationReason[] = [
hideContactUs: true,
},
{
reasonId: 'mma_cost_of_living',
linkLabel: 'Due to the cost of living crisis',
saveBody: ContributionsCancellationFlowFinancialSaveAttempt,
savedBody: ContributionsCancellationAmountUpdatedSaved,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
hideSaveActions: true,
skipFeedback: true,
hideContactUs: true,
},
{
reasonId: 'mma_cutting_subscriptions',
linkLabel:
'I’m cutting down on my subscriptions with various organisations',
reasonId: 'mma_price_increase',
linkLabel: 'The price has recently increased',
saveBody: ContributionsCancellationFlowFinancialSaveAttempt,
savedBody: ContributionsCancellationAmountUpdatedSaved,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
Expand All @@ -51,62 +33,43 @@ export const contributionsCancellationReasons: CancellationReason[] = [
{
reasonId: 'mma_benefits',
linkLabel:
'I’d like to get something ‘in return’ for my support, e.g. digital features',
'I’m not fully satisfied with the product features or benefits',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
saveBody: [
'Thank you for your ongoing support. Once you’ve completed your cancellation below, you can set up a new product via our online checkouts.',
],
},
{
reasonId: 'mma_prefer_lower_amount',
linkLabel: 'I’d like to support you, but at a lower amount',
reasonId: 'mma_support_another_way',
linkLabel: 'I want to support in a different way',
saveBody: ContributionsCancellationFlowFinancialSaveAttempt,
savedBody: ContributionsCancellationAmountUpdatedSaved,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
hideSaveActions: true,
skipFeedback: true,
hideContactUs: true,
},
{
reasonId: 'mma_prefer_less_frequent',
linkLabel: 'I’d like to support you, but less frequently',
saveBody: ContributionsCancellationFlowFinancialSaveAttempt,
savedBody: ContributionsCancellationAmountUpdatedSaved,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
hideSaveActions: true,
skipFeedback: true,
hideContactUs: true,
},
{
reasonId: 'mma_one_off',
linkLabel:
'I’d rather give spontaneously than have a recurring payment',
saveBody: financialCircumstances,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_values',
linkLabel: 'I don’t feel that the Guardian values my support',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_no_need',
linkLabel: 'I don’t think the Guardian needs my support',
reasonId: 'mma_break_from_news',
linkLabel: 'I’m taking a break from news',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_dont_know_what_for',
linkLabel: 'I don’t know what my money is being used for',
reasonId: 'mma_dont_read_enough',
linkLabel: 'I don’t have enough time to read regularly',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_break_from_news',
linkLabel: 'I am taking a break from news',
reasonId: 'mma_issue',
linkLabel: 'I’m having technical issues',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_dont_read_enough',
linkLabel: 'I no longer read the Guardian enough to justify my support',
reasonId: 'mma_health',
linkLabel: 'I’m dealing with personal or health matters',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
];
Expand All @@ -119,11 +82,7 @@ export const otherCancellationReason: CancellationReason[] = [
},
];

const shuffledArray = [...contributionsCancellationReasons].sort(
() => 0.5 - Math.random(),
);

export const shuffledContributionsCancellationReasons: CancellationReason[] = [
...shuffledArray,
...(shuffleArray(contributionsCancellationReasons) as CancellationReason[]),
...otherCancellationReason,
];
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { shuffleArray } from '@/client/utilities/utils';
import {
inOrderToImproveSubs,
standardAlternateFeedbackIntro,
Expand Down Expand Up @@ -81,10 +82,18 @@ export const digipackCancellationReasons: CancellationReason[] = [
linkLabel: 'I’ve been experiencing technical or service problems',
alternateFeedbackIntro: inOrderToImproveSubs,
},
];

export const otherCancellationReason: CancellationReason[] = [
{
reasonId: 'mma_other',
linkLabel: 'None of the above',
saveTitle: 'Other',
alternateFeedbackIntro: inOrderToImproveSubs,
},
];

export const shuffledDigipackCancellationReasons: CancellationReason[] = [
...(shuffleArray(digipackCancellationReasons) as CancellationReason[]),
...otherCancellationReason,
];
9 changes: 9 additions & 0 deletions client/components/mma/cancel/gw/GwCancellationReasons.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { shuffleArray } from '@/client/utilities/utils';
import {
inOrderToImproveSubs,
standardAlternateFeedbackIntro,
Expand Down Expand Up @@ -86,10 +87,18 @@ export const gwCancellationReasons: CancellationReason[] = [
linkLabel: 'I don’t want an auto-renewing subscription',
skipFeedback: true,
},
];

export const otherCancellationReason: CancellationReason[] = [
{
reasonId: 'mma_other',
linkLabel: 'None of the above',
saveTitle: 'Other',
alternateFeedbackIntro: inOrderToImproveSubs,
},
];

export const shuffledGWCancellationReasons: CancellationReason[] = [
...(shuffleArray(gwCancellationReasons) as CancellationReason[]),
...otherCancellationReason,
];
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { shuffleArray } from '@/client/utilities/utils';
import type { CancellationReason } from '../cancellationReason';
import { BreakFromNewsWithGW, PaymentIssue } from '../GenericSaveBodyResponses';

Expand Down Expand Up @@ -75,6 +76,9 @@ export const membershipCancellationReasons: CancellationReason[] = [
'If there’s anything we can do differently please take a moment to give us some feedback',
],
},
];

export const otherCancellationReason: CancellationReason[] = [
{
reasonId: 'mma_other',
linkLabel: 'Other',
Expand All @@ -85,3 +89,8 @@ export const membershipCancellationReasons: CancellationReason[] = [
],
},
];

export const shuffledMembershipCancellationReasons: CancellationReason[] = [
...(shuffleArray(membershipCancellationReasons) as CancellationReason[]),
...otherCancellationReason,
];
Original file line number Diff line number Diff line change
Expand Up @@ -10,78 +10,53 @@ export const supporterplusCancellationReasons: CancellationReason[] = [
linkLabel: 'I am unhappy with some editorial decisions',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_article',
linkLabel: 'As a result of a specific article I read',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_financial_circumstances',
linkLabel: 'I can no longer afford to support you',
saveBody: financialCircumstances,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_cost_of_living',
linkLabel: 'Due to the cost of living crisis',
saveBody: financialCircumstances,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_cutting_subscriptions',
linkLabel:
'I’m cutting down on my subscriptions with various organisations',
reasonId: 'mma_price_increase',
linkLabel: 'The price has recently increased',
saveBody: financialCircumstances,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_prefer_lower_amount',
reasonId: 'mma_support_another_way',
linkLabel: 'I’d like to support you, but at a lower amount',
saveBody: financialCircumstances,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_prefer_less_frequent',
linkLabel: 'I’d like to support you, but less frequently',
saveBody: financialCircumstances,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_one_off',
linkLabel:
'I’d rather give spontaneously than have a recurring payment',
saveBody: financialCircumstances,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_values',
linkLabel: 'I don’t feel that the Guardian values my support',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_no_need',
linkLabel: 'I don’t think the Guardian needs my support',
reasonId: 'mma_benefits',
linkLabel:
'I’m not fully satisfied with the product features or benefits',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_dont_know_what_for',
linkLabel: 'I don’t know what my money is being used for',
reasonId: 'mma_break_from_news',
linkLabel: 'I’m taking a break from news',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_value_for_money',
linkLabel:
'I didn’t get enough value for money from my ‘supporter extras’',
reasonId: 'mma_dont_read_enough',
linkLabel: 'I don’t have enough time to read regularly',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_break_from_news',
linkLabel: 'I am taking a break from news',
reasonId: 'mma_issue',
linkLabel: 'I’m having technical issues',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_dont_read_enough',
linkLabel: 'I no longer read the Guardian enough to justify my support',
reasonId: 'mma_health',
linkLabel: 'I’m dealing with personal or health matters',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
];
Expand Down
Loading
Loading