O contexto da página é a informação que você passa para a Dynamic Yield sobre uma página que está sendo visualizada por um visitante do seu website. O contexto da página inclui detalhes sobre o tipo de página (página inicial, página de produto etc.), bem como atributos (por exemplo, se é uma página de produto — para qual produto). Observe que a implementação do contexto da página exige habilidades técnicas.
Importante: você deve se certificar de que o contexto da página seja determinado em cada página, com base em um ou em ambos os métodos descritos neste artigo. Se o contexto da página estiver ausente, muitos recursos não funcionarão conforme o esperado. Por exemplo, a segmentação por tipo de página falha, os perfis de afinidade não são atualizados e as recomendações não são veiculadas.
Configurar o contexto da página
Escolha seu método
Há duas maneiras de determinar o contexto da página em seu website:
- Usando código: coloque um pequeno trecho de código na tag <head> de cada página, antes do script da Dynamic Yield.
-
Regras de detecção automática: Defina regras para detectar o tipo de página e buscar seus atributos. Recomendado para SPAs. Isso é suportado apenas para seções de comércio eletrônico que usam o Fluxo de SPA da Dynamic Yield.
Observação: entre em contato com seu gerente técnico de conta para ativar a detecção automática.
Não é necessário escolher apenas uma opção
Você pode implementar diferentes tipos de página de maneiras diferentes. Por exemplo, você pode usar código em sua página inicial e usar regras de detecção automática para páginas de produtos.
Você pode até mesmo usar os dois métodos para os mesmos tipos de página. Nesse caso, o contexto é determinado primeiro pelas regras de detecção automática, e o código é o fallback se as regras falharem por qualquer motivo.
Defina o contexto
Ambas as opções começam acessando-se Settings › General Settings (configurações › configurações gerais) na navegação.
Opção 1: implementar contexto usando código
Pegue o código na tela General Settings e cole o código relevante em cada página.
Exemplo de página inicial:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default function HomePage() {
// ...
useEffect(() => setDYContext('HOMEPAGE'));
return (
// ...
)
}
Exemplo de página de produto:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default function ProductPage(props) {
// ...
useEffect(() => setDYContext('PRODUCT', [ props.sku ]), [ props.sku ]);
return (
// ...
)
}
Exemplo de página inicial:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default class HomePage extends React.Component{
// ...
componentDidMount() {
setDyContext ('PÁGINA INICIAL');
}
render() {
return(
// ...
)
}
}
Exemplo de página de produto:
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default class ProductPage extends React.Component{
constructor(props) {
super(props);
this.state = { sku: props.sku }
}
// ...
componentDidMount() {
setDYContext('PRODUCT', [ this.props.sku ]);
}
componentDidUpdate(prevProps) {
if (prevProps.sku !== this.props.sku) {
setDYContext('PRODUCT', [ this.props.sku ]);
}
}
render() {
return(
// ...
)
}
}
<script type="text/javascript">
window.DY = window.DY || {};
DY.recommendationContext = { type: "PRODUCT", data: ['SKU123'] }; // nesse exemplo - uma página de produto
</script>
<script type="text/javascript">
window.DY = window.DY || {};
DY.recommendationContext = { type: "POST", data: ['POST_ID123'] }; // nesse exemplo - uma página de publicação
</script>
Opção 2: detectar automaticamente o contexto da página
Esse método permite que você seja flexível e faça alterações sem alterar o código do seu website. Observe, no entanto, que a detecção automática pode causar um pequeno atraso na veiculação das campanhas (também conhecido como “flicker”). Observe também que esse recurso pronto para uso ainda pode exigir alguns ajustes de código.
- Determine como você deseja definir cada tipo de página. Atualmente, isso é feito usando um padrão no URL da página ("contém" ou "regex") ou usando a tag <title> da página.
Observação: na opção URL, os parâmetros são ignorados para fins de avaliação. - Para todos os tipos de página, exceto Homepage (página inicial) e Other (outro), você também precisa definir os atributos da página para completar os dados de contexto. Isso pode ser feito no URL da página ou inserindo o atributo de dado relevante.
- Para verificar se as regras estão definidas corretamente:
- Clique em Verify (verificar) e selecione a página selecionando a página.
- Analise como a Dynamic Yield identifica a página usando nosso Implementation Helper (ajudante de implementação).
- Se seu o website for multilíngue, adicione uma versão mais fina do contexto ao código do seu website, somente com o atributo “lng”. Por exemplo:
DY.recommendationContext = {lng: 'en_GB'};
Se você fizer alguma alteração no website no futuro, certifique-se de também atualizar as configurações de contexto relevantes.
A seguir estão exemplos de expressões regulares para contextualizar cada um desses tipos de página:
Homepage
A expressão regular (regex) adicionada nessa regra de contexto é uma string adicionada ao final do URL da página inicial: www.mysite.com/[REGEX], onde a tag [REGEX] é substituída por qualquer expressão que você quiser usar. Observe que não pode haver texto adicional após a expressão.
Exemplo:
Expressão: /\w{2}\/\w{2}\/$ (URL é www.mysite.pl/\w{2}\/\w{2}\/$)
Essa regra encontra este URL: www.mysite.com/pl/pl/
Essa regra não encontra este URL: www.mysite.com/pl/pl/new-in/men
Product page
Para definir um regex para contexto em uma página de produto, há duas partes: Defina o tipo de página (defina a segmentação do produto) e defina a localização da SKU (defina a regra de contexto):
Na área Define Page Type (definir tipo de página), selecione o contexto do regex e, em seguida, adicione a expressão (onde o exemplo exibe [my regex]).
Exemplo:
Expressão: *[a-zA-Z0-9_]{5}-[a-zA-Z0-9_]{3}. *
Essa regra encontra todas as páginas com uma estrutura de SKU que atende às condições incluídas, como este URL:
www.mysite.com/pl/pl/4270h-00x/opaska-na-wl-re
Em seguida, defina onde a SKU está localizada na página do seu produto. Nesse exemplo, o valor da SKU é obtido de dataLayer[0].sku (na página). Objetos podem ser usados em regras de regex se estiverem disponíveis na global window.
Cart page
O URL do carrinho é único. Por exemplo, este URL: https://www.mysite.com/pl/pl/checkout/cart/ é o único URL no site com a string /checkout/cart. Portanto, nenhuma regra de regex é necessária. O tipo de página pode ser detectado usando-se o parâmetro de URL.
Observações:
- As regras de contexto têm um tempo limite de 50 ms, então certifique-se de que o elemento que você está consultando esteja disponível nesse período.
- O atributo dinâmico pode ser uma palavra (string, caractere etc.) ou pode ser um código que está disponível na global window, por exemplo: dataLayer[0].sku.
Dados de contexto
Os dados de contexto diferem de acordo com a indústria do seu website:
Tipo de página | Atributos | Exemplo de código (não SPA) |
---|---|---|
Homepage | -- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
Category | Hierarquia completa dos nomes das categorias, do nível superior para baixo. Os nomes das categorias devem ser idênticos às categorias que aparecem no feed de produtos (incluindo maiúsculas). | DY.recommendationContext = {type:'CATEGORY', data: ['Women', 'Accessories','Hats']}; |
Product Page | SKU (string). Deve corresponder a uma SKU no feed de produtos. | DY.recommendationContext = {type:'PRODUCT', data: ['SKU123']}; |
Cart Instituições financeiras usam o contexto Cart (carrinho) para páginas Application (inscrição) |
Até 20 SKUs (strings). Deve corresponder às SKUs no feed de produtos.
|
Se houver itens no carrinho: DY.recommendationContext = {type:'CART', data: ['SKU123','SKU234']}; Se o carrinho estiver vazio: DY.recommendationContext = {type:'CART', data: ['']}; |
Other (se a página não corresponder a nenhum dos tipos de página acima) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Tipo de página | Atributos | Exemplo (não SPA) |
---|---|---|
Homepage | -- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
Category | Hierarquia completa dos nomes das categorias, do nível superior para baixo. Os nomes das categorias devem ser idênticos às categorias que aparecem no feed de conteúdo (incluindo maiúsculas). | DY.recommendationContext = {type:'CATEGORY', data: ['TOP_LEVEL_CAT', 'CHILD_CAT','GRANDCHILD_CAT']}; |
Post (a página de conteúdo) |
ID do artigo (string). Deve corresponder a um ID de publicação no feed de conteúdo. | DY.recommendationContext = {type: 'POST', data: ['1234']}; |
Outro (se a página não corresponder a nenhum dos tipos de página acima) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Tipo de página | Atributos | Exemplo (não SPA) |
---|---|---|
Homepage | -- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
Outro (se a página não for a página inicial) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Observação: todos os valores de contexto da página devem estar em letras maiúsculas.
Suporte multilíngue
A Dynamic Yield oferece suporte automático a websites multilíngues e multilocais, exibindo automaticamente os dados corretos nas recomendações de produtos (como o nome do produto no idioma atualmente exibido na página) e variações. Para adaptar as campanhas da Dynamic Yield à localidade da página, adicione o atributo “lng” ao contexto da página, com a localidade da página como valor:
DY.recommendationContext = {type: 'HOMEPAGE', lng: 'en_GB'};
A localidade pode ser determinada livremente, mas deve corresponder à localidade que você usa em seu feed de produtos/conteúdo. Você também pode segmentar campanhas com base na localidade do usuário (usando o atributo “lng”). Para saber mais, consulte suporte multilíngue .
Validar a configuração do contexto da página
- Faça login na Dynamic Yield e abra seu website.
- Passe o mouse sobre o ícone da Dynamic Yield
no canto inferior direito e clique no ícone do Implementation Helper
. Se você não vê o ícone da Dynamic Yield, você não está logado ou seu script não está implementado.
- Comece com sua página inicial. Verifique se o tipo de página é “Homepage” e se Context Implementation (implementação do contexto) é "Before script" (antes do script). Prossiga para diferentes tipos de página (category, product page ou item page) para verificar se Page Context (contexto da página) foi implementado corretamente.
- Acesse uma página de carrinho vazia. Você deve ver um aviso de que não existem SKUs no carrinho.
- Para páginas de produtos, verifique se suas SKUs estão listadas corretamente. Quando seu feed não estiver sincronizado, você receberá um erro de validação. Esse erro ocorre quando a SKU do produto atual é encontrada no feed.
- Ao validar um site de comércio eletrônico, você também pode aproveitar o painel de implementação em Settings › General Settings. As informações de contexto da página são atualizadas no painel de implementação a cada dez minutos, portanto mudanças muito recentes podem não ser exibidas.
Se o contexto da sua página não estiver validado, clique em Download Log (baixar arquivo de registros) para investigar mais detalhadamente quaisquer problemas. Esse registro agrega todos os problemas conhecidos das últimas 12 horas. Saiba mais sobre o painel Status Implementation e arquivos de registros.