Adjoin
EntrarMonetizar meu app
← Documentação

Referência do SDK

Um script, cinco chamadas. Sem cookies nem identificadores, e um anúncio que falha nunca bloqueia sua página.

Carregar

Coloque um contêiner onde o anúncio vai e carregue o script uma vez. O id do contêiner é adjoin- mais o id do placement.

<!-- one script per page; data-placement renders that slot automatically -->
<div id="adjoin-plc_ab12" data-format="card"></div>
<script async src="https://cdn.adjoin.dev/v1.js" data-placement="plc_ab12"></script>
data-placement
Renderiza este placement assim que a página estiver pronta.
data-format
No contêiner: banner, card, inline_native, sidebar ou newsletter. Padrão card.
data-tenant
Slug do parceiro, se você veio por um (veja Integração de parceiros).
data-analytics="off"
Desliga a análise gratuita de visualizações.

Tamanhos: banner 728×90 · card 320×250 · inline_native 600×120 · sidebar 300×250 · newsletter 600×200

adjoin.render(options)

Renderiza um placement no seu contêiner. A altura é reservada antes, então não há salto de layout, e o anúncio vive num Shadow DOM para que o seu CSS e o nosso nunca se misturem. Se nada couber, o espaço recolhe para altura zero.

adjoin.render({
  placement: 'plc_cd34',        // required — the id from your dashboard
  format: 'sidebar',            // banner | card | inline_native | sidebar | newsletter
  onEmpty: () => showMyOwnPromo()  // optional — called when the slot collapses
});

adjoin.trigger(moment, options?)

Marca um momento no seu app — signup_complete, empty_state, quota_hit etc. É registrado mesmo sem placement, então seu funil continua contando se você desligar os anúncios.

// record a moment; with a placement it also renders an ad there
adjoin.trigger('signup_complete', { placement: 'plc_ab12' });

adjoin.pageview(path?)

Análise gratuita. Só os dois primeiros segmentos do caminho são enviados, e ids neles viram :id.

// sent automatically on load; call it yourself on client-side route changes
adjoin.pageview('/pricing');

<!-- or turn analytics off -->
<script async src="https://cdn.adjoin.dev/v1.js" data-analytics="off"></script>

adjoin.segment(label, on?)

Rótulos de audiência. Marque a sessão atual com uma palavra que a descreva — plano, função, estágio. Anunciantes podem mirar ou excluir um rótulo, então inventário rotulado rende mais. O rótulo fica só nesta aba (sessionStorage) e só vai junto com as solicitações de anúncio e pageviews deste site; nunca segue o visitante para outro site. Só totais de pageviews por rótulo são guardados. Formato: minúsculas, dígitos, _ : -, até 32 caracteres, sem sequências de 6+ dígitos. Até 5 por sessão. Um rótulo pode ser segmentado quando atinge 100 pageviews na rede em 7 dias.

// label this visitor's session — plain words, never ids or emails
adjoin.segment('plan:free');
adjoin.segment('role:developer');
adjoin.segment('plan:free', false);   // remove one
adjoin.segment(null);                 // remove all

// suggested labels: plan:free · plan:paid · plan:trial · role:developer · role:designer
//                   role:founder · stage:onboarding · stage:active · intent:upgrade

adjoin.convert(valueUsd?, orderId?)

Para anunciantes com CPA ou afiliado. Chame no seu próprio site após uma compra. O token do clique fica só nesta aba (sessionStorage), ligando conversões da mesma visita. Passe um id de pedido: o mesmo pedido nunca é cobrado duas vezes e você pode reembolsá-lo por esse id. Para conversões dias depois, use servidor a servidor (API REST).

// on your own site, after checkout
adjoin.convert(29.00, 'order_1234');   // value in USD, your order id

Privacidade

Sem cookies, sem localStorage, sem fingerprinting. Visitantes são contados com um hash que muda todo dia, então a mesma pessoa não pode ser ligada de um dia para o outro.

Dúvidas: [email protected]