Práticas recomendadas e limitações do Visual Experience Composer

Para garantir que suas experiências funcionem conforme o esperado, siga as práticas recomendadas ao usar o Adobe Target Visual Experience Composer (VEC). Esteja ciente das principais dicas e limitações para maximizar o desempenho e evitar problemas comuns.

Práticas recomendadas section_86CF28C99CFF40329E4CBAFE4DD78BB4

Estas são as práticas recomendadas ao usar o VEC:

Coloque a referência à at.js na parte superior da seção <head> da página.

Ver detalhes
Se você também usa o Visitor API Service, coloque o script de API do visitante acima da at.js.

Você pode habilitar o Enhanced Experience Composer no nível da conta (habilitado para todas as atividades criadas na conta) ou no nível da atividade individual.

Ver detalhes

Para habilitar o Enhanced Experience Composer no nível da conta, clique em Administration > Visual Experience Composer e alterne a opção Enable Enhanced Experience Composer para a posição Ligado.

Para habilitar Enhanced Experience Composer no nível de atividade ao criar uma atividade no Visual Experience Composer, clique em Configure > Page Delivery e alterne o switch Enable Enhanced Experience Composer para a posição Ligado.

Incluir na lista de permissões Você pode modificar determinados endereços IP se o Enhanced Experience Composer não carregar em páginas seguras no seu site.

Ver detalhes

Problemas ao carregar o Enhanced Experience Composer podem ser resolvidos através do incluir na lista de permissões dos seguintes endereços IP. Esses endereços IP são para Adobe servidores usados para o proxy Enhanced Experience Composer. Eles são necessários somente para a atividade de edição. Incluir na lista de permissões Os visitantes do seu site não precisam desses endereços IP resolvidos.

Para obter mais informações, consulte O EEC não carregará uma URL de controle de qualidade interna que não esteja acessível no IP público em Solução de problemas relacionados ao Enhanced Experience Composer.

Use IDs únicas para elementos de nível superior e outros elementos que podem ser bons candidatos a teste/direcionamento.

Detalhes

Qualquer item imediatamente dentro do elemento body deve ter uma ID única. Se novos elementos forem inseridos no corpo de texto e o código for movido, pelo menos os elementos pai serão mais fáceis de reconhecer.

Target não requer IDs, mas usar IDs aumenta a confiabilidade das experiências criadas com o compositor de experiências. Target usa seletores de CSS para modificar seu conteúdo quando a experiência é entregue. Quando você edita uma experiência, o Visual Experience Composer ancora o seletor ao ancestral mais próximo com um atributo de ID não nulo ao elemento HTML que está sendo modificado. Portanto, não é aconselhável usar nenhum mecanismo, incluindo bibliotecas de JavaScript, que defina ou modifique atributos de ID HTML. Embora essas IDs possam estar disponíveis para o compositor de experiência do Target para criação de atividades, se o JavaScript modificar IDs, a ID usada quando a experiência foi criada pode não estar disponível quando a experiência foi executada. Se não houver uma ID disponível, o seletor ancorado para a ID falhará.

Nomeie as classes CSS para identificá-las facilmente.

Detalhes

Ao editar classes CSS no Visual Experience Composer, é útil facilitar a identificação das classes usando nomes de classe descritivos. Isso o ajuda a assegurar que você edite as classes CSS certas e suas páginas tenham a aparência esperada.

Não use a propriedade de CSS !important CSS ao ocultar ou remover elementos.

Se a propriedade CSS !important estiver presente, as alterações feitas por target.js durante a entrega serão substituídas pelas regras CSS do site.

Evite usar tabelas HTML para layouts de página.

Detalhes
Target usa JavaScript para formatar uma página. É difícil modificar layouts baseados em tabelas com o JavaScript. Além disso, os layouts baseados em tabela podem não ser exibidos da mesma maneira em todos os navegadores. Para obter os melhores resultados, use CSS para criar layouts de página.

Reduza o uso de iFrames.

Detalhes
É uma boa prática reduzir o uso de iFrames, para simplificar o gerenciamento de páginas e teste. O Visual Experience Composer pode aplicar algumas ações em um iFrame, mas algumas ações, como redimensionamento, não funcionam corretamente. É difícil gerenciar e redimensionar páginas que usam vários iFrames. Em virtude disso, testar páginas com muitos iFrames pode causar problemas.

Tente organizar todas as modificações de DOM dinâmicas assim que possível depois que o DOM estiver pronto.

