Se um usuário que deveria ter recebido uma mensagem não a recebeu, pode haver algumas razões para isso. Este guia de solução de problemas ajudará você a identificar o problema.
Nota: resolver problemas de entrega que envolvem chamadas aos métodos da API JavaScript do Intercom (como Intercom('shutdown')) requer acesso ao código do seu app, então envolva sua equipe de desenvolvimento se necessário.
Primeiro, entenda como cada mensagem é entregue
Enviamos mensagens únicas imediatamente (a menos que você tenha agendado uma). Isso significa que procuraremos todos os users que correspondem aos seus filtros e enviaremos assim que os encontrarmos.
Para mensagens contínuas, nós verificamos a cada hora para ver quem se tornou elegível para receber suas mensagens.
Para séries, sempre que um cliente faz login no seu app ou visita seu site e é rastreado pelo Intercom, ele entrará em qualquer série onde corresponda às regras de entrada para um caminho.
Se ele não fez login, as regras de entrada são verificadas a cada hora para qualquer pessoa que deva entrar. Os blocos de regras no meio de um caminho (quando o cliente já entrou na série) são verificados aproximadamente a cada 15 minutos.
Para mensagens in-app (chats, posts etc), entregamos apenas quando um usuário está online para recebê-las. Só combinamos e enviamos mensagens in-app quando os users “pingam”, ou seja, quando estão online e seu app nos envia atualizações sobre eles. O valor 'Última visualização' indica quando o user esteve disponível pela última vez no seu site para receber uma mensagem. Se seu app móvel usa o Messenger baseado na web (em vez do SDK nativo iOS ou Android), ele gera apenas pings web — não pings iOS ou Android. Isso significa que definir "Mostrar primeiro em" apenas para iOS nunca corresponderá, e as mensagens in-app não aparecerão. Inclua Web na configuração "Mostrar primeiro em" para que as mensagens possam corresponder ao Messenger baseado na web rodando dentro do seu app móvel.
Mensagens que têm uma notificação push anexada a elas serão enviadas imediatamente.
A sessão do Messenger do usuário ainda está ativa?
Para mensagens in-app, a entrega é controlada pela sessão do Messenger, não pelo status de login do user no app host. Quando um user é identificado via Intercom('boot') com um JWT válido, um cookie de sessão é criado com duração padrão de 7 dias. Essa sessão persiste mesmo após o user sair do seu app — até que você chame explicitamente Intercom('shutdown').
Isso significa que um user que saiu do seu app ainda pode receber mensagens in-app na próxima vez que o Messenger carregar, se o cookie de sessão não tiver expirado.
Importante: As condições de audiência são verificadas toda vez que o Messenger carrega, não no logout. Portanto, filtros de exclusão funcionarão, mas somente se o Messenger realmente iniciar enquanto a sessão estiver ativa.
Para evitar a entrega a users que saíram ou foram excluídos:
Chame
Intercom('shutdown')dentro do seu manipulador de evento de logout. Isso limpa o cookie de sessão imediatamente e inicia uma nova sessão anônima para o próximo visitante naquele dispositivo.Inclua qualquer status de exclusão no filtro de audiência da mensagem (por exemplo,
excluded_user is not true). As condições são reavaliadas a cada carregamento do Messenger, então isso evita a entrega mesmo que uma sessão ainda esteja tecnicamente ativa.Opcionalmente, reduza a duração máxima da sessão em Configurações > Canais > Messenger > Mantenha seu Messenger seguro para corresponder ao tempo de sessão do seu app.
Nota: Esse comportamento se aplica apenas a users identificados. Visitantes anônimos usam uma sessão separada baseada em cookie, não afetada pela persistência de sessão baseada em JWT.
A Segurança do Messenger está bloqueando a entrega para users conectados?
Quando a Segurança do Messenger está ativada no seu workspace, mensagens de chat para users conectados são entregues apenas se um token de segurança válido for fornecido durante a chamada de boot do Messenger. Se o token estiver ausente ou inválido, o Messenger não completa um boot seguro nessa página — então nenhum ping é enviado, as visualizações recentes do user permanecem vazias, e mensagens de chat in-app não podem ser entregues, mesmo que o user esteja ativo na página.
Como verificar: Em Configurações > Canais > Messenger > Segurança, revise quais dos seus domínios de produção estão passando na verificação de segurança. Um domínio mostrando "não pronto" significa que os pings desse domínio não estão carregando um token válido, e o Messenger conectado nele não completará um boot seguro. Confirme com seus desenvolvedores que um JWT novo (ou hash de Verificação de Identidade, se você estiver usando o método antigo) está sendo gerado no servidor e passado para a chamada de boot do Messenger para esse domínio exato. Veja Autenticando users no Messenger com JSON web tokens (JWTs) para os passos de configuração.
Essa verificação de segurança se aplica apenas à instalação conectada, onde o Messenger inicia com uma identidade conhecida (user_id/email). Leads alcançados por meio de uma instalação anônima no site de marketing não estão sujeitos a essa verificação e podem receber mensagens de chat in-app desde que o Messenger esteja carregado na página — a mesma regra de entrega baseada em sessão descrita acima, sem necessidade de token.
A seguir, responda a estas perguntas
Se você ainda não descobriu por que sua mensagem não está sendo enviada, precisará responder às seguintes perguntas:
Você está enviando a mensagem para um grande público?
Mensagens para um grande público podem levar algum tempo para processarmos. Quando você ativa uma mensagem, verificamos todos os filtros da mensagem e vemos quais dos seus users correspondem a eles. Quanto maior a mensagem, mais tempo esse processamento pode levar para ser concluído.
Os users correspondem aos filtros que você definiu?
No Intercom, toda mensagem é baseada em gatilho. Em outras palavras, os destinatários precisam corresponder aos filtros que você definiu em uma mensagem antes de se tornarem elegíveis para recebê-la. Exemplos de filtros seriam “Inscrito há menos de 30 dias” e “Plano é lite”.
Quando você adiciona filtros a uma mensagem, eles se tornam os critérios que o Intercom usa para verificar a elegibilidade dos users para a mensagem. Por exemplo, se você configurou uma mensagem com os filtros acima, ela ficaria assim:
Atualmente nenhum user corresponde a esses filtros, então ninguém receberá a mensagem. No entanto, como é uma mensagem contínua, o Intercom verificará a cada hora quem corresponde a esses filtros e enviará a mensagem para qualquer user que corresponda.
Se os users corresponderem aos filtros desta mensagem, eles aparecerão no lado direito da janela. Veja como a mensagem fica quando as pessoas correspondem aos filtros:
Esse user cancelou a inscrição?
Se um user cancelou a inscrição para mensagens por email do seu app, ele não receberá mais emails em massa seus. Ele ainda pode receber mensagens in-app e emails enviados apenas para ele, mas não receberá mensagens manuais e automáticas por email.
A mensagem foi rejeitada?
Se o Intercom tentar enviar uma mensagem para um destinatário e houver uma falha permanente, também conhecida como hard bounce, não tentaremos entregar emails para esse destinatário novamente. Isso porque é perigoso tentar continuamente entregar para endereços com hard bounce e isso pode prejudicar sua reputação de envio e a capacidade de entregar mensagens na caixa de entrada.
Esse user marcou a mensagem como spam?
Da mesma forma, se um destinatário marcar um dos seus emails como spam, você não poderá enviar mais emails para ele pelo seu app Intercom.
Users que cancelaram a inscrição, tiveram mensagens rejeitadas ou marcaram suas mensagens como spam serão automaticamente removidos do público das mensagens em massa. Se você tentar enviar uma mensagem para alguém que já teve mensagens rejeitadas ou reclamou, o Intercom não tentará entregar.
Certos endereços não devem receber emails de marketing e são automaticamente considerados inelegíveis para receber emails. Exemplos incluem endereços abuse@ e postmaster@.
Se você tentar enviar uma mensagem e todos os destinatários forem inelegíveis para recebê-la, poderá ver uma mensagem que diz: “estamos preparando este email e ele começará a ser enviado em breve.”
Nota: Se o atributo "marcado como spam" de um user ou lead for 'true', mas você obteve consentimento escrito ou verbal deles para receber emails seus novamente, entre em contato com nossa equipe de suporte que pode ajudar a atualizar o user para você. É importante que você obtenha o consentimento do user/lead primeiro, pois enviar emails para pessoas que continuam marcando seus emails como spam pode prejudicar sua reputação de remetente e aumentar a probabilidade de seus emails serem direcionados para filtros de spam dos clientes.
Você agendou sua mensagem para enviar dentro de uma janela de entrega?
Se você agendou suas mensagens para enviar em um determinado horário ou dentro de uma janela de entrega, isso pode atrasar a entrega. Por exemplo, você pode querer ativar uma mensagem às 9h em outro fuso horário enquanto está dormindo — você pode agendar uma mensagem para fazer isso.
Você também pode configurar janelas de entrega, que podem afetar os horários de entrega das mensagens. Se você tiver uma mensagem com uma janela de entrega das 9h às 17h, ela será entregue quando estiver dentro desse intervalo no fuso horário do destinatário. Se não soubermos o fuso horário do destinatário, usaremos o fuso horário do app.
Nota: Mensagens com janelas de entrega são enviadas de acordo com o fuso horário do destinatário, não do remetente, a menos que não haja dados de localização disponíveis para o destinatário, caso em que usaremos o fuso horário do app.


