SuperGeekery: A blog probably of interest only to nerds by John F Morton.

A blog prob­a­bly of inter­est only to nerds by John F Mor­ton.

Dark patterns by example. The inability to cancel the StatusCake service.

Dark patterns no exit

This post has two pur­pos­es.

I want to help you under­stand a dark pat­tern” in UX design.

I also want to use a real-world exam­ple of a dark pat­tern in active use. This post is inspired by per­son­al expe­ri­ence. I stum­bled upon this dark pat­tern when try­ing to can­cel the auto-renew­al of Sta­tus­Cake, a ser­vice I no longer need.

Expos­ing the use of dark pat­terns is one of the only ways con­sumers have to stop these prac­tices.

What is a dark pattern?

A dark pat­tern in UX design refers to decep­tive or manip­u­la­tive tac­tics used in user inter­faces to trick or coerce users into tak­ing actions they might not oth­er­wise choose, such as sign­ing up for recur­ring sub­scrip­tions, shar­ing more per­son­al infor­ma­tion than nec­es­sary, or nav­i­gat­ing through inten­tion­al­ly con­fus­ing lay­outs. Dark pat­terns can also hin­der or pre­vent users from tak­ing an action, like can­cel­ing a ser­vice, which is what we’ll look at in the post.

Dark pat­terns pri­or­i­tize busi­ness goals over user expe­ri­ence.

A dark pattern in use: StatusCake

Sta­tus­Cake is a ser­vice I’ve used for about three years. At first, I used their free plan and upgrad­ed when I was hap­py with the ser­vice. I chose the Supe­ri­or” plan, which is $24.49 month­ly or $244.90 annu­al­ly.

There has been no issue with the ser­vice from Sta­tus­Cake. They effec­tive­ly mon­i­tor my servers for down­time and alert me prompt­ly when there is an issue. But I’ve out­grown my need for their ser­vice and want­ed to can­cel auto-renew­al of my Sta­tus­Cake ser­vice.

The can­ce­la­tion process is where the dark pat­tern emerged.

A blocked exit is a dark pattern

When I signed up for a pre­mi­um tier of Sta­tus­Cake, I did not need to speak to some­one from their team to begin pay­ing for the ser­vice. Enter­ing a cred­it card num­ber and click­ing a but­ton or two were all the actions required to upgrade the ser­vice.

In gen­er­al, the entrance behav­ior sug­gests to a user how the exit behav­ior will be han­dled.

With Sta­tus­Cake, the exit is more chal­leng­ing. It requires patience and per­se­ver­ance on the cus­tomer’s part to get out of Sta­tus­Cake.

Sta­tus­Cake is not an out­lier in this prac­tice. Many online ser­vices do this. It’s far to com­mon.

Let’s look at the Sta­tus­Cake dark pat­tern in detail.


Blocked exit #1: Cancel button

In the Sta­tus­Cake con­trol pan­el, you’ll find an Account Set­tings menu item which con­tains a Billing option. In the screen­shot below, you’ll see the Billing page. You’ll see the sub­scrip­tions are has two options, Change and Can­cel.


Status cake dark pattern 1 part 1

The "cancel" button in the StatusCake control panel.


Since my goal was the can­cel the recur­ring sub­scrip­tion, the Can­cel but­ton seemed like the most valid choice here. Since I signed up by click­ing a but­ton and fill­ing out a form, I expect­ed that I could click a but­ton and go through an self-serve process to can­cel the ser­vice. But that’s not the case.


Status cake dark pattern 1 part 2

The pop-up window blocking the cancelation attempt.


Instead of fol­low­ing through with the user’s request, a chat box pops up with a pre-defined mes­sage of, I’d like to dis­cuss can­celling my account, please can you help?”

What’s the dark pat­tern here?

The but­ton clear­ly says, Can­cel, not Dis­cuss can­ce­la­tion.

