Como corrigir o JetPopup que não abre no mobile no WordPress
O que é JetPopup que não abre no mobile?
O JetPopup que não abre no mobile é a situação em que um popup criado com o plugin JetPopup, da Crocoblock, funciona normalmente no desktop mas não dispara quando o visitante acessa o site pelo smartphone. O popup existe e está publicado, porém o gatilho configurado nunca é acionado no toque, ou o popup é renderizado e fica oculto por uma regra de visibilidade de dispositivo.
O JetPopup depende de três peças para abrir: um gatilho (Trigger) que define o evento que dispara o popup, as condições de exibição que controlam onde e para quem ele aparece, e o JavaScript do plugin carregado na página. No mobile, qualquer uma dessas peças pode falhar: um gatilho de saída de cursor não existe em telas de toque, a visibilidade pode estar marcada apenas para desktop, e otimizadores como WP Rocket podem adiar o script que comanda a abertura. Identificar qual das três peças quebrou no celular é o caminho da correção.
Como identificar
- O popup abre normalmente no desktop, mas nunca aparece ao acessar a mesma página pelo celular.
- O gatilho configurado como ‘On Page Load’ funciona no desktop e fica inerte no mobile, sem nenhum erro visível.
- O popup que depende do gatilho de saída (Exit Intent / On User Inactivity) nunca dispara no smartphone, porque não há cursor saindo da tela.
- No console do navegador do celular aparecem erros de JavaScript ou avisos de script bloqueado logo ao carregar a página.
- O popup pisca por um instante e some, ou simplesmente não é encontrado no HTML quando a página é aberta em modo mobile.
Como prevenir
- Sempre teste cada popup em um smartphone real, e não apenas no preview responsivo do editor, antes de publicar.
- Para popups que precisam aparecer no mobile, escolha gatilhos compatíveis com toque, como On Page Load e On Scroll, evitando eventos de saída de cursor.
- Ao ativar adiamento de JavaScript em plugins de cache, sempre inclua o script do JetPopup nas exclusões e revalide os popups no celular.
- Documente as condições de exibição e a visibilidade por dispositivo de cada popup, para que um ajuste de responsividade não esconda o popup sem querer.
Causa
- O gatilho do popup é 'On User Inactivity' ou um evento de saída de cursor, que não existe em telas de toque: sem mouse saindo da viewport, o JetPopup nunca dispara no mobile.
- A opção de visibilidade do popup ou da seção que o contém está marcada para esconder em dispositivos móveis, fazendo o JetPopup ser carregado mas mantido oculto no celular.
- Um plugin de otimização como WP Rocket ou Perfmatters está com 'Delay JavaScript Execution' ou adiamento de scripts ativo, e o JavaScript do JetPopup só executa após uma interação que o popup de carregamento esperava disparar antes.
- O popup está vinculado a um gatilho de rolagem (On Scroll) com porcentagem que a página mobile, mais curta, não atinge, ou a um elemento de clique que não existe no layout responsivo.
- Um conflito de JavaScript com outro plugin ou com o tema interrompe o carregamento da biblioteca do JetPopup especificamente no breakpoint mobile, impedindo a inicialização do popup.
Como resolver
- Revise o gatilho do popup para um evento compatível com toque: Abra o popup no JetPopup e verifique o gatilho configurado. Gatilhos de saída de cursor e de inatividade não existem em telas de toque. Para o mobile, prefira 'On Page Load' com um pequeno atraso ou 'On Scroll', que funcionam no celular.
Painel WP -> JetPopup -> abra o popup desejado Em Trigger, troque 'On User Inactivity' por 'On Page Load' ou 'On Scroll' Salve e teste a página em um smartphone real - Confira a visibilidade por dispositivo do popup: Verifique se o popup ou a seção que o contém não está oculto em telas pequenas pela opção de responsividade. Um popup marcado para aparecer apenas no desktop é carregado mas mantido escondido no celular.
Painel WP -> JetPopup -> abra o popup -> aba de configurações de exibição Garanta que a visibilidade não esteja restrita a Desktop Reative a exibição para Mobile e salve - Desligue o adiamento de JavaScript para o mobile: Se você usa WP Rocket ou Perfmatters com adiamento de scripts, o JavaScript do JetPopup pode não executar a tempo no celular. Adicione o script do JetPopup à lista de exclusões do adiamento e limpe o cache.
Painel WP -> WP Rocket -> aba File Optimization -> Delay JavaScript Execution Adicione 'jet-popup' à lista de exclusões do adiamento Limpe o cache: WP Rocket -> Clear Cache - Ajuste o gatilho de rolagem para a altura do mobile: Se o gatilho é 'On Scroll' por porcentagem, a página mobile costuma ser mais curta e pode não atingir o percentual configurado para o desktop. Reduza a porcentagem ou use rolagem por pixels para garantir o disparo no celular.
Painel WP -> JetPopup -> abra o popup -> Trigger 'On Scroll' Reduza a porcentagem de rolagem (ex.: de 70 para 30) Salve e valide a abertura em um celular real - Isole conflito de JavaScript no breakpoint mobile: Se o popup ainda não abrir no celular, abra o console do navegador no modo mobile e procure erros de JavaScript. Desative os outros plugins um a um e troque para um tema padrão para identificar o que interrompe a biblioteca do JetPopup.
Abra a página no celular ou no modo responsivo do navegador (F12 -> Toggle device) No Console, observe erros de JavaScript ao carregar a página Painel WP -> Plugins -> desative os demais plugins um a um até o popup voltar
// Abre um JetPopup específico por toque, contornando gatilhos que falham no mobile.
// Substitua 123 pelo ID do seu popup (visível na URL de edição do JetPopup).
jQuery( document ).ready( function( $ ) {
var popupId = 123;
// Dispara o popup logo apos o primeiro toque na tela, no mobile.
$( document ).one( 'touchstart', function() {
if ( window.JetPopupFrontend ) {
window.JetPopupFrontend.openPopup( popupId );
}
} );
} );