Detalhes
Se as modificações não forem aplicadas antes do aplicativo de experiência por target.js, a entrega do conteúdo poderá ser interrompida. Isso acontecerá somente quando houver uma alteração de DOM na hierarquia de um elemento direcionado.

Use somente texto simples ou uma tag de imagem nos seus elementos de ancoragem.

Detalhes

<a>Anchor Text</a>

OU

<a href=""> <img src=""> </img> </a>

Evite elementos de nível de bloco dentro de um elemento em linha.

Detalhes
Os elementos de nível de bloco não devem ser usados dentro de elementos em linha, como âncora, extensão e assim por diante. Isso faz com que os elementos em linha percam sua altura e largura, de modo que a ferramenta de sobreposição no Visual Experience Composer pode não funcionar conforme esperado.
Detalhes
O VEC manipula o site nos bastidores, usando um servidor proxy que atualiza os links. Se você adicionar uma base de tag, os URLs utilizados pelo servidor proxy serão resolvidos novamente pelo navegador e aparecerão quebrados.

O uso de EDIT HTML para manipular a estrutura DOM pode quebrar os seletores.

Detalhes

Por exemplo, se você realizou duas ações:

  • Adicionou uma classe ao Elemento 1
  • Editou o HTML do Elemento 1

Cada alteração cria um novo elemento no VEC. Como a segunda ação modifica o Elemento 1, se você o excluir, a segunda ação não terá mais nada para modificar, e a alteração não funcionará mais.

Em outras palavras, se você adicionar um elemento com texto e, em seguida, editar esse elemento em uma ação separada com um texto diferente, o editor de códigos mostrará ambas as ações como elementos separados. Ao editar o elemento, você criou um novo elemento que modifica o elemento original que você criou, contendo o texto editado. Se você então excluir o elemento original, o texto editado não poderá encontrar o elemento que foi editado e não será exibido. O segundo elemento permanece na lista de elementos, mas não afeta a página porque o elemento que ele modifica não existe mais.

Consulte Seletores de elementos usados em Visual Experience Composer.

Use as marcas <b> e <i> ao estilizar elementos de texto com o editor de rich text.

Detalhes
  • Para texto em negrito, use <b> em vez de <strong>.
  • Para texto em itálico, use <i> em vez de <em>.

As tags <strong> e <em> podem causar resultados inesperados.

Tenha cuidado ao remover campos de formulário.

Detalhes
Certos campos de formulário poderão ser obrigatórios para envio. A remoção desses campos de formulário poderá afetar os envios.

Não inclua mboxCreate em scripts.

Detalhes
Como mboxCreate usa document.write, não é recomendado incluir mboxCreate em scripts. Em vez disso, use mboxDefine e mboxUpdate para o mesmo propósito.

Não atualize um trecho HTML usando Target se ele exigir um código JavaScript para a inicialização.

Detalhes

Quando uma ação (Editar HTML) é executada em componentes da página (como controles deslizantes, carrosséis e assim por diante), a entrega pode parecer interrompida. O VEC executa a ação depois que o componente de página é instanciado pelo JavaScript.

Entretanto, quando o conteúdo da página for entregue aos visitantes, a ação é aplicada antes de instanciar o componente. Devido a isso, a funcionalidade desse componente pode ou não ser quebrada no momento da entrega. A funcionalidade depende da natureza do script usado nesta página, para definir o componente.

Se você testar para entrega e ela funcionar da primeira vez, não há garantias de que ela continuará funcionando. Pode (ou não) ser uma condição de corrida.

  • Se houver uma condição de corrida, a entrega funciona intermitentemente.
  • Se não houver condição de corrida, a entrega sempre funcionará.

Teste a sua página várias vezes, para ter certeza de que a entrega funciona conforme esperado.

Detalhes
Quando você usa o Enhanced Experience Composer, o site é manipulado em segundo plano por um servidor proxy que atualiza todas as URLs de links para que funcionem no proxy. Se você adicionar uma tag base, todos esses URLs serão resolvidos pelo navegador para que pareçam corrompidos.

O texto importante no site que pode ser usado para direcionamento deve ser mantido no código HTML dentro de um elemento.

Detalhes

Por exemplo, você não pode direcionar o texto do Carrinho de compras no VEC, se o código for parecido com este:

code language-html
<a href="https://www.botanicchoice.com/shop.axd/Cart">
   <img alt="Shopping Cart"src="/images/ico-cart.gif"></img>
   Shopping Cart:
   <span id="HeaderCartQtyTotal">
      0
  </span>
  Items
  <span id="HeaderCartPriceTotal"></span>
</a>

Neste exemplo, todo o elemento de ancoragem é selecionado no VEC, o que afeta negativamente outros elementos se o direcionamento for executado.

Não use top ou self variáveis no código JavaScript.

Detalhes
Quando a Enhanced Experience Composer está habilitada, o valor das variáveis superior e própria é atualizado para desabilitar a edição do iframe. Use um cabeçalho de X-frame-options para adicionar a edição do iframe, em vez dos códigos JavaScript personalizados.

Sempre teste o seu site se os parâmetros são adicionados durante o carregamento da página.

Detalhes

Por exemplo, para abrir www.abc.com, os seguintes parâmetros de URL são usados:

www.abc.com?mboxEdit=1&mboxDisable=1

Esses parâmetros ativam a edição em um iframe.

Certifique-se de que o seu site carregue conforme esperado, após adicionar parâmetros como esses.

Certifique-se de que a sua página abra conforme esperado em um iframe.

Detalhes

Desative as técnicas de interrupção de iframe no seu site e verifique se o site abre como esperado em um iframe em uma página de testes. Por exemplo:

code language-html
<!DOCTYPE
<html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <iframe src="https://www.homedepot.com"</iframe>
</body>
</html>

Avisos section_A0436B7B85BA467FA9DE13A9A40E6A6E

Considere os avisos a seguir ao usar o Visual Experience Composer para criar sua atividade.

O recurso Move não dá suporte ao índice z.

Detalhes
Como não há nenhuma funcionalidade de índice z, o elemento movido não pode ser movido para cima de outro elemento. Consulte Limitações para obter mais detalhes.

A reorganização dos elementos afeta o rastreamento de cliques.

Detalhes

Se um elemento marcado para rastreamento de cliques for reorganizado, os caminhos dos elementos reorganizados são alterados. Assim, o elemento no local em que o elemento original estava antes de ser reorganizado é aquele cujos cliques são acompanhados.

Isso ocorre porque o código para entregar o conteúdo da atividade e o código para rastrear os cliques está incluído em um pedaço de código entregue à página. Se você navegar para uma página diferente e configurar o acompanhamento por clique, então o código de conteúdo da atividade e o código de rastreamento de cliques são fornecidos para essa página. Se a página de acompanhamento de clique tem uma estrutura de página similar à página de execução de teste, então o conteúdo de teste pode aparecer também na página de acompanhamento de clique.

A inserção de um elemento pode não funcionar em um <div> que seja uma mbox.

Detalhes
Se uma mbox contiver uma oferta, inserir um elemento pode aparecer como insertBefore e não insertAfter, se a mbox for implementada incorretamente.

Ao editar um elemento principal e secundário, edite o principal primeiro.

Detalhes
Se você trocar uma ação da imagem em um elemento e depois editar o texto ou HTML no seu elemento principal, poderá ocorrer problemas. O melhor fluxo de trabalho é editar o elemento principal antes de trocar a imagem no elemento secundário.

Não é possível selecionar o elemento de página que inclui uma mbox como um elemento filho.

Detalhes

Por exemplo, se a sua página contiver:

code language-html
<div>
  <div class="mboxDefault" >
  </div>
  <script>mboxCreate('myMbox');
