Como Resolver Problemas de Integração RD Station com Pop-ups do Elementor WordPress

Form Elementor e RD Station Bug Problema

A integração RD Station com WordPress é fundamental para capturar leads qualificados, mas muitos desenvolvedores enfrentam um problema frustrante: formulários do Elementor em pop-ups que não enviam dados para a RD Station, mesmo quando o envio do formulário funciona perfeitamente.

Se você está enfrentando essa situação onde o formulário Elementor mostra como enviado, mas o lead não aparece na RD Station, este artigo vai resolver definitivamente seu problema.

O Problema: Por que RD Station Não Funciona em Pop-ups Elementor?

Sintomas Comuns:

  • ✅ Formulário é enviado com sucesso (aparece mensagem de confirmação)
  • ❌ Lead não aparece no painel da RD Station
  • ✅ Na página inicial funciona normalmente
  • ❌ Em páginas internas ou pop-ups não funciona

A Causa Raiz

O problema acontece porque o script de integração da RD Station não consegue “enxergar” formulários que são carregados dinamicamente em pop-ups do Elementor. Quando o pop-up é aberto, o contexto do DOM muda, mas a RD Station já executou seu script de inicialização.

Como Funcionam os Scripts RD Station no WordPress

A RD Station usa dois componentes principais:

  1. Código de tracking global (instalado no <head>)
  2. Script de integração de formulários que mapeia campos automaticamente

html

<!-- Código global da RD Station -->
<script type="text/javascript" async src="https://d335luupugsy2v.cloudfront.net/js/rdstation-forms/stable/rdstation-forms.min.js"></script>

O Conflito com Pop-ups

Quando você abre um pop-up do Elementor Pro, o formulário é inserido dinamicamente no DOM, mas o script da RD Station já foi executado e não detecta os novos elementos.

Solução Definitiva: Código JavaScript para Recarregar RD Station

Passo 1: Identifique seu Token RD Station

Primeiro, localize seu token de integração RD Station no código do seu site. Procure por algo como:

javascript

RdstationFormsIntegration.Integration.integrateAll("SEU_TOKEN_AQUI");

Passo 2: Implemente o Código de Correção

Adicione este código no Appearance → Theme Editor → functions.php ou em um plugin personalizado:

php

add_action('wp_footer', 'fix_rd_station_elementor_popup');
function fix_rd_station_elementor_popup() {
    ?>
    <script>
    function onPopupOpen() {
        console.log("Popup aberto, recarregando RD Station Forms...");
        
        // Valida se o RD Station Forms Integration está disponível
        if (window.RdstationFormsIntegration) {
            // Substitua pelo seu token da RD Station
            RdstationFormsIntegration.Integration.integrateAll("SEU_TOKEN_RD_STATION");
            console.log("RD Station forms recarregado com sucesso!");
        } else {
            console.warn("RdstationFormsIntegration não encontrado.");
        }
    }

    // Executa quando qualquer popup do Elementor é aberto
    jQuery(document).ready(function($) {
        $(document).on('elementor/popup/show', function(event, id, instance) {
            setTimeout(onPopupOpen, 100);
        });
    });
    </script>
    <?php
}

Passo 3: Configuração Alternativa (Método Direto)

Se preferir, você pode adicionar o código diretamente no Elementor:

  1. Edite a página com o pop-up
  2. Adicione um widget HTML
  3. Cole este código:

html

<script>
function onPopupOpen() {
    if (window.RdstationFormsIntegration) {
        RdstationFormsIntegration.Integration.integrateAll("SEU_TOKEN_AQUI");
    }
}
onPopupOpen();
</script>

Testando a Solução

Como Verificar se Funcionou:

  1. Abra o Console do Navegador (F12 → Console)
  2. Abra o pop-up com o formulário
  3. Procure pelas mensagens:
    • “Popup aberto, recarregando RD Station Forms…”
    • “RD Station forms recarregado com sucesso!”

Teste de Captura:

  1. Preencha o formulário no pop-up
  2. Envie os dados
  3. Verifique na RD Station se o lead foi capturado

Problemas Relacionados e Soluções Adicionais

Redirecionamento Interrompendo Scripts

Se você tem redirecionamento automático (ex: para WhatsApp), isso pode interromper o processamento da RD Station:

Solução: Adicione delay no redirecionamento:

javascript

// Em vez de redirect imediato
setTimeout(function() {
    window.open('https://wa.me/seunumero', '_blank');
}, 2000); // 2 segundos de delay

Conflitos com Plugins de Cache

Plugins de cache podem interferir com scripts JavaScript:

  • WP Rocket: Exclua scripts da RD Station da minificação
  • W3 Total Cache: Adicione RD Station na lista de exclusões
  • LiteSpeed Cache: Configure para não otimizar JavaScript da RD Station

Verificação de Conflitos

Para identificar conflitos:

javascript

// Adicione no console para debug
console.log(typeof RdstationFormsIntegration);
console.log(window.RdstationFormsIntegration);

Alternativa: Webhook para Máxima Confiabilidade

Para casos críticos, configure um webhook no Elementor:

  1. Actions After SubmitWebhook
  2. URL: https://seusite.com/webhook-rd.php
  3. Crie o arquivo webhook:

php

<?php
// webhook-rd.php
$data = json_decode(file_get_contents('php://input'), true);

// Enviar para RD Station via API
$rd_data = [
    'email' => $data['email'],
    'name' => $data['name'],
    'job_title' => $data['job_title']
];

// Chamada API RD Station
$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.rd.services/platform/conversions",
    CURLOPT_POSTFIELDS => json_encode($rd_data),
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer SEU_ACCESS_TOKEN",
        "Content-Type: application/json"
    ]
]);
curl_exec($curl);
?>

Melhores Práticas para RD Station + Elementor

1. Estrutura de Campos Consistente

  • Use sempre os mesmos nomes de campos
  • Mantenha mapeamento padronizado
  • Configure campos obrigatórios corretamente

2. Monitoramento e Debug

javascript

// Código para monitorar integrações
window.rdDebug = function() {
    console.log('RD Station Status:', window.RdstationFormsIntegration);
    console.log('Forms encontrados:', document.querySelectorAll('form').length);
};

3. Testes Regulares

  • Teste mensalmente todos os formulários
  • Monitore relatórios da RD Station
  • Configure alertas para quedas de conversão

Conclusão

A integração RD Station com pop-ups do Elementor requer atenção especial ao contexto de carregamento dos scripts. Com a solução apresentada, você garante que todos os leads sejam capturados corretamente, independentemente de estarem em pop-ups ou páginas tradicionais.

Checklist Final:

  • ✅ Token RD Station configurado corretamente
  • ✅ Código JavaScript implementado
  • ✅ Testes realizados no console
  • ✅ Verificação de captura na RD Station
  • ✅ Configuração de delay em redirecionamentos

Dica Pro: Sempre mantenha um ambiente de testes para validar mudanças antes de aplicar em produção.


Está enfrentando problemas com integrações WordPress? A L.T WEB oferece suporte especializado em automação de marketing digital e desenvolvimento WordPress. Entre em contato para consultoria personalizada.

1 Comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *