PlayerIntegrações

Parâmetros de conversão em URLs

Leve os dados de conversão pelas URLs que o player aponta

Um visitante que assiste ao vídeo e depois compra faz isso em outra página — um checkout, um formulário, uma página de obrigado. Nada nessa segunda página sabe o que aconteceu no player, a menos que você leve a informação junto. Estas três peças da API existem para isso.

conversionKey

A propriedade que identifica a visualização atual: a sessão, o player e a variante, quanto foi assistido e quais variantes de recurso estavam ativas. É o valor que o resto desta página movimenta.

Devolve string vazia até o player estar pronto. Lê-lo no carregamento e enviá-lo a um checkout é o motivo habitual de conversões chegarem sem atribuição.

urlUpdater

Recebe uma URL e devolve com os parâmetros de conversão e rastreamento anexados. Use quando sua página monta o link de destino:

player.js
const player = document.querySelector("vturb-smartplayer");

player.addEventListener("player:ready", () => {
  const url = player.urlUpdater("https://example.com/checkout");

  // https://example.com/checkout?<conversion and tracking params>
  console.log(url);
});

injectUrlUpdater

Só embed JS

Registra uma função que reescreve toda URL que o player aponta — botões de chamada para ação, âncoras, imagens. Use quando os links estão dentro do player, e não na sua marcação:

player.js
const player = document.querySelector("vturb-smartplayer");

player.addEventListener("player:ready", () => {
  player.injectUrlUpdater((url, element) => {
    const next = new URL(url, window.location.href);

    next.searchParams.set("utm_source", "player");

    return next.toString();
  });
});

A função recebe a URL original e, quando existe, o elemento a que ela pertence, então dá para tratar um CTA de forma diferente de uma imagem.

Indisponível no embed em iframe: sua página não reescreve o que o player renderiza através da fronteira de origem. No iframe, monte o destino você mesmo e passe pelo urlUpdater.

Como escolher entre os dois

Use o urlUpdater quando o link é do seu código, e o injectUrlUpdater quando é do player. Não são alternativas um ao outro, e sim duas metades do mesmo trabalho — páginas com um CTA próprio e chamadas para ação do player costumam precisar dos dois.

Nesta página