A arte de construir áreas administrativas de autoatendimento

Publicados: 2022-03-11

Depois de lançar seu site de renda passiva, você deve comemorar, certo?

Infelizmente, a vida nem sempre é como deveria ser, e normalmente você terá que adiar as comemorações para atender seus clientes – a menos que você tenha os sistemas certos.

Gerenciei um site de renda passiva por mais de seis anos. Para mim, a ênfase sempre foi no “passivo”. Portanto, tem sido uma prioridade minha de longa data simplificar meus negócios o máximo possível.

Agilizar efetivamente um negócio online se resume a ter os recursos e capacidades certos em seu painel administrativo.

Neste artigo, detalharei problemas comuns com painéis de administração e oferecerei soluções para cada um. No final desta postagem, você terá um manual robusto de práticas recomendadas para desenvolver um painel de administração eficiente para seus negócios automatizados.

Contabilizando o erro do usuário

Os usuários cometem erros, o que significa que precisamos de um painel de administração que corrija esses erros. Aqui estão alguns exemplos.

Um de seus fornecedores acidentalmente envia o produto errado para um cliente.
Um cliente pede o produto errado ou pede o mesmo produto duas vezes.
Um músico em seu site de listas de tablaturas de música cria taxonomias quase idênticas, que já existem em seu banco de dados. Por exemplo, os usuários do seu site, considerados como um coletivo, dispersam as tablaturas de guitarra elétrica em três categorias: "Guitarras elétricas", "Guitarras eletrônicas" e "Guitarras elétricas". Estes devem realmente ser um, caso contrário, sua navegação e usabilidade front-end serão comprometidas.

Otimize seu painel de administração para contabilizar erros do usuário:

Permita que os usuários finais corrijam seus erros. Por exemplo, a Amazon tem formulários nos painéis de seus usuários, que permitem que os clientes alterem pedidos a qualquer momento antes que o pedido seja processado em seu depósito. Esse recurso permite que os clientes da Amazon corrijam seus erros sem entrar em contato com o suporte ao cliente.
Promova um subconjunto de usuários ao status de moderador. Fóruns, como Reddit e StackOverflow, têm uma classe de usuário especial, conhecida como moderadores. Os moderadores removem spam, editam erros de digitação, livram o site de mensagens ofensivas ou autopromocionais e categorizam o conteúdo corretamente. Em muitos casos, os moderadores são voluntários, que simplesmente se sentem leais à comunidade.

Contabilizando a inexperiência do usuário

Não espere que seus usuários sejam bem versados ​​em seus negócios. Aqui estão alguns exemplos do que quero dizer com isso.

Por exemplo, seu usuário médio é um fotógrafo ruim, mas você deseja fotos elegantes das propriedades de aluguel de temporada do mesmo usuário listadas em sua plataforma.

Talvez o usuário médio seja um vendedor ruim, mas você deseja descrições tentadoras e otimizadas para SEO das bugigangas que esses usuários vendem por meio de sua plataforma.

Ou talvez você administre uma loja de comércio eletrônico que vende sapatos on-line, mas o visitante médio do site não sabe como medir seus pés, levando a uma preponderância de clientes que pedem o tamanho errado e desejam devolver seus sapatos mais tarde.

Áreas administrativas responsáveis ​​pela inexperiência do usuário:

Crie documentação em linha. Aconselhe os usuários sobre como aproveitar ao máximo sua experiência com seu site. Por exemplo, você pode escrever um post como “5 dicas de redação que aumentarão as vendas”. Ao fornecer aos usuários um material de referência robusto, você reduzirá drasticamente a necessidade de ajuda humana.
Assistência semiautomática. Ao conectar APIs de software externas, seu site pode fazer coisas, como sugerir automaticamente as melhores palavras-chave para meta descrições e incentivar os usuários a incorporar determinadas palavras-chave em sua cópia.
Faça Você Mesmo. Envie suas próprias fotos ou escreva suas próprias descrições de produtos. Isso, é claro, exige que o usuário final de alguma forma sinalize sua prontidão para esse serviço para a pessoa certa em sua organização. Aqui, seu sistema de administração precisa agilizar essa comunicação e a entrega posterior do trabalho pelo especialista.