Send­ing the pre-defined mes­sage does not can­cel the ser­vice. The process requires the user to nego­ti­ate a way out. How long will this nego­ta­tion take? What if you have lim­it­ed time? If you don’t reach some­one in time does this oblig­ate you to fur­ther pay­ments?

🚫 This is a blocked exit.

In my case, I sent the mes­sage and was then noti­fied it would be 30+ min­utes before some­one would get back to me. After an hour, noone respond­ed. I final­ly added anoth­er mes­sage to the chat say­ing that I want­ed to can­cel the auto-renew­al but had to step away from the com­put­er. I left clear instruc­tion to com­plete the can­ce­la­tion and left the win­dow open for the next 72 hours, over a week­end. I received no response.

Per­haps I was not tena­tious enough. After all, this is not my first day at the inter­net rodeo. 🤠 Maybe there is anoth­er way out here.


Blocked exit #2: Change button

The con­trol pan­el also includes a Change but­ton. Could this is the way out? Hope springs eter­nal!


Status cake dark pattern 2 part 1

Click­ing the Change but­ton takes you to the Plans page. As you can see from the screen­shot, you can change your plan up here. Since I’m already at the Supe­ri­or” plan, I upgrad­ing to a high­er tier hap­pens with a click of a but­ton. Click and and you’re upgrad­ed.


Status cake dark pattern 2 part 2

But what about chang­ing to the free Com­mu­ni­ty tier? Being on the free teir would also accom­plish the task of stop­ping the auto-renew­al charges, right?

Let’s click the Select Plan but­ton in the Com­mu­ni­ty plan descrip­tion area and find out.


Status cake dark pattern 2 part 3

Just like the first attempt at can­ce­la­tion, instead of fol­low­ing through with the user’s intend­ed action, the chat sup­port box pops up instead.

The pre-defined mes­sage in the chat win­dow is slight­ly altered to read, I’d like to dis­cuss down­grad­ing my account to the free tier, can you help?” The but­ton’s label says Select Plan.” It does not say, Let’s grab a cup of cof­fee and dis­cuss your feel­ings about the plan you’re con­sid­er­ing.

🚫 This is anoth­er blocked exit.


Exit #3: Remove the on-file credit card

I was not ready to give up yet. Maybe there was anoth­er way out that I’d not con­cidered.

Sta­tus­Cake bills through Stripe, so per­haps I could sim­ply remove my cred­it card infor­ma­tion from the billing sys­tem which would also accom­plish my goal. You can prob­a­bly guess what hap­pened.


Exit 3 stripe blocked

Stripe will not allow the removal of credit card information from an active subscription.


The abil­i­ty to remove a cred­it card on file with Stripe is tied to sta­tus of the sub­scrip­tion. Since the sub­scrip­tion has not been can­celed, Stripe will not remove the cred­it card on file.

This means if you don’t solve the sub­scrip­tion prob­lem with the mer­chant, you’re going to be charged.


The resolution

After the ini­tial 72 hours of wait­ing with­out a responce, I tried the Can­cel but­ton once again. This time the auto­mat­ed reply said I would only have to wait around 15 min­utes to dis­cuss can­celling my account.”

With­in that time frame, I was able to chat with a real per­son to get the autore­new­al stopped for my sub­scrip­tion. As the chat wrapped up, I shared my frus­tra­tion at the can­ce­la­tion process and was thanked for my feed­back.

Share your experiences

Have you encoun­tered sim­i­lar dark pat­terns in UX? Make some noise. These dark pat­terns uneth­i­cal but prof­itable. Prof­it usu­al­ly wins. Doc­u­ment what you see and share it with oth­ers. You can do this on a blog, like I have here. Or use the social media plat­form you pre­fer.

Expos­ing of these user-antag­o­nis­tic prac­tices is what mat­ters. Shar­ing your expe­ri­ences helps tip com­pa­nies into the right direc­tion.

You’re not just vent­ing your frus­tra­tions into the void. You’re con­tribut­ing to chang­ing bad behav­ior.