Matcher
Um Matcher na deco é uma função que retorna um booleano
Matchers: Potencializando as Variants
Os Matchers são blocos essenciais no deco que desempenham um papel fundamental ao potencializar as Variants. Eles permitem que você avalie condições específicas e segmente seu público com base em vários critérios. Ao aproveitar os Matchers, você pode criar experiências personalizadas e dinâmicas para seus usuários. Ao criar um novo Matcher Block, você pode chamá-lo de Segmento.
Compreendendo os Matchers
No deco, os Matchers são criados usando funções dentro do código do seu site. Eles são ferramentas poderosas que permitem que você defina condições e avalie se um usuário pertence a um determinado segmento. Os Matchers servem como base para segmentar grupos específicos de usuários e personalizar o conteúdo com base em suas características ou comportamentos.
Os Matchers padrão estão prontamente disponíveis no deco e abrangem uma variedade de condições comuns, como características do usuário, data e horário, tipo de dispositivo, localização geográfica e seleção aleatória (testes A/B). Esses Matchers predefinidos oferecem flexibilidade e permitem que você personalize as variações de conteúdo com base nessas condições.
No entanto, o poder dos Matchers vai além das opções padrão. O deco oferece a capacidade de criar Matchers personalizados para atender às necessidades específicas do seu negócio. Com Matchers personalizados, você pode estender a funcionalidade do deco para integrar fontes de dados externas, como buscar dados de um sistema Salesforce ERP, e usar esses dados para determinar o segmento ao qual um usuário pertence.
Matchers Nativos
Matcher | Casos de Uso Comuns | Sticky |
---|---|---|
Random Matcher | Testar A/B na página com 50% do tráfego | session |
Cron Matcher | Alterar uma página toda sexta-feira entre 10h e 11h | none |
Date Matcher | Criar a página da Black Friday/ Agendar banners para aparecerem em datas e horários específicos | none |
Device Matcher | Exibir uma página diferente com base no dispositivo do usuário | none |
Desenvolvendo um Novo Matcher
Em seu repositório, os Matchers estão localizados na pasta matchers
, assim
como as seções e loaders. Vamos criar um novo matcher chamado MeuMatcher.ts
para ilustrar o processo.
A assinatura do nosso matcher seguirá a seguinte estrutura:
No exemplo acima, a função MeuMatcher
aceita props
como entrada, permitindo
que você passe quaisquer dados necessários para o matcher. Além disso, ela
recebe um objeto ctx
do tipo MatchContext
, que contém as informações da
solicitação. Você tem a flexibilidade de realizar as operações desejadas dentro
da função do matcher e retornar um valor booleano com base na avaliação.
Vamos dar uma olhada no exemplo MatchDate
da biblioteca do deco:
Neste exemplo, a função MatchDate
atua como um Matcher. Ela aceita props
como entrada, que inclui as propriedades start
e end
. A função avalia se a
data atual está dentro do intervalo de datas especificado. Se nenhum valor de
start
ou end
for fornecido, ele será considerado true
. A função
MatchDate
retorna um valor booleano com base na avaliação.
Os
Matchers também podem ter um comportamento “sticky”, o que é particularmente
útil para cenários de testes A/B. Para tornar um Matcher “sticky” na sessão do
usuário, você pode exportar uma constante chamada sticky
com o valor
"session"
, conforme mostrado abaixo:
Aqui está um exemplo de implementação do MatchRandom
usando a funcionalidade
de sessão “sticky”:
No exemplo MatchRandom
, a função matcher MatchRandom
aceita traffic
como
prop, representando a porcentagem de tráfego que deve corresponder à condição.
Ao gerar um número aleatório entre 0 e 1, a função determina se o valor gerado é
menor que a porcentagem traffic
especificada. O Matcher retorna true
ou
false
com base nessa avaliação.
Os Matchers oferecem grande flexibilidade para personalizar e estender a funcionalidade do deco para atender às suas necessidades específicas. Com a capacidade de criar Matchers personalizados, você pode integrar fontes de dados externas, realizar cálculos complexos e implementar lógicas intrincadas para determinar a segmentação do usuário e fornecer experiências personalizadas.
Aproveitando o Poder dos Matchers nas Variants
Os Matchers são a base das Variants no deco. Ao combinar Matchers com diferentes condições, você pode criar variações de conteúdo direcionadas para segmentos de usuários específicos. As Variants permitem que você modifique e personalize o conteúdo dinamicamente com base na avaliação dos Matchers.
Ao configurar as Variants, você pode selecionar o Matcher apropriado para cada segmento e definir as condições que determinam se um usuário pertence a esse segmento. Ao utilizar Matchers nas Variants, você pode ajustar a experiência do usuário, otimizar a entrega de conteúdo e fornecer interações personalizadas.