Saltar para o conteúdo principal
A biblioteca pública analytics.js do Topsort permite que marketplaces enviem facilmente eventos de interação do Topsort, como cliques, impressões e compras, com uma integração low-code. Usando uma tag HTML simples, o marketplace pode se conectar ao servidor de anúncios do Topsort e enviar todos os eventos de rastreamento relacionados a um anúncio.

Instalação

Você pode instalar a biblioteca usando npm ou yarn, ou carregar o SDK diretamente no seu arquivo HTML incluindo uma tag <script>:
<script
  async
  type="module"
  src="https://unpkg.com/@topsort/analytics.js@latest/dist/ts.js"
></script>
<script>
  // Configuração global para o Topsort
  window.TS = {
    token: "TSE_XXXXXXXXXXXX", // Substitua pela sua chave de API do Topsort
  };
</script>

Marcando Elementos Promovidos

Para permitir que o Topsort rastreie automaticamente cliques, impressões e compras, use o elemento HTML data-ts-* para marcar elementos promovidos na página.

Elementos orgânicos (não promovidos)

<div class="product" data-ts-product="<productId>">...</div>

Elementos promovidos

<div class="product" data-ts-resolved-bid="<resolvedBidId>">...</div>

Áreas clicáveis

Use data-ts-clickable para indicar quais áreas devem acionar um evento de clique:
<div class="product" ...>
  <div data-ts-clickable>
    <img src="https://cdn.marketplace.com/product.png" />
    <span>Título do Produto</span>
  </div>
  <span>Ajuda</span>
</div>

Atribuição de banner

Para banners com atribuição de produto:
<div
  class="product"
  data-ts-product="<productId>"
  data-ts-resolved-bid="inherit"
>
  ...
</div>

Rastreamento de compras

Use o array JSON data-ts-items para rastrear compras:
<div
  data-ts-action="purchase"
  data-ts-items='[{"product": "product-id-1", "quantity":1, "price": 2399}, {"product": "product-id-2", "quantity": 2, "price": 399}]'
>
  Minha compra
</div>

Exemplo Completo

<script
  async
  type="module"
  src="https://unpkg.com/@topsort/banners@latest/dist/banners.mjs"
></script>
<script
  async
  type="module"
  src="https://unpkg.com/@topsort/analytics.js@latest/dist/ts.js"
></script>
<script>
  window.TS = {
    token: "<sua chave de api topsort>",
  };
  window.TS_BANNERS = {
    getLink(banner) {
      return `https://example.com/${banner.id}`;
    },
    getLoadingElement() {
      const el = document.createElement("div");
      el.innerText = "Carregando...";
      return el;
    },
    getErrorElement() {
      const el = document.createElement("div");
      el.innerText = "Erro ao carregar banner";
      return el;
    },
  };
</script>

<body>
  <div class="product" data-ts-product="24-MB03" data-ts-resolved-bid="inherit">
    <topsort-banner
      width="600"
      height="400"
      id="<your slot id>"
    ></topsort-banner>
  </div>

  <div class="product" data-ts-resolved-bid="...">
    <div data-ts-clickable>
      <span>Conteúdo clicável</span>
    </div>
    <span>Conteúdo não clicável</span>
  </div>

  <div
    data-ts-action="purchase"
    data-ts-items='[{"product": "product-id-1", "quantity":1, "price": 2399}]'
  >
    Minha compra
  </div>
</body>

Precisa de ajuda com sua integração Topsort?

Fale conosco, a equipe de engenharia de integrações.Entre em contato através do seu canal de mensagens dedicado ou em support@topsort.com.Se você ainda não é cliente, agende uma demo com nossa equipe de vendas.