Skip to content

Commit

Permalink
Merge pull request #1415 from guardian/cancellation-reasons-update
Browse files Browse the repository at this point in the history
Update cancellation reasons for SupporterPlus and Recurring contributions
  • Loading branch information
rBangay authored Nov 18, 2024
2 parents 984f8e5 + cffb40d commit 602728f
Show file tree
Hide file tree
Showing 11 changed files with 192 additions and 134 deletions.
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

0 comments on commit 602728f

Please sign in to comment.