Registro de termos de busca em redirecionamentos
Na Wake Storefront, para que os termos pesquisados fiquem corretamente registrados nos relatórios de busca — principalmente nos casos em que há redirecionamento automático para uma página de destino — é necessário que as lojas implementem um ajuste no template. Esse ajuste garante que o termo digitado pelo cliente seja capturado na URL (através do parâmetro termoBusca) e enviado para o backend, permitindo que a busca seja contabilizada de forma precisa.
Assim sendo, siga o passo a passo abaixo no template da loja para verificar se existe busca
(quando a página é de resultados) ou termoBusca
(quando veio de redirecionamento).
Passo 1 - Components/utils/search_record_data.html
Components/utils/search_record_data.html
Um util de template que roda no browser e cria a variável global search_record_data com os dados necessários para registrar a busca via GraphQL.
<script>
const urlParams = new URLSearchParams(window.location.search);
const searchTerm = urlParams.get("busca") ?? urlParams.get("termoBusca");
let search_record_data = null;
if (searchTerm) {
search_record_data = {
input: {
query: searchTerm,
pageUrl: window.location.href,
page: {{ current_page ?? 1 }},
pageSize: {{ search_data.page_size }},
totalResults: {{ products.total_count }}
}
};
}
</script>
➜ Essa é a chave para capturar termos quando a loja redireciona e troca a chave do parâmetro
Passo 2 - Assets/JS/search.js
Assets/JS/search.js
Esse é o código responsável por enviar a mutation GraphQL que registra o termo da busca.
async function registerSearchRecord() {
if (search_record_data !== null)
{
await client.query(
`mutation SearchRecord($input: SearchRecordInput!) {
createSearchTermRecord(input: $input){
isSuccess
date
query
}
}`, search_record_data);
}
}
Passo 3 - aplicação na página destino (ex: Pages/hotsite.html)
É aqui que:
- o util acima é injetado para montar o search_record_data, e
- o bundle JS de search é carregado para enviar o registro.
{{ search_record_data search_data: data.hotsite current_page: current_page }}
...
{{ asset type: "js" paths: ["sort", "filter", "pagination", "products_per_page", "navbar", "mini_cart", "cart_from_spot", "user_login", "product", "glider", "wishList", "event_manager", "search"] }}
Como funciona na prática
- O cliente busca por um termo.
- Se houver redirecionamento, a URL de destino terá
?termoBusca=<termo>
. - O template da loja captura o parâmetro (
busca
outermoBusca
). - O termo fica disponível no objeto
search_record_data
e é registrado pela plataforma.
Resultado esperado
- Todas as buscas passam a ser registradas, incluindo aquelas que redirecionam diretamente para páginas de categoria, fabricante ou conteúdo.
- O lojista terá relatórios consistentes e completos, sem perda de dados por causa de redirecionamentos.
- As agências garantem que as estratégias de marketing baseadas em relatórios de busca serão muito mais confiáveis.
Updated 3 days ago