Frameworks e integrações
Como ligar Angular, React, Vue, JavaScript, WordPress, pagamentos e webhooks ao mesmo fluxo de atribuição.
Frameworks e integrações
O Apointoo não exige que você troque a experiência que já construiu. O frontend captura o clique e envia os sinais de jornada pelo GTM/dataLayer. O servidor confirma o resultado real e devolve a conversão ao Google Ads. Essa camada de captura usa a base de tracking do ClickTrail; o Apointoo fica responsável pela confirmação do resultado e pela entrega configurada.
Escolha o caminho
| Sistema | Caminho recomendado | Estado atual |
|---|---|---|
| Angular, React, Vue, Svelte ou JavaScript | Use o contrato dataLayer para sinais de navegador e uma rota server-side para confirmação |
Padrão de frontend; sem SDK específico de framework |
| Next.js, Node ou Hono | Monte o SDK no backend e confirme o resultado no handler | Produção com direct-confirm |
| WordPress | Use Apointoo Capture nos formulários existentes | Caminho de captura publicado |
| Stripe | Receba o webhook pós-pagamento no servidor e confirme sale_paid ou subscription_active |
Via API |
| Boulevard | Use o adapter de booking publicado | Produção |
| Reserve with Google | Use o fluxo de reserva e confirmação do Apointoo | Produção |
| OpenDental | Use o adapter publicado em ambiente controlado | Beta |
| Formulários, CRMs e calendários externos | Use o contrato de webhook/API quando liberado; não invente um adapter nativo | Vários itens ainda planejados |
O catálogo de integrações é a fonte de status por provedor.
Production, Beta, Via API e Planned não são intercambiáveis.
Contrato do navegador
Todos os frameworks podem emitir os mesmos eventos. O nome do framework muda o local do código, não o contrato:
window.dataLayer = window.dataLayer || []
window.dataLayer.push({
event: 'generate_lead',
event_id: 'evt_example_001',
form_id: 'access_request',
value: 1,
currency: 'EUR',
})
No evento final, use o mesmo event_id no dataLayer e no POST que o servidor
recebe. Não coloque e-mail, telefone, dados clínicos ou segredos no
dataLayer. Veja o contrato GTM local
para a lista de eventos, consentimento e deduplicação.
Exemplos por framework
- Angular: chame um helper no submit confirmado ou em um service de tracking; envie o formulário para sua API, não para o Google Ads diretamente.
- React: chame o helper no submit handler ou em uma ação client-only; não
dispare
generate_leaddurante renderização. - Vue e Svelte: use o handler de submit ou um composable/store depois da
validação; mantenha acesso a
windowfora do SSR. - JavaScript: faça o push antes de redirecionar para permitir que o GTM processe o evento.
- Next.js/Node/Hono: mantenha o SDK e os segredos no servidor; o browser só publica o evento de jornada.
Stripe e outros pagamentos
Stripe é uma integração pós-pagamento via API. O checkout do Stripe não é um SDK de browser do Apointoo. O caminho correto é:
- Capturar atribuição antes de enviar a pessoa ao checkout.
- Receber e verificar o webhook assinado no servidor.
- Usar uma chave idempotente do evento do Stripe.
- Confirmar o resultado no Apointoo com valor, moeda e horário reais.
- Processar reembolsos como correções, sem criar uma segunda venda.
PayPal, Mercado Pago e outros processadores seguem o mesmo limite até que o catálogo marque um adapter como disponível. Uma página de sucesso no browser não substitui o webhook verificado.
Webhooks, CRM e sistemas próprios
HubSpot, HighLevel, Pipedrive, Typeform, Jotform, Calendly, Zapier, a API de Conversões e a API de leitura/webhooks aparecem no catálogo como caminhos planejados. Até o status mudar:
- trate o sistema externo como fonte de verdade do resultado;
- envie o mínimo necessário por um endpoint autenticado;
- preserve a chave de idempotência e o recibo de entrega;
- não publique a integração como adapter nativo de produção.
Verificação antes do deploy
- O frontend publica exatamente um evento por ação confirmada.
- O
event_idé igual no browser, no registro do servidor e no resultado. - O consentimento escolhido controla eventos de publicidade.
- O GTM Preview mostra o evento e as variáveis esperadas.
- O webhook de pagamento verifica assinatura e repetições.
- O log guarda o recibo de entrega, não apenas o status “conectado”.
Leitura complementar