Contabilização de Decisões de Negócios Pendentes

Infelizmente, nem tudo pode ser automatizado. Quando se trata de julgamentos, geralmente é necessário um humano.

Por exemplo, o que acontece quando você precisa verificar a identidade do seu último candidato a babá em sua plataforma de alta confiança?

Ou o que acontece quando você é o único que pode precificar o envio de produto digital mais recente de um autor de plataforma?

Exemplos de economias de tempo para o administrador decorrentes de decisões de negócios pendentes:

Aproveite os grupos de usuários existentes. O Plenty Of Fish, um site de namoro, terceiriza a moderação de fotos de perfil potencialmente ofensivas para grupos de usuários voluntários que passam incontáveis ​​horas verificando essas fotos, sem pagar nada. Ao contrário dos moderadores de fóruns tradicionais, eles não moderam o conteúdo depois de publicado. Em vez disso, eles verificam as fotos enviadas pelos usuários antes da publicação, garantindo assim que as fotos de perfil inadequadas nunca sejam publicadas.
Conecte-se a APIs de humanos como serviço. Por exemplo, o Facebook conecta seus painéis de administração a APIs de nuvem, como Amazon Turk (ou equivalentes internos) e terceiriza a moderação em massa para trabalhadores mais baratos. No caso do Facebook, os moderadores profissionais respondem por um terço de sua força de trabalho. Na verdade, é a presença de moderação que ajuda a garantir que os comentários do Facebook sejam relativamente benignos em comparação com os comentários monstruosos que aparecem em sites comparativamente não moderados.

Contabilização da necessidade do usuário de se comunicar com a administração do site

Quando você está administrando um negócio, as perguntas são esperadas. Ao planejar com antecedência, você pode reduzir drasticamente o tempo necessário para responder a eles e possivelmente reduzir o número de solicitações de clientes que você recebe em primeiro lugar.

Áreas administrativas que respondem pelas necessidades de comunicação do usuário:

Planejar com antecedência. Ao analisar perguntas anteriores de atendimento ao cliente, você pode identificar temas comuns e respondê-los com antecedência. Um excelente exemplo disso seria criar uma página de perguntas frequentes com uma lista dessas perguntas e respostas.
Seja rápido para reembolsar os clientes. Oferecer um reembolso rápido em resposta a uma reclamação do cliente é uma maneira bastante eficaz de satisfazer os clientes decepcionados. Não se preocupe - isso não resultará em menos lucros; na verdade, pode até levar a mais.
Crie fóruns para visitantes confusos. O Google é notório por seu atendimento ao cliente praticamente inexistente. No lugar dos humanos, o Google criou fóruns de produtos, onde usuários confusos podem obter ajuda de outros usuários. Nas raras ocasiões em que um funcionário do Google responde a uma pergunta em um desses fóruns, sua resposta é salva, prontamente indexada pelo Google e disponibilizada para futuros usuários com o mesmo problema. Embora isso possa parecer cruel para os usuários finais, é bastante justificável, quando você considera que a maioria das ofertas sem suporte do Google são gratuitas.
Utilize respostas prontas e assistentes virtuais (VAs). Revise seus tíquetes de atendimento ao cliente do ano passado e extraia as perguntas feitas de forma consistente. Ao criar respostas padronizadas para cada uma, você economizará muito tempo. Escreva suas respostas em um Documento Google de fácil acesso ou, melhor ainda, use um plug-in de e-mail, como Respostas automáticas. Em seguida, contrate um VA para encaminhar esses modelos aos clientes à medida que surgirem dúvidas.

Contabilidade para usuários que mudam de ideia

Um sábio disse certa vez: “A mudança é a única constante na vida”. Ele estava certo. As coisas mudam.

Talvez um usuário se case e não tenha mais o mesmo sobrenome.

Ou talvez um cliente, que se inscreveu no seu serviço de caixa de entrega mensal, se mudou e precisa atualizar seu endereço.

Estes são apenas dois exemplos de mudanças inevitáveis, que você deve planejar com antecedência.

Exemplos de economia de tempo para o administrador decorrentes da mudança de circunstâncias/mente do usuário:

Seus usuários precisam de recursos de edição. Se você não fornecer a funcionalidade de edição em seus painéis de usuário, mais cedo ou mais tarde sua equipe de suporte ao cliente - e seus programadores de banco de dados - terão que fazer alterações manualmente, como as mencionadas acima.
Não congele os recursos de edição. No caso de um fórum ou site com comentários, você deve considerar sua política de congelamento de postagens para exclusão ou, em vez disso, colocar um botão solicitando uma exceção à política normal. Essa solução economiza tempo ao diminuir o número de mensagens de ida e volta entre sua equipe de suporte e o usuário final.

Contabilizando a Ação Atribuível à Preocupação do Usuário

Ao contrário das lojas físicas, as empresas on-line não têm a garantia de comprar de uma pessoa real, pessoalmente.

Pense nisso. Como você se sente quando compra algo na Best Buy? Provavelmente confiante porque você sabe que amanhã de manhã, a Best Buy ainda estará lá se e quando você retornar com reclamações ou para um reembolso.

Esse sentimento de certeza desaparece online por razões óbvias. As pessoas podem facilmente ignorar a comunicação on-line, o que faz com que os clientes em potencial se perguntem se alguém voltará para eles. Esse sentimento de desconfiança só cresce quando o site é alguma startup desconhecida sem valor de marca.

Exemplo de economia de tempo para o administrador atribuível à preocupação do usuário:

Aborde as preocupações preventivamente. Envie um ou dois e-mails assim que alguém comprar de você para aumentar a confiança. Por exemplo, a Amazon e quase todos os negócios de comércio eletrônico enviam um e-mail assim que um pedido é enviado. Outros também disponibilizam uma série de e-mails, que atualizam o usuário até que o produto seja entregue.

Resolver ambiguidades potenciais

É um ano após o lançamento e, graças à boa receita, agora você delega a administração do seu site a um membro da equipe dedicado.

Um dia, no entanto, esse administrador inesperadamente adoece e agora você precisa retomar o trabalho administrativo, sem nenhum briefing sobre o que esse administrador estava fazendo na semana passada.

Com base nas informações dentro do painel administrativo, você precisa saber onde seu administrador parou – quais tarefas eles processaram e quais deixaram de fazer.

Isso nem sempre é possível, devido a máquinas de estado mal projetadas que não distinguem de forma confiável entre não visto (ou não processado ) e considerado (ou processado ). Por exemplo, imagine uma máquina de estado admin da seguinte forma:

O que acontece Mudanças de estado
Um artista se inscreve para vender sua arte em sua plataforma de venda de arte A entrada do artista aparece no painel de administração com o estado inicial “aplicado”
Alguém em sua equipe de administração aceita este artista, permitindo que eles vendam sua arte O administrador altera o estado para "aceito"
Sua equipe rejeita este artista porque sabe, com certeza, que nunca vai querer esse artista O administrador altera o estado para "rejeitado"
Sua equipe está em dúvida sobre este artista e deseja adiar a decisão Fazer nada


O problema com esse fluxo de administração, da perspectiva de um administrador de sistemas, é que o painel de administração diz “aceito” tanto para novos artistas não vistos quanto para artistas que já foram vistos/considerados, mas foram adiados sem serem totalmente rejeitados.

O fato de ter considerado (ou processado ) aquele artista existe apenas na mente do administrador ausente, e sem nenhuma forma de marcar um lead como “adiado”, essa informação se perde, então quem assume o trabalho deve repetir o trabalho já completado.

Um bom feed de atividades corrige esse tipo de ambiguidade.

Maximizar a transparência

Muitas ações do painel administrativo realizam uma série de etapas nos bastidores.

Depois de pressionar o botão “aceitar candidato”, por exemplo, o candidato em questão recebe um e-mail de aceitação, sua conta é creditada com um bônus de inscrição de $ 100 e seu status em seu banco de dados é alterado de “aplicado” para “aceito”. Em termos de engenharia de software, esses são efeitos colaterais .

Dado que você – o programador – desenvolveu esses recursos, provavelmente está ciente das consequências de clicar em “aceitar candidato”.

No mínimo, você pode abrir um editor de código-fonte ou seu IDE favorito e consultar o código para obter a resposta.

Seus representantes de atendimento ao cliente não têm esse luxo. Portanto, eles provavelmente não terão certeza do que acontece quando pressionam o botão. Além disso, eles provavelmente se perguntarão se o candidato será alertado de que foi aceito ou se deve enviar um e-mail manual, alertando o candidato, após pressionar o botão.

Essa incerteza retarda todo o processo porque agora o administrador precisa fazer perguntas de gerenciamento e/ou engenharia e aguardar suas respostas. Sem mencionar que isso pode facilmente levar a trabalho duplicado e introduzir erros em um negócio que de outra forma seria executado sem problemas.

Idealmente, neste exemplo, a página de administração com o botão “aceitar candidato” teria um parágrafo descritivo embutido, explicando exatamente o que acontece quando eles pressionam o botão.

Alternativamente ou adicionalmente, uma mensagem pode aparecer após o botão ser pressionado, explicando o que acontece a seguir.

Até agora, analisamos o caso feliz, ou seja, ações em segundo plano que ocorrem quando tudo está funcionando como deveria. A situação mais complicada é lidar com a opacidade depois que algo dá errado . Quais efeitos colaterais foram concluídos e quais foram deixados de lado? Em um sistema perfeitamente projetado, em caso de falha, o botão “aceitar candidato” informaria ao administrador (e à equipe de tecnologia fazendo a limpeza) que o e-mail de aceitação foi entregue, mas o bônus de inscrição de $ 100 não foi enviado para a conta do Paypal desse usuário. Essas informações permitem à empresa remediar a transação parcial. Quanto aos detalhes de implementação, esse feedback pode ser feito com máquinas de estado detalhadas que rastreiam cada pequena etapa ou, alternativamente, agrupando ações administrativas em objetos de serviço cujos valores de retorno listam os comandos executados com êxito e aqueles que falharam.

Na minha experiência, a lacuna entre como a informação aparece para o administrador e como ela aparece para os usuários finais pode ser frustrantemente opaca.

Às vezes, responder a um email de cliente ou a um relatório de bug exige que sua equipe administrativa saiba como é o painel de login do cliente, o que um email automatizado específico diz ou quais royalties o painel voltado para o usuário diz que deve a um usuário.

Ter acesso a essas informações ajuda sua equipe a entender os problemas à medida que seus usuários os experimentam.

Uma maneira de implementar essa funcionalidade é criar um recurso de administração "Visualizar como usuário".

Isso substituiria a criação de telas de administração separadas que reimplementam recursos já presentes para usuários regulares, concedendo a você o bônus extra de reutilizar muitos códigos existentes.

Quanto aos e-mails automatizados, considere construir um renderizador de e-mail leve na área de administração para que sua equipe possa ler as mensagens que serão ou foram enviadas aos usuários.

Eventos fora do seu sistema são uma responsabilidade

A administração gerenciável é independente.

Está encaixotado dentro de um único sistema fechado em vez de em pedaços espalhados.

Por exemplo, se as informações sobre os reembolsos que você deu estiverem dispersas em uma planilha do Excel, alguns post-its amarelos em sua mesa e em e-mails para seu contador, você terá uma bagunça nas mãos.

A solução adequada é ter uma lista abrangente de reembolsos em uma tabela de banco de dados em seu painel de administração. Quando você tem um único oráculo da verdade, pode ficar tranquilo sabendo que quaisquer relatórios produzidos por você são definitivos e confiáveis.

Embora isso pareça óbvio, muitas vezes é negligenciado na disputa de gerenciar um negócio.

Eu saberia porque aconteceu comigo.

Quando inicialmente projetei meu painel de administração do sistema de pedidos de comércio eletrônico, preparei-o apenas para registrar vendas e apenas vendas.

Alguns meses após o lançamento, percebi todas as transações adicionais que não contabilizava, como reembolsos, estornos, brindes, descontos e ajustes de pagamento.

Como eu não previ essas transações em meu projeto inicial, não havia código no meu painel de administração para preenchê-las ou relatá-las.

Sempre que eu tinha que fazer um reembolso, eu geralmente tinha tanto tempo que o fazia da maneira que fosse mais fácil no momento - geralmente através da interface web do Paypal (pulando o banco de dados de pedidos do meu site) - mas às vezes através de um iPhone de terceiros app que se comunicava com a API do Paypal.

Por causa de minhas ações dispersas e, portanto, de dados, toda a minha contabilidade foi relatada ao acaso em várias fontes externas. Pior ainda, meus registros de banco de dados de produção não combinavam com meu histórico completo de pedidos.

Inevitavelmente, surgiram problemas. Os relatórios administrativos de receitas e comissões não refletiam a realidade econômica. Alguns dos meus autores receberam relatórios financeiros com relatórios financeiros incorretos. E o pior de tudo, superestimei meus relatórios fiscais, o que levou ao pagamento de impostos em excesso.

Tudo isso porque eu não tinha descontado todos os meus reembolsos.

Ao armazenar informações de ordem e contabilidade parcialmente dentro e parcialmente fora do meu sistema de software principal, roubei de mim muitas das vantagens do software em primeiro lugar – sua exatidão e precisão. Eu não podia mais confiar nele, o que significava que não podia mais automatizá-lo.

Em resposta a esses problemas, desenvolvi uma aversão a manter quaisquer dados da empresa fora do meu sistema de software principal.

Mesmo que inicialmente seja caro integrar todas as informações necessárias ao núcleo, a longo prazo, os benefícios excedem em muito os custos de hacks medíocres.

Dito isto, apesar das minhas melhores intenções de automatizar, às vezes isso simplesmente não pode acontecer.

Muitas empresas de software têm e-mails de vendas automatizados que levam os usuários centímetro a centímetro até o ponto em que eles ativarão sua conta ou farão uma compra – tudo idealmente sem qualquer assistência humana.

As complicações surgem quando um lead envia solicitações especiais para sua equipe no meio de uma dessas campanhas de gotejamento.

Suponha que o lead responda dizendo que estará de férias por duas semanas, mas, por favor, entre em contato com ele depois para fechar o acordo.

Se nosso sistema foi programado para enviar um e-mail de lembrete automatizado após apenas cinco dias, então ignoramos os desejos do lead e talvez azedamos o relacionamento ao parecermos insistentes, desatentos e robóticos.

Então, o que se faz nesta situação?

Uma resposta é semi-automatizada.

A interface de administração pode perguntar quais e-mails devem ser enviados e você pode marcar uma caixa para desmarcá-los conforme necessário.

É certo que isso pode ser um exagero de engenharia, portanto, às vezes, a única opção realista é aceitar que os e-mails automatizados às vezes dão errado.

Mostrar as informações e ações administrativas mais relevantes

Quando um cliente entra em contato com sua empresa, geralmente é em relação a um pedido, uma conta ou uma oferta.

Em virtude dos dados armazenados, cookies de login e dados provenientes de suas camadas de rastreamento, seu aplicativo provavelmente sabe muito sobre seus clientes e seus históricos de interação.

Você pode economizar um tempo significativo na resposta a solicitações de atendimento ao cliente, extraindo algoritmicamente essas fontes de informações e extraindo bits de dados relevantes para facilitar as respostas de seus administradores.

Por exemplo, mensagens de formulário de contato, antes de serem convertidas em e-mails enviados para sua caixa de entrada, podem ter automaticamente uma caixa de informações anexada que inclui o status de pagamento do pedido, status de envio, itens de linha e muito mais.

Além disso, esses e-mails fortificados também podem conter links convenientes para as partes mais usadas (e relevantes) da área de administração, como o painel de reembolso ou o rastreador de remessa.

Antecipando, mitigando e recuperando do erro do administrador

Como todo mundo, os administradores são humanos e ocasionalmente cometem erros.

Dado o controle que eles têm sobre seus dados, seus erros podem causar danos irreparáveis.

Aqui estão algumas medidas a serem implementadas para evitar um desastre:

Agendar backups consistentes automaticamente: essa é a medida mais simples, trivial e vital de todas as medidas de due diligence concebíveis. Mas, mesmo se você tiver bons backups, já estará em um mundo de problemas se precisar mexer nos dumps do SQL. Portanto, os backups agendados não devem ser sua única fonte de restauração.
Botões projetados para aterrorizar os usuários: Para ações com consequências potencialmente irreparáveis, pinte-os de vermelho brilhante, coloque o ícone de radioatividade neles e rotule-os com títulos, como "AVISO: EXCLUIR HARD-DELETE É A OPÇÃO NUCLEAR: NÃO USE SE INCERTO DE SUA CONSEQUÊNCIAS." (Obviamente, você deve exibir quais são essas consequências ao lado deste botão.)
Empregar pop-ups de confirmação de JavaScript: Às vezes, os dedos dos administradores escorregam e, em vez de pressionar o botão "voltar", eles acidentalmente pressionam o botão "excluir tudo permanentemente" localizado dois pixels abaixo. O administrador desafortunado pode não ter culpa por esse contratempo, com a culpa final indo para o design desajeitado da interface do usuário ou peculiaridades desagradáveis ​​do navegador ao renderizar CSS. Se você acha que este é um exemplo absurdo e excessivamente dramático, você está errado. O setor de serviços financeiros perdeu milhões por causa do que eles chamam de erros de dedos gordos. Como resultado, eles projetam software para evitar esses tipos de erros. Uma correção simples é um "Tem certeza de que deseja excluir todo o histórico de pedidos?" Pop-up Javascript. Observe como incluí dados específicos da entidade - "todo o histórico de pedidos" - na confirmação do Javascript? Isso é melhor do que simplesmente perguntar "Você tem certeza?" Se o administrador pretendia excluir uma única entrada no histórico de pedidos, mas acidentalmente pressionou o botão para excluir todo o histórico de pedidos, ter isso claramente indicado no pop-up de confirmação do Javascript ajuda a evitar um momento “OMG”, quando o administrador percebe o que ele erroneamente fez.
Aproveite o controle de versão e revisão de dados: em tecnologias de banco de dados SQL padrão, as edições nos dados substituem os valores antigos. Isso é problemático quando as edições foram feitas incorretamente, em dobro quando os dados originais são difíceis de encontrar ou criar novamente - por exemplo, campos de descrição longos que levam horas para serem escritos ou informações do cliente que seriam embaraçosas para solicitar novamente. Bibliotecas de controle de revisão, como na Wikipedia, são a solução para essas situações. Eles permitem que você armazene e restaure facilmente versões antigas de dados conforme necessário. Essas bibliotecas geralmente funcionam rastreando as alterações em seu banco de dados e retendo versões com carimbo de data/hora de valores anteriores. Infelizmente, as bibliotecas de controle de revisão geralmente não podem lidar com arquivos binários grandes, como fotos e pdfs. Portanto, para esses tipos de dados, você pode manter as versões antigas, usando algo como o versionamento S3 da Amazon.
Considere implementar uma política de não exclusão: trata-se de impedir que os registros em algumas tabelas sejam excluídos. Aqui está o raciocínio por trás disso: Dados os preços modernos de armazenamento de dados, há pouco a ganhar com a remoção de registros antigos e muito a perder em termos de integridade de dados comprometida, relatórios incompletos ou manutenção de registros incompatíveis. Uma política de não exclusão é implementada colocando uma coluna de data "deleted_at" em cada tabela principal. Onde quer que você tenha anteriormente um código para excluir um registro, você o substitui pelo código que define a coluna “deleted_at” desse registro para a hora atual. Em outras partes do código, você exibe ou oculta seletivamente o registro “excluído”, dependendo das necessidades de negócios. Por exemplo, downloads digitais “excluídos” continuarão a aparecer na área de administração, para clientes anteriores, que compraram aquela coisa específica antes da data “excluída” e nos relatórios de vendas “todos os tempos”. No entanto, a loja de front-end não deve mais mostrar esse produto digital disponível para clientes em potencial.

Espere o inesperado

Embora eu tenha oferecido uma infinidade de soluções para uma série de problemas acima, essas não são de forma alguma regras rígidas e rápidas, mas sim um manual robusto para aprender e consultar.

Lembre-se, o objetivo final é otimizar seu painel de administração para otimizar seus negócios. Reservar algum tempo para ajustar suas áreas de administração deve aumentar a lucratividade a longo prazo, tornando-o um investimento que vale a pena.

Como em tudo na vida, sempre haverá exceções às regras, portanto, use o bom senso ao otimizar seus painéis de administração. E então você pode finalmente comemorar.