Pular navegação

Chamada para ação (CTA)

Atualizado: 12.08.2026
Este recurso tem status @experimental. Ele é estável o suficiente para uso, mas os detalhes da API podem mudar. Acompanhe o histórico de alterações do player.

Uma CTA é uma chamada para ação exibida sobre o vídeo. Use-a para assinaturas, links, botões na linha do tempo ou formulários de captação de leads. Configure as CTAs em playlist[].cta ao criar um player. Você também pode usar setPlaylistItemOptions.

Você pode configurar uma CTA simples no final do vídeo sem escrever código. Use um modelo de player.

Tipos de exibição

O valor padrão do campo type é overlay:

typeComportamento
overlayCobre o player e pausa a reprodução
popupExibe um painel pop-up sem pausar a reprodução
panelExibe um painel transparente sem pausar a reprodução
bannerExibe um banner com uma imagem ou um link
buttonsExibe botões sobre o quadro. Um clique pode navegar pela playlist ou pela linha do tempo
leadgenColeta dados do usuário e os envia para sua URL

Início rápido: overlay

function onKinescopeIframeAPIReady(playerFactory) {
  playerFactory
    .create('player', {
      url: 'https://kinescope.io/VIDEO_ID',
      playlist: [
        {
          cta: [
            {
              id: 'subscribe-cta',
              type: 'overlay', // Opcional: este é o valor padrão
              title: 'Você gostou do vídeo?',
              description: 'Assine o canal para não perder os próximos lançamentos.',
              skippable: true,
              button: { text: 'Assinar' },
              trigger: { percentages: [50] },
            },
          ],
        },
      ],
    })
    .then((player) => {
      player.on(player.Events.CallAction, (event) => {
        // event.data.id === 'subscribe-cta'
        window.open('https://example.com/subscribe', '_blank')
        player.closeCTA()
      })
    })
}

Quando o usuário clica no botão da CTA, o evento CallAction é disparado. Execute sua ação e feche a tela com closeCTA(). A reprodução continua depois que a sobreposição é fechada.

Se você definir button.url, o player poderá abrir o link. O evento CallAction ainda será enviado, o que é útil para análises.

Campos comuns e acionamento

CampoTipoDescrição
idstringIdentificador incluído em CallAction
typeConsulte os tipos de exibiçãoModo de exibição. O padrão é overlay
trigger.percentagesnumber[]Percentuais de reprodução, como [50, 100]
trigger.timePointsnumber[]Pontos no tempo em segundos, como [60, 600]
trigger.pausebooleanExibe a CTA quando a reprodução é pausada

Defina pelo menos um acionador: percentages, timePoints ou pause. Você pode combiná-los.

overlay, popup e panel

Campos comuns:

CampoTipoDescrição
titlestringTítulo
descriptionstringDescrição
skippablebooleanPermite que o usuário feche ou pule a CTA
button.textstringTexto do botão
button.styleCSSPropertiesEstilos do botão
button.urlstringURL aberta ao clicar

Campos adicionais:

CampoTiposDescrição
linkoverlaySegundo link: { text, url, style? }
posteroverlayPôster ou imagem na tela da CTA
positionpopup, panel'top' | 'bottom'

Exemplo de popup exibido ao pausar:

{
  id: 'pause-offer',
  type: 'popup',
  position: 'bottom',
  title: 'Continuar depois?',
  button: { text: 'Salvar progresso', url: 'https://example.com/save' },
  skippable: true,
  trigger: { pause: true },
}
CampoTipoDescrição
title, description, skippable, buttonIgual a overlayCampos principais
urlstringLink do banner
imagestring | objeto de pôsterImagem
positionstring'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'
variant'vertical' | 'horizontal'Layout
styleCSSPropertiesEstilos do contêiner

buttons

Este tipo exibe botões sobre o quadro. Por padrão, a reprodução continua. Defina pause no item para pausá-la.

{
  id: 'hotspots',
  type: 'buttons',
  trigger: { timePoints: [30] },
  list: [
    {
      id: 'go-chapter-2',
      title: 'Capítulo 2',
      position: { x: 0.2, y: 0.5 }, // Em relação ao quadro, de 0 a 1
      goTo: { playlistItem: 0, time: 120 },
    },
  ],
}
CampoDescrição
list[].idID do botão
list[].titleTexto
list[].position{ x, y } em relação ao tamanho do quadro
list[].goTonumber para o tempo em segundos ou { playlistItem, time? }
list[].styleEstilos do botão
pausePausa a reprodução quando a CTA aparece

leadgen

Este tipo coleta dados do usuário. O player envia os campos para sua url por meio de uma solicitação POST.

CampoTipoDescrição
urlstringEndpoint de envio do formulário
fieldsArray<'name' | 'email' | 'company'>Campos que serão exibidos
privacyPolicyUrlstringLink para a política de privacidade
lifetimenumberPeríodo durante o qual este id é considerado enviado. O padrão é 30 dias
skippablebooleanPermite que o usuário feche o formulário sem enviá-lo
trigger—Igual aos outros tipos de CTA
{
  id: 'lead-end',
  type: 'leadgen',
  url: 'https://example.com/api/leads',
  fields: ['name', 'email'],
  privacyPolicyUrl: 'https://example.com/privacy',
  skippable: true,
  trigger: { percentages: [100] },
}

Próximos passos