Documentação · v1

CAMADA DE SINAIS DE PIXORA ADS

Pixel de conversão.
Do clique ao evento.

Instale uma vez, mantenha visível o caminho desde o clique no anúncio até a conversão e torne fácil confiar em todos os sinais importantes.

01Criar02Verifique03Instalar04Teste05Vincular campanha06Ativar

Do clique à primeira conversão

Crie um Pixel, verifique seu domínio HTTPS, verifique eventos de teste e selecione-o durante a criação da campanha do site ou em suas configurações.

01

Crie um pixel

Nomeie-o por produto, site ou funil.

02

Verifique a origem

Publique o arquivo de token exato nesse host por HTTPS.

03

Verifique o modo de teste

Abra o site diretamente e inspecione PageView, ViewContent e Lead.

04

Vincular uma campanha de site

Em Promover → Tráfego do site, escolha Pixel na etapa Público; as campanhas existentes têm a mesma configuração.

Para uma verificação de atribuição ao vivo, abra o site por meio de uma visita real de campanha no site. Essa transição cria px_click; um URL direto não. Veja o pouso de demonstração do LENTO.

Instale sem complicações

Use o mesmo SDK leve em HTML, React, WordPress ou uma SPA e envie eventos a partir dos estados de sucesso da sua aplicação.

Trecho de instalação

Adicione uma única vez no head ou no layout. Instalações novas aguardam consentimento explícito para análise: chame consent a partir da sua CMP, mesmo antes de o script assíncrono carregar.

<script>
  window.PixorAdsPixel = window.PixorAdsPixel || { q: [] };
  window.PixorAdsPixel.track = window.PixorAdsPixel.track || function (name, options) {
    window.PixorAdsPixel.q.push([name, options]);
  };
  window.PixorAdsPixel.consent = window.PixorAdsPixel.consent || function (value) {
    window.PixorAdsPixel.q.push(["consent", value]);
  };
</script>
<script async data-consent="required" src="https://pixora-ads.com/sdk/pixorads-pixel.js?pixel_id=px_your_id"></script>
Conecte seu gerenciador de consentimento

Desconhecido é o padrão. Uma atualização negada interrompe a coleta e remove a atribuição armazenada. As instalações existentes mantêm seu comportamento até que você opte por usar data-consent=required.

// Ligue a partir do seu retorno de chamada de consentimento CMP real, nunca automaticamente:
function onAnalyticsConsentChanged(granted) {
  window.PixorAdsPixel.consent(granted ? "granted" : "denied");
}

Após o consentimento, o SDK envia o PageView uma vez e suporta px_click e px_tclick. Mantenha a chave do servidor fora desta página. As origens do navegador ativo devem corresponder a um host HTTPS verificado.

Um contrato em que sua equipe pode confiar

PageView, Lead, CompleteRegistration e Purchase compartilham uma forma, um eventId estável e um log de eventos legível.

Envie seu primeiro evento

Envie Lead somente depois que seu servidor aceitar a solicitação. Use o mesmo event_id estável no navegador e no postback.

// After the lead request succeeds:
window.PixorAdsPixel.track("Lead", {
  eventId: acceptedLead.event_id,
});
PageViewPágina aberta; SDK envia automaticamente
ViewContentUm produto foi visualizado
LeadO servidor aceitou uma solicitação
PurchaseUm pedido real foi confirmado

Os eventos do navegador descrevem a atividade; eles não confirmam uma conversão de servidor nem alteram o faturamento. Não envie Compra para uma solicitação de demonstração.

Análise do navegador mais prova de servidor

O pixel mostra o funil; um postback assinado com HMAC confirma as ações de objetivo para análise.

Confirme o resultado do seu back-end

O servidor assina os bytes exatos do JSON original: timestamp + ponto + JSON original. Use o event_id do navegador e mantenha o mesmo valor nas novas tentativas.

// Node.js 22+, YOUR SERVER. Keep the signing key out of the browser.
import { createHmac } from "node:crypto";

async function sendPixelEvent(event) {
  // Persist this event in your outbox after the real outcome, with its original
  // event_id and px_click (or px_tclick). Reuse the same body on retries.
  const raw = JSON.stringify(event);
  const timestamp = String(Math.floor(Date.now() / 1000));
  const signature = createHmac("sha256", process.env.PIXORADS_PIXEL_KEY)
    .update(timestamp + "." + raw).digest("hex");
  // Public px_... ID, not the internal UUID used in cabinet APIs.
  const pixelId = process.env.PIXORADS_PUBLIC_PIXEL_ID;
  const response = await fetch(
    "https://pixora-ads.com/api/v1/pixels/" + encodeURIComponent(pixelId) + "/postback",
    {
      method: "POST",
      redirect: "error",
      headers: {"Content-Type": "application/json",
        "X-PixorAds-Timestamp": timestamp,
        "X-PixorAds-Pixel-Signature": signature},
      body: raw,
      signal: AbortSignal.timeout(8000)
    }
  );
  if (!response.ok) throw new Error("Pixel postback HTTP " + response.status);
  const result = await response.json();
  // 2xx alone does not mean attribution: inspect status/mode/error_code.
  return result;
}

// Example persisted lead payload (replace with values from your backend):
// {event_id: "lead:123", event_name: "Lead", px_click: "<original click token>"}
// For a Purchase, optional value_minor and currency must be supplied together.
// RUB and XTR use 1000 internal units per unit; USD is not accepted here.
// Retry only transport/5xx/429 failures with bounded backoff. Generate a fresh
// timestamp/signature on each delivery, keeping the event_id and body unchanged.
Os eventos do navegador são analíticos

Somente um postback de servidor assinado pode confirmar uma ação de meta para análise. Isso não altera o faturamento. Use o mesmo event_id para conectar os dois sinais e tente novamente com segurança.

Envie X-PixorAds-Timestamp e X-PixorAds-Pixel-Signature (HMAC-SHA256) do seu back-end. Mantenha a chave de assinatura no servidor.

Metrica e GA4 no mesmo funil

Adicione conexões separadas nas configurações da campanha. A ponte do site lê identificadores de tags reais após o consentimento do visitante; os segredos ficam no servidor Pixora Ads.

Site ou ponte GTM

Copie o snippet completo da sua conexão. Também funciona sem um Pixel. Várias conexões podem coexistir; nenhum token ou segredo API pertence a este código.

<script>
  window.PixorAdsAnalytics = window.PixorAdsAnalytics || {
    q: [],
    consent: function (value) { this.q.push(["consent", value]); }
  };
</script>
<script async src="https://pixora-ads.com/sdk/pixorads-analytics.js?connection_id=YOUR_PUBLIC_CONNECTION_ID"></script>

// Ligue apenas do seu CMP, nunca conceda automaticamente:
function onAnalyticsConsentChanged(granted) {
  window.PixorAdsAnalytics.consent(granted ? "granted" : "denied");
}

A ponte usa ym(counter, 'getClientID', callback) e gtag('get', MeasurementID, 'client_id'/'session_id', callback). Ele espera até oito segundos pelas tags existentes, ignora IDs indisponíveis e nunca cria visitantes substitutos. As atualizações de consentimento são compartilhadas com um Pixel controlado por consentimento.

Utilize a verificação de conexão no painel: contador encontrado → visitante vinculado → solicitação validada → teste enviado. A validação do GA4 é diferente da entrega e não garante visibilidade nos relatórios. Os valores de compra e IDs de pedidos estáveis ​​devem vir do seu back-end. Métrica API · Etiqueta do Google API.

Quando um sinal não está verde

O diário mostra os últimos 40 eventos com event_id, fonte, modo, campanha e error_code. Leia esses campos antes de tentar novamente.

testerecebidoatribuídoduplicarincomparávelrejeitado

test é armazenado sem atribuição. recebido é aceito sem uma conversão analítica confirmada. atribuído correspondeu a um clique; uma linha do navegador ainda é um sinal de atividade, enquanto um postback de servidor assinado confirma uma conversão para análise sem alterar o faturamento. duplicado não criou outro resultado. incomparável precisa de um px_click válido e de uma campanha correspondente. rejeitado falhou em uma regra ou entrou em conflito com outro evento.

Se nenhuma linha aparecer, inspecione a resposta da rede: um domínio de navegador não verificado, um pixel pausado ou uma assinatura inválida podem ser recusados antes do login.

PRÓXIMO SINAL

Pronto para ver o funil completo?

Crie um pixel, execute o fluxo de teste e conecte-o a uma campanha quando o sinal estiver íntegro.

Abrir espaço de trabalho