Moclick Bridge
Integração

Plataformas

Exemplos prontos para gerenciador de tags, WooCommerce, Shopify, VTEX, Nuvemshop e aplicações single-page.

Google Tag Manager#

Tag global#

Tag de HTML customizado, acionador All Pages:

HTMLGTM · All Pages
<script src="https://bridge.moclick.com.br/moclick-SEU-SLUG.js" defer></script>

Tag de conversão#

Tag de HTML customizado, acionador do evento de compra:

HTMLGTM · purchase
<script>
  window.MoclickConversion = {
    value: {{DLV - ecommerce.value}},
    transaction_id: "{{DLV - ecommerce.transaction_id}}"
  };
</script>

Crie as variáveis de camada de dados antes de referenciá-las. Em GA4 o caminho é ecommerce.value e ecommerce.transaction_id. Confirme no Preview do GTM que as variáveis resolvem — a causa número um de conversão faltando aqui é variável vazia.

WooCommerce#

Via functions.php do tema filho, ou plugin de snippets:

PHPfunctions.php
// Tag global em todas as páginas
add_action('wp_head', function () {
    echo '<script src="https://bridge.moclick.com.br/moclick-SEU-SLUG.js" defer></script>';
});

// Conversão na página de agradecimento
add_action('woocommerce_thankyou', function ($order_id) {
    $order = wc_get_order($order_id);
    if (!$order) { return; }

    $value = number_format((float) $order->get_total(), 2, '.', '');
    $txid  = $order->get_order_number();

    printf(
        '<script>window.MoclickConversion={value:%s,transaction_id:%s};</script>',
        wp_json_encode((float) $value),
        wp_json_encode((string) $txid)
    );
});

Use wp_json_encode para os dois valores. Interpolar direto na string quebra o JavaScript quando o número do pedido contém apóstrofo, barra ou prefixo configurado no Woo.

Shopify#

Tag global#

Em Online Store → Themes → Edit code → theme.liquid, dentro do <head>:

Liquidtheme.liquid
<script src="https://bridge.moclick.com.br/moclick-SEU-SLUG.js" defer></script>

Conversão#

Em Settings → Checkout → Order status page, ou como Custom Pixel:

LiquidOrder status page
<script src="https://bridge.moclick.com.br/moclick-SEU-SLUG.js" defer></script>
<script>
  window.MoclickConversion = {
    value: {{ checkout.total_price | divided_by: 100.0 }},
    transaction_id: "{{ checkout.order_number }}"
  };
</script>
Shopify usa centavos

checkout.total_price vem em centavos: um pedido de R$ 150,00 chega como 15000. Sem o divided_by: 100.0 a receita fica cem vezes maior. Repita a tag global na Order status page — ela é servida fora do tema e não herda o theme.liquid.

VTEX#

Tag global em Storefront → Configurações → Scripts. A conversão vai no template da página de pedido finalizado:

JavaScriptorderPlaced
<script>
  window.addEventListener("message", function (e) {
    if (!e.data || e.data.eventName !== "vtex:orderPlaced") return;
    var o = e.data;
    window.MoclickConversion = {
      value: o.transactionTotal,
      transaction_id: String(o.transactionId)
    };
  });
</script>

Nuvemshop / Tiendanube#

Tag global em Minha loja → Configurações → Códigos externos, marcada para todas as páginas. Conversão no código de confirmação de compra:

HTMLconfirmação de compra
<script>
  window.MoclickConversion = {
    value: {{ order.total | raw }},
    transaction_id: "{{ order.number }}"
  };
</script>

Aplicações single-page#

Em SPA a página não recarrega, então a tag global carrega uma vez e a observação da conversão fica ativa por 120 segundos. Se o intervalo entre o carregamento e a confirmação puder passar disso, recarregue a tag na rota de confirmação:

JavaScriptrota de confirmação
function trackMoclickConversion(order) {
  window.MoclickConversion = {
    value: order.total,
    transaction_id: String(order.id)
  };

  // Recarrega a tag para reiniciar a janela de observação.
  // O cache de 5 min evita nova transferência; a dedup evita duplicata.
  var s = document.createElement("script");
  s.src = "https://bridge.moclick.com.br/moclick-SEU-SLUG.js";
  s.defer = true;
  document.head.appendChild(s);
}

Recarregar a tag é seguro: a deduplicação por transaction_id impede conversão dupla, e a guarda contra registro repetido impede acesso duplicado.

Outra plataforma#

Qualquer plataforma que permita inserir JavaScript em todas as páginas e expor pedido e valor na confirmação é compatível. O requisito é só este:

  1. A tag global carregada em todas as páginas, incluindo a de confirmação
  2. window.MoclickConversion definido na confirmação, com valor em ponto decimal e identificador estável do pedido

Se o valor ou o identificador só existirem no backend, use o Postback S2S.

Atualizado em agosto 5, 2026