BlackRabbit

[ TRAFFIC SHIELD // CLOAKER v2.0 ]

Hoje
0
Total de Clicks
0
Visitantes Reais
0
Bots Bloqueados
0
Campanhas Ativas
0
VPN/Proxy Bloqueados
0%
Taxa de Proteção
0
Links Copiados Bloq.
0ms
Tempo de Resposta

Tráfego — Hoje

Visitantes Reais
Bloqueados

Campanhas Recentes

NomeOrigemClicksReaisBloqueadosStatus

Top Motivos de Bloqueio

MotivoQtd%
0%
Taxa de Passagem
-
Ultimo Click
-
Pais Top
NomeOrigemClicksStatusLink de CloakingUTMs para o AnúncioAções

Nenhuma campanha criada

Clique em "Nova Campanha" para começar

Nenhum domínio adicionado

Adicione um domínio para gerar links de cloaking

NomeNichoURLCriado emAções

Nenhuma white page criada

Crie páginas seguras para moderação das plataformas

Por que isso importa

A Utmify precisa de duas peças separadas pra trackear tudo corretamente:

  • Pixel IDs (TikTok + Meta): disparam PageView e InitiateCheckout automáticos
  • API Token (x-api-token): envia as vendas (pendente + aprovada) com os UTMs pra Utmify atribuir a campanha

Atenção: trocou de conta Utmify? Tem que trocar TANTO os pixel IDs QUANTO o token. Trocar só um deixa metade do tracking quebrado.

Como configurar (4 partes)

Parte 1: Loader sequencial de pixels (cole no <head> de TODAS as páginas). Substitua os IDs nos arrays pelos seus.

<script>
(function(){
  var TIKTOK_IDS = [
    "SEU_PIXEL_TIKTOK_1",
    "SEU_PIXEL_TIKTOK_2"
  ];
  var META_IDS = [
    "SEU_PIXEL_META_1",
    "SEU_PIXEL_META_2"
  ];
  function loadSeq(ids, varName, baseUrl){
    var i = 0;
    function next(){
      if(i >= ids.length) return;
      window[varName] = ids[i];
      var s = document.createElement('script');
      s.src = baseUrl + '?v=' + encodeURIComponent(ids[i]);
      s.onload = function(){ i++; next(); };
      s.onerror = function(){ i++; next(); };
      document.head.appendChild(s);
    }
    next();
  }
  loadSeq(TIKTOK_IDS, 'tikTokPixelId', 'https://cdn.utmify.com.br/scripts/pixel/pixel-tiktok.js');
  loadSeq(META_IDS, 'pixelId', 'https://cdn.utmify.com.br/scripts/pixel/pixel.js');
})();
</script>

Por que sequencial? O pixel.js da Utmify lê window.pixelId NO momento da execução. Se você carregar 2 scripts async sobrescrevendo a variável, só 1 funciona. O loader resolve isso esperando cada um terminar antes de carregar o próximo.

Parte 2: Captura de UTMs (cole no <head>):

<script src="https://cdn.utmify.com.br/scripts/utms/latest.js" async defer></script>

Parte 3: POST de venda PENDENTE (chama quando gerar o PIX). Substitua SEU_TOKEN_UTMIFY pelo seu token:

fetch('https://api.utmify.com.br/api-credentials/orders', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-token': 'SEU_TOKEN_UTMIFY'
  },
  body: JSON.stringify({
    orderId: transactionId,
    platform: 'other',
    paymentMethod: 'pix',
    status: 'waiting_payment',
    createdAt: new Date().toISOString(),
    approvedDate: null,
    customer: { name, email, phone, document: cpf },
    products: [{
      id: 'produto-id', name: 'Nome Produto',
      planId: 'produto-id', planName: 'Nome Produto',
      quantity: 1, priceInCents: amountCents
    }],
    trackingParameters: {
      utm_source: utms.utm_source || null,
      utm_medium: utms.utm_medium || null,
      utm_campaign: utms.utm_campaign || null,
      utm_content: utms.utm_content || null,
      utm_term: utms.utm_term || null
    },
    commission: { totalPriceInCents: amountCents, gatewayFeeInCents: 0, userCommissionInCents: amountCents },
    src: utms.src || ''
  })
}).catch(()=>{});

Parte 4: POST de venda APROVADA (chama quando o PIX for confirmado pelo webhook). MESMO orderId da Parte 3:

fetch('https://api.utmify.com.br/api-credentials/orders', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-token': 'SEU_TOKEN_UTMIFY'
  },
  body: JSON.stringify({
    orderId: transactionId,
    platform: 'other',
    paymentMethod: 'pix',
    status: 'paid',
    createdAt: createdAtISO,
    approvedDate: new Date().toISOString(),
    customer: { name, email, phone, document: cpf },
    products: [{
      id: 'produto-id', name: 'Nome Produto',
      planId: 'produto-id', planName: 'Nome Produto',
      quantity: 1, priceInCents: amountCents
    }],
    trackingParameters: {
      utm_source: utms.utm_source || null,
      utm_medium: utms.utm_medium || null,
      utm_campaign: utms.utm_campaign || null,
      utm_content: utms.utm_content || null,
      utm_term: utms.utm_term || null
    },
    commission: { totalPriceInCents: amountCents, gatewayFeeInCents: 0, userCommissionInCents: amountCents },
    src: utms.src || ''
  })
}).catch(()=>{});

Implementação com IA

Copie o prompt abaixo, cole no Claude / ChatGPT / Cursor dentro do seu projeto e troque os campos [COLE AQUI...] pelos seus dados. A IA vai fazer toda a integração pra você.

Preciso configurar tracking completo de Utmify no meu funil. Faz pra mim:

1) TOKEN DA API UTMIFY (x-api-token usado nas chamadas pra https://api.utmify.com.br/api-credentials/orders):
   [COLE AQUI SEU TOKEN UTMIFY]

   - Substitua qualquer token antigo de utmify no projeto inteiro (HTML, PHP, JS) por esse.
   - Aplica nos POSTs com status="waiting_payment" (geração do PIX) e status="paid" (confirmação).

2) PIXELS UTMIFY (PageView + InitiateCheckout):
   - TikTok pixels (window.tikTokPixelId, https://cdn.utmify.com.br/scripts/pixel/pixel-tiktok.js):
     [COLE AQUI OS IDS DE PIXEL TIKTOK, UM POR LINHA]
   - Meta pixels (window.pixelId, https://cdn.utmify.com.br/scripts/pixel/pixel.js):
     [COLE AQUI OS IDS DE PIXEL META, UM POR LINHA]

3) IMPORTANTE — LOADER SEQUENCIAL:
   Os scripts pixel.js / pixel-tiktok.js leem window.pixelId / window.tikTokPixelId NO MOMENTO da execução. Se eu carregar 2+ blocos <script async> sobrescrevendo a variável e apontando pra mesma URL, o browser cacheia e só executa 1 vez. Use loader sequencial com onload + cache-buster por ID. Modelo:

   <script>
   (function(){
     var TIKTOK_IDS = ["id1","id2"];
     var META_IDS = ["id1","id2"];
     function loadSeq(ids, varName, baseUrl){
       var i=0; function next(){
         if(i >= ids.length) return;
         window[varName] = ids[i];
         var s = document.createElement('script');
         s.src = baseUrl + '?v=' + encodeURIComponent(ids[i]);
         s.onload = function(){ i++; next(); };
         s.onerror = function(){ i++; next(); };
         document.head.appendChild(s);
       } next();
     }
     loadSeq(TIKTOK_IDS, 'tikTokPixelId', 'https://cdn.utmify.com.br/scripts/pixel/pixel-tiktok.js');
     loadSeq(META_IDS, 'pixelId', 'https://cdn.utmify.com.br/scripts/pixel/pixel.js');
   })();
   </script>

   Coloque UMA vez no <head> de cada página, e REMOVA todos os blocos antigos com window.tikTokPixelId/pixelId espalhados.

4) CAPTURA DE UTMs:
   Carregue no <head>:
   <script src="https://cdn.utmify.com.br/scripts/utms/latest.js" async defer></script>

   E salve UTMs no localStorage na chegada (chave "br_utms") pra persistir quando o usuário ficar tempo.

5) POSTs DE VENDA:
   - Quando o PIX é gerado: POST com status="waiting_payment", trackingParameters com utm_source/medium/campaign/content/term.
   - Quando o PIX é confirmado pelo webhook: POST com MESMO orderId, status="paid", approvedDate preenchida.
   - Ambos com x-api-token = [TOKEN UTMIFY], URL https://api.utmify.com.br/api-credentials/orders.

6) URL DO ANÚNCIO TIKTOK:
   Pra Utmify identificar fonte "TikTok" + nome de campanha/anúncio na aba Campanhas, a URL precisa ter as macros TikTok. Modelo:
   https://meu-cloaker.com/c/<id>?br_key=<token>&utm_source=tiktok&utm_campaign=__CAMPAIGN_NAME__|__CAMPAIGN_ID__&utm_medium=__AID_NAME__|__AID__&utm_content=__CID_NAME__|__CID__&utm_term=__PLACEMENT__&utm_id=__CAMPAIGN_ID__

   O cloaker forwarda todas as query params pra offer page automaticamente.

7) VALIDAÇÃO:
   Depois de aplicar, manda um POST de teste pra https://api.utmify.com.br/api-credentials/orders com status="waiting_payment" e depois "paid". Tem que retornar {"OK":true,"result":"SUCCESS"}.

Deploys: produção via Vercel (vercel --prod --yes).

Onde encontrar seu token Utmify

Painel da Utmify → IntegraçõesAPI Credentials → copia o x-api-token. Esse token é único da sua conta, não compartilhe.

O que esse script faz

Roda no carregamento da sua página e só libera o acesso se uma destas condições for atendida:

  • fbclid válido na URL (anúncio real do Facebook/Instagram gera automaticamente)
  • Referer de facebook.com / instagram.com / fb.me
  • br_pass na URL (passe gerado pelo cloaker BlackRabbit)
  • Sessão prévia (visitante que já entrou antes via método válido)

Se nada bater → redireciona pra URL "segura" (você define qual). Resultado: ninguém que copiar seu link consegue ver seu funil.

Como instalar (3 passos)

Passo 1: Crie um arquivo chamado auth.js na raiz do seu projeto e cole o código abaixo:

(function () {
  try {
    var u   = new URLSearchParams(location.search);
    var ref = document.referrer || '';

    var fbclid = u.get('fbclid') || '';
    var fbclidValido = /^(Iw|Pb|Aa)[A-Za-z0-9_\-]{30,}$/.test(fbclid);
    var fromMeta = /(^|\.)facebook\.com|(^|\.)instagram\.com|(^|\.)fbcdn\.net|(^|\.)fb\.com|(^|\.)fb\.me|l\.facebook\.com|lm\.facebook\.com/i.test(ref);
    var hasPass = u.has('br_pass');
    var hasFlag = false;
    try { hasFlag = !!localStorage.getItem('br_session_ok'); } catch (_) {}

    var valido = fbclidValido || fromMeta || hasPass;

    if (valido) {
      try { localStorage.setItem('br_session_ok', '1'); } catch (_) {}
    } else if (!hasFlag) {
      location.replace('https://google.com');
    }
  } catch (e) {}
})();

Passo 2: Adicione esta linha dentro da tag <head> de TODAS as páginas que quer proteger (index, upsells, etc.):

<script src="/auth.js"></script>

Passo 3: No arquivo auth.js, troque https://google.com pela URL "segura" pra onde quer redirecionar quem tentar burlar (geralmente o site original que o funil está imitando).

Funciona junto com o cloaker

O BlackRabbit Cloaker já adiciona ?br_pass=<token> automaticamente quando redireciona pra sua offer. O auth.js reconhece esse pass e libera. Resultado: tráfego do cloaker passa, tráfego copiado bloqueia.

Selecionar Campanha

Link de Cloaking + UTMs

Selecione uma campanha acima ou cole manualmente o link completo com UTMs.

Como funciona

1 Selecione a campanha ou cole o link manualmente
2 Clique em Testar — será adicionado um fbclid falso para simular clique de anúncio
3 A página abre em nova aba exatamente como o lead veria (com UTMs repassadas)
0
Total
0
Permitidos
0
Bloqueados
Data/HoraCampanhaIPPaisDeviceOSBrowserStatusMotivo

Nenhum log registrado

Os clicks aparecerão aqui em tempo real

> Upload do vídeo original

Arraste seu vídeo aqui ou clique para selecionar

MP4, MOV, WEBM — até 200MB

> Upload do vídeo

Arraste seu vídeo aqui ou clique para selecionar

MP4, MOV, WEBM

> Upload do vídeo

Arraste seu vídeo aqui ou clique para selecionar

> Upload do vídeo

Arraste seu vídeo aqui ou clique para selecionar

> Upload do vídeo real (o que o público vai ver)

Arraste o vídeo REAL aqui

> Upload da imagem segura (o que os bots vão detectar)

Arraste a imagem SEGURA aqui (PNG/JPG)

> Histórico

Nenhum criativo processado ainda.

Use as ferramentas do Ghost Studio para processar vídeos.

Perfil

Filtros Globais

Bloquear VPN/Proxy
Bloqueia automaticamente tráfego de VPN e Proxy em todas as campanhas
Bloquear Data Centers
Bloqueia IPs de data centers (AWS, Google Cloud, Azure, etc)
Bloquear Crawlers/Bots
Detecta e bloqueia crawlers de Google, Facebook, TikTok e outros
Referrer Spoofing
Mascara a origem do tráfego para redes de afiliados
Proteção Anti-Spy
Bloqueia ferramentas de espionagem (AdSpy, BigSpy, etc)

Vercel + GitHub (Auto-Deploy)

Configure para criar novos domínios automaticamente. Cada domínio cria um projeto novo na Vercel com deploy automático do seu cloaker.

Token: vercel.com/account/tokens — Repo: o mesmo onde está o código do cloaker

API

Tem certeza?

Esta ação não pode ser desfeita.