O Google Tag Manager consegue carregar a Provedly com uma tag HTML personalizada num acionador All Pages, e para equipes que não podem mexer nos templates do site esse é o caminho mais rápido. Mas o GTM é uma camada intermediária com a sua própria ordem de carregamento, bloqueio por consentimento e exposição a bloqueadores, e para um widget cujo valor inteiro está em ser visto, cada uma dessas coisas tem um custo. Este post mostra a instalação e depois diz quando deixar o GTM de lado.
A tag
Crie uma nova tag, do tipo HTML personalizado, e cole a tag de script simples ou a forma em função. O GTM aceita as duas; a forma em função é a que o painel gera para as barras porque deixa os atributos explícitos.
<script>
(function () {
var s = document.createElement('script');
s.src = 'https://provedly.app/w/widget.js';
s.setAttribute('data-token', 'pp_your_token');
s.async = true;
document.body.appendChild(s);
})();
</script>
Acionador: All Pages. Dê à tag um nome que um sucessor vá entender, publique o contêiner e confira no painel da Provedly as primeiras impressões em poucos minutos. Para uma barra CTA, repita com https://provedly.app/w/cta.js e o token da barra.
Não adicione filtros de URL no GTM para controlar onde o widget aparece. A segmentação por URL da Provedly (todas as páginas, só estas, todas exceto) e a segmentação por dispositivo são configuradas no painel e valem igual, venha o script do GTM ou da página. Um lugar só para a regra é melhor do que dois.
Single-page apps
Se o seu site é uma SPA, o acionador All Pages do GTM dispara uma vez no carregamento inicial, o que é o correto para a Provedly. O loader é idempotente e cuida das mudanças de rota sozinho. Não adicione um acionador de History Change para esta tag; ele injetaria um segundo elemento de script a cada navegação. O loader confere se já existe uma instância antes de inicializar, então o prejuízo são requisições desperdiçadas e não notificações duplicadas, mas não há nenhuma vantagem.
Quando o GTM é a ferramenta errada
O bloqueio por consentimento atrasa ou impede o widget
Muitas configurações de consentimento seguram todas as tags do GTM até o visitante aceitar os cookies. Se a Provedly fica atrás dessa barreira, os visitantes que recusam, ou que nunca interagem com o banner, nunca veem uma notificação. Se o widget precisa ou não de consentimento é uma questão para a sua própria análise de privacidade; ele define um ID de visitante para os limites por sessão e para a atribuição. Se a sua análise concluir que ele não precisa de consentimento, carregá-lo direto na página evita uma barreira pensada para análise e anúncios.
Bloqueadores
Bloqueadores de conteúdo costumam bloquear o próprio contêiner do GTM. Um visitante que usa um deles não vê nenhuma tag desse contêiner, Provedly incluída. Uma tag de script direta de provedly.app é uma decisão separada para o bloqueador e não é pega por regras voltadas a googletagmanager.com. Isso pesa mais em públicos com muitos usuários técnicos.
Shopify
Na Shopify, use o app da Provedly e o embed de app do tema em vez do GTM. O app importa os pedidos dos últimos 60 dias na instalação, recebe cada pedido novo por um webhook assinado e, assim, marca as compras como "Verified" sem nenhuma tag de script. O GTM na Shopify também não roda no checkout na maioria dos planos, então a instalação ficaria parcial. Veja o guia de configuração da Shopify.
Você precisa do ID de visitante no checkout
Os pedidos assistidos pela prova no painel são cruzados pelo ID de visitante. O código do seu checkout o lê com window.Provedly?.visitorId() e o repassa como metadata.provedly_visitor no Stripe ou no campo visitor da Records API. Se o GTM carregar a Provedly tarde, o ID pode não existir quando o código do checkout rodar. Dá para resolver com uma pequena espera, mas uma tag direta com async defer no template elimina a corrida.
Sequência e desempenho
O GTM carrega o contêiner, depois avalia os acionadores, depois injeta o script. São dois saltos extras antes de um arquivo de 6 KB. Numa página rápida, são algumas centenas de milissegundos; numa lenta, isso pode empurrar a primeira notificação para depois do ponto em que o visitante já rolou a página. O widget já espera 3 segundos por padrão antes da primeira notificação, e você está somando a isso.
Uma tabela de decisão
| Situação | Recomendação |
|---|---|
| A equipe de marketing não pode editar templates | GTM, acionador All Pages |
| Site com bloqueio de consentimento rígido | Tag direta, depois da sua análise de privacidade |
| Loja Shopify | App da Provedly, sem GTM |
| Precisa de atribuição no checkout | Tag direta no template |
| Público técnico, uso intenso de bloqueadores | Tag direta |
| Vários sites gerenciados por uma agência | Qualquer um; o plano Agency cobre 1.000.000 de impressões entre os sites |
Verificando a instalação
Abra o seu site, espere alguns segundos e procure a notificação. Se nada aparecer, confira nesta ordem: o contêiner do GTM está publicado (não só em pré-visualização); a tag disparou no painel de depuração do GTM; o domínio da página está na lista de domínios permitidos do site na Provedly; o widget tem pelo menos um registro para mostrar, senão não tem nada a dizer. Um widget novo sem registros é o relato de "não funciona" mais comum. Publique um registro pela API, ou importe um CSV, e ele vai aparecer com o rótulo Imported. Ou conecte o Stripe e espere o primeiro pedido real.
Perguntas frequentes
Posso carregar o widget só depois do consentimento e ainda contar as impressões com precisão?
Sim. As impressões são contadas quando uma notificação é de fato exibida, então um widget bloqueado que nunca carrega nunca consome uma impressão. O custo é alcance, não precisão.
O script do próprio GTM conta na minha cota de impressões?
Não. Só notificações renderizadas contam. Uma impressão é uma notificação exibida para um visitante, cerca de 3 por visita.
Posso usar o GTM para o widget e uma tag direta para a barra?
Sim, são loaders independentes com tokens separados. Misturar não tem problema, desde que cada um apareça uma vez por página.
Seja qual for o caminho escolhido, o plano Free basta para testá-lo num site real: crie uma conta.