</div>`

A div externa não deve ser selecionada em uma experiência porque a mbox codificada na página ainda faz uma chamada para Target e recebe uma resposta. Essa resposta interfere na resposta pretendida para o elemento de página maior.

Os IPs proxy podem ser bloqueados no ambiente dos clientes.

Detalhes
Se você estiver usando o Enhanced Experienced Composer em um site sem transmissão ao vivo, como um ambiente de preparo, poderá ver erros de tempo limite e acesso negado se o site bloquear RIPs.

Limitações section_F33C2EA27F2E417AA036BC199DD6C721

Considere as seguintes limitações ao trabalhar com o VEC:

Manipulando compatibilidade do VEC com Chrome alterações de política de extensão. ext

Detalhes

Devido às políticas atualizadas do Manifesto V3 no Google Chrome, as extensões não podem mais modificar o DOM original antes que ele seja analisado pelo navegador. Como resultado, determinados scripts de segurança, como implementações de edição de iframe, podem impedir que as páginas sejam carregadas no VEC.

Para garantir a compatibilidade, esses scripts devem ser desabilitados condicionalmente quando a página for carregada dentro do iframe Target. Esse processo pode ser feito com segurança verificando a presença do objeto window.adobeVecExtension, que é inserido por Target durante o carregamento do VEC.

Os trechos de código a seguir são exemplos de código de interrupção de iframe que podem fazer com que a página da Web não seja carregada no VEC:

window.top.location = window.self.location;

top.location.href = self.location.href;

Uma verificação simples pode ser usada para verificar quando uma página da Web é inserida dentro de Target. Um trecho de código deve ter esta aparência:

code language-none
if(!window.adobeVecExtension) {
    // additional security logic
}

Não é possível mover um elemento fora de um container seguido de uma propriedade CSS.

Detalhes
Um elemento não pode ser movido para fora de um contêiner seguido por uma propriedade CSS.

Você não pode selecionar o elemento Button para reorganização.

Detalhes
Button elementos não podem ser selecionados diretamente para reorganização. Para habilitar a reorganização, coloque botões dentro de um contêiner maior.

Somente ofertas de troca estão disponíveis em mboxes.

Detalhes
Ações como Edit Class e Rearrange não são permitidas dentro de uma mbox.

Você não deve reorganizar e mover o mesmo elemento.

Detalhes
Se um elemento tiver sido movido para outro local e você selecionar o contêiner pai e tentar reorganizar os elementos filho, o elemento movido não será afetado e permanecerá onde está. A reorganização talvez não apareça da maneira desejada.

A ação Change Image não funciona em uma imagem no carrossel.

Detalhes

Se, por exemplo, sua página contiver um carrossel com seis imagens e você quiser trocar uma imagem pela segunda imagem do carrossel, a ação Change Image não funcionará.

A solução alternativa é selecionar o contêiner pai e usar a ação Edit HTML para editar a HTML do carrossel e atualizar a fonte de imagem da imagem desejada.

As imagens não podem ser redimensionadas em uma mbox.

Detalhes
Se você trocar uma imagem em um elemento de mbox, tente redimensionar essa imagem de acordo com o tamanho do elemento da mbox, o redimensionamento não será permitido.

Depois que trocar uma imagem, você não poderá selecionar a ação Edit.

Detalhes
Depois que trocar a imagem, você não poderá editar o URL do Scene7.

Os elementos do HTML com uma fonte externa não podem ser editados.

Detalhes
Por exemplo: vídeo, tags de áudio, incorporado, iFrames, quadros.

O rastreamento de cliques não funciona para elementos de ancoragem que contenham qualquer coisa diferente de texto simples ou tags de imagem.

Detalhes
Por exemplo, o rastreamento de cliques não funcionará se o elemento contiver JavaScript.

As páginas devem aceitar os parâmetros de URL para que o VEC funcione.

Detalhes
Alguns sites removem qualquer parâmetros de URL para as páginas. No entanto, o VEC exige esses parâmetros.

Ao usar um script como parte do HTML, qualquer variável e função acessada da parte externa deve ser declarada no namespace da janela.

Detalhes

O script é executado no escopo de target.js depois que a página é carregada. Portanto, qualquer variável ou função que seja declarada localmente não está acessível da parte externa do bloco do script.

Incorreto:

code language-html
<script>
  var myVar = 123;
  function myFunc() {
    //
  }
</script>`

Correto:

code language-html
<script>
  window.myVar = 123;
  window.myFunc = function() {
    //
  };
</script>

Inserir uma imagem na biblioteca Content (Scene7) e editar o HTML quebra a URL da imagem.

Detalhes

Adicione um elemento da âncora dentro do div 'customHeaderMessage' com algum texto de teste:

code language-html
<a href="#">
<span> Dummy text </span>
</a>

Selecione esta div usando a ação Insert Element para inserir uma imagem como irmã desta div de texto fictício.

Após a inserção da imagem, ele tem a seguinte aparência:

code language-html
<a href="#">
<span> Dummy text </span>
<img src=""> This is inserted Image. </img>
</a>

Remova a extensão de texto de teste.

A ação customCode no VEC não funciona com Internet Explorer 8.

Detalhes
Devido às limitações do IE8 ao manipular o conteúdo do script, o target.js não oferece suporte a isso no IE8. Como solução, se a página contiver jQuery e estiver exposta ao objeto window globalmente, target.js pode usar para entregar a ação customCode. Verifique se window.jQuery e window.jQuery.fn.prepend estão definidos.

O rastreamento de cliques é compatível somente na página em que as experiências são criadas ou na página redirecionada.

Detalhes
Embora o modo Browse esteja disponível para o rastreamento de cliques no VEC, o modo Browse não pode ser usado para adicionar o rastreamento de cliques em uma página.
recommendation-more-help
3d9ad939-5908-4b30-aac1-a4ad253cd654