A atribuição de marketing visa atribuir o crédito de uma compra aos canais de marketing (anúncios, campanhas de email etc.) com os quais o usuário interagiu antes de efetuar a compra. Eventualmente, isso poderia permitir que os profissionais de marketing alocassem melhor seus orçamentos entre os diferentes canais de marketing, a fim de aumentar as vendas e melhorar o ROI.
Na primeira parte deste post, assumimos que tínhamos os dados no formato correto, antes de aplicar qualquer tipo de modelagem de atribuição. Como você provavelmente já sabe, a vida nem sempre é desse tipo. Esta postagem do blog se concentrará exclusivamente no processamento dos dados brutos para que a modelagem possa ocorrer. Falaremos sobre o rastreamento de clientes, sessões e outros conceitos-chave por trás desse processo. Também exploraremos alguns trechos de código para implementar nosso processamento.
Table of Contents
Acompanhe seus clientes
Primeiramente, primeiro, para apreciar a relevância dos canais de marketing, independentemente do algoritmo usado, precisamos construir um mapa de todas as interações que levaram um cliente a comprar um item. Isso significa rastrear e coletar todas as interações que cada visitante teve com o serviço: suponhamos, por exemplo, que este seja um site de revenda a partir de agora.
Isso geralmente é feito usando cookies . Um cookie é um pedaço de texto enviado ao seu navegador a partir dos sites que você visita, que é armazenado no seu dispositivo. Os cookies permitem que os sites o identifiquem quando você retornar. Dessa forma, todas as páginas que você visita em um site podem ser rastreadas até você. No entanto, para fins de atribuição de marketing, isso não é suficiente. De fato, é necessário identificar as ações executadas por um determinado usuário no site (comprar, adicionar um item ao carrinho, etc.), mas também identificar o caminho que o usuário seguiu para chegar ao site, também conhecido como referenciador (por exemplo, eles clicam em um link patrocinado no google ou abrem um email?) A maioria das ferramentas disponíveis oferece soluções para rastrear o tráfego de origem ( Google Analytics , MixPanel, Heap , etc) usam uma técnica simples chamada parâmetros UTM . Os parâmetros UTM são tags anexadas ao URL de referência no site do anunciante. Quando um usuário clica em um anúncio (e é redirecionado para o site do varejista), as informações relevantes (o identificador do anúncio, a campanha em que ele se enquadra etc.) são enviadas ao sistema de rastreamento. Aqui está um exemplo de uma URL com parâmetros UTM:
Quando um usuário clica nesse link, o site do varejista saberá que ele clicou em um anúncio na página do Twitter da empresa , que está relacionada à operação da campanhaY , que foi configurada nas mídias sociais .
Sessionization:
Vamos supor agora que somos capazes de rastrear eficientemente as interações de nossos clientes com o site. Este é apenas o começo. Agora precisamos organizar essas interações para construir a jornada de cada cliente para a conversão. Há vários fatores a serem considerados:
- Para construir essas jornadas, precisamos de um mapa preciso do comportamento de navegação de cada cliente. É aqui que entra em cena a sessão . Uma sessão do cliente é o período durante o qual o cliente permanece ativo no site, uma medida útil para a atividade do cliente. Portanto, se você estiver navegando por um catálogo de produtos na Amazon, por exemplo, e fizer uma pausa de 10 minutos para voltar mais tarde, essa experiência contará como 2 sessões distintas, separadas por 10 minutos. Considere o exemplo a seguir, que apresenta cada página do site visitado por um usuário específico em pontos azuis, ordenados em tempo:
Ponto lateral lexical: nos referiremos aos pontos azuis como pontos de contato a partir de agora. Você deve pensar em um ponto de contato como um registro da visita do cliente ao site do varejista, bem como um registro do referenciador correspondente.
Podemos distinguir claramente grupos de eventos que parecem pertencer a uma experiência única de navegação do cliente. Para os fins desta postagem no blog, vamos nos referir a esses clusters como microssessões . Precisamos definir a quantidade de tempo que precisa passar antes de avaliar a próxima visita ao site como parte de uma nova microssessão. O valor desse parâmetro de tempo precisa ser definido com cuidado e geralmente depende do próprio negócio. Convencionalmente, um valor de 30 minutos é usado. Aqui está a aparência dos resultados desse processo com um valor do parâmetro time igual a T_inactivity .
2. Queremos reconstruir a jornada do cliente e, para isso, precisamos apenas dos pontos de contato com referenciadores vindos de fora do site. Por quê? Porque esses seriam os links dos anúncios que colocamos nos sites dos anunciantes. Vamos tentar imaginar uma jornada típica do cliente. O primeiro ponto de contato é quando o cliente clica em um anúncio do Twitter que o redireciona para o site. Em seguida, o usuário navega por um catálogo de produtos, o que gera pontos de contato adicionais. Não precisamos disso no contexto da análise de atribuição, para que possam ser descartados. O objetivo é manter apenas o primeiro ponto de contato de cada microssessão, como mostrado abaixo:
A partir de agora, trataremos apenas desses pontos de contato filtrados (em pontos azuis escuros). Vamos agora adicionar os eventos correspondentes às conversões no mix (em estrelas azuis claras). Lembre-se de que uma conversão neste exemplo é simplesmente o evento de compra.
Agora, precisamos definir claramente o que constitui uma jornada do cliente : uma jornada do cliente é uma sucessão de pontos de contato que podem ou não terminar em uma compra. Como você pode ver na imagem acima, um usuário pode fazer várias compras ao longo do caminho, o que significa que mais de uma jornada pode ser vinculada a um cliente. Vamos nos referir a essas jornadas como sessões macro. Como podemos distinguir essas macrossessões? Por exemplo: depois que uma conversão ocorreu no momento T, quais são os pontos de contato que levaram a esse evento que podemos razoavelmente considerar como parte dessa macro sessão específica? Devemos considerar um clique no anúncio que ocorreu um ano antes da compra como parte da jornada do cliente? Novamente, esse parâmetro temporal é crucial e precisa ser definido com as necessidades específicas da empresa em mente. Para o exemplo a seguir, vamos nos referir a esse parâmetro como T_window (o padrão é 30 dias no Google Analytics).
O valor de T_window define quantos pontos de contato antes da compra devemos considerar para a sessão de macro atual e, portanto, define o limite dessa sessão de macro.
É importante observar que uma macro sessão não necessariamente termina com uma conversão: a macro sessão 2, por exemplo , não leva a uma conversão, pois o tempo entre o último ponto de contato desta sessão e o próximo é maior. do que T_window . Essa é a principal diferença entre o modelo heurístico e o algoritmo (se você quiser saber mais sobre esses modelos e ainda não leu a primeira postagem no blog, dê uma olhada aqui) Os modelos heurísticos vinculam o evento de compra a um ou mais pontos de contato com base em regras fixas; portanto, eles precisam considerar apenas as sessões de macro que terminam com uma compra. Por outro lado, os modelos algorítmicos consideram as sessões de macro que levam a uma compra e as que não o fazem, a fim de desvendar o relacionamento entre a jornada do cliente e o evento de compra.
Vamos ser técnicos
A seguir, implementaremos uma versão básica dessa sessão de duas etapas. Para impedir que esta postagem do blog se torne muito pesada, vamos apenas dar o primeiro passo. No entanto, você pode encontrar o código subsequente no apêndice.
Etapa 1: reconstrução de micro-sessões
Vamos supor que temos um histórico de interações registradas do cliente com o site do varejista no seguinte formato:
log_data : user_id | ponto de contato | timestamp
Cada linha do conjunto de dados de entrada é um registro da ação de um cliente. Aqui, o touchpoint mantém o valor do referenciador. Pode ser um anúncio, por exemplo, se o usuário acessar o site de fora ou uma das páginas do site do varejista, se o cliente estiver navegando no site.
Exemplos:
user_12FG4 | shopping_cart_page | 12–09–2017 14:45:06
user_76DF5 | Anúncio no Facebook | 09–12–2017 09:55:36
Começaremos construindo as microssessões. Nosso objetivo é criar uma nova tabela com o esquema:
log_data_sessions: user_id | user_micro_session | ponto de contato | timestamp
onde user_micro_session seria um identificador exclusivo para a microssessão de cada usuário.
Como a regra foi estabelecida para encerrar a microssessão quando o tempo entre dois cliques for maior que T_inatividade , calcularemos a diferença de tempo entre cada dois pontos de contato de cada cliente. Para isso, usaremos o Postgres e as funções de janela da seguinte maneira:
O próximo passo é comparar todos os valores da coluna time_difference com o valor de T_window , que definiremos como 30 minutos neste exemplo. Vamos sinalizar os casos em que o valor de time_diferença é maior que T_window com um sinalizador 1 e, ao mesmo tempo, atribuir a todos os outros casos um valor igual a 0. Vamos construir no código anterior:
Vamos agora criar um novo session_id para um cliente, sempre que a coluna new_micro_session for igual a 1. Uma solução possível para isso é concatenar o valor user_id com a soma acumulada da coluna new_micro_session .
A parte crítica aqui é reter apenas o primeiro ponto de contato de cada micro-sessão do cliente, conforme explicado anteriormente:
É isso aí! Isso cortará todas as interações do cliente em várias microssessões. Ainda precisamos construir as macrossessões, que são relativamente semelhantes às que fizemos aqui; o código para esta parte está no apêndice.
Limitações
Escusado será dizer que esta é a etapa mais crucial para iniciar seu projeto de atribuição de marketing. O pipeline de ingestão de dados deve permitir o rastreamento de todas as informações específicas do cliente que usamos acima. De experiências anteriores, esse é o estágio em que a maioria das organizações falha e percebe que faltam alguns dados importantes para realizar a análise de atribuição.
Uma das dificuldades mais recorrentes que as organizações enfrentam nesse momento é a coleta de dados de clientes em seus dispositivos. Imagine que você está oferecendo seus serviços por meio de um site, além de um aplicativo Android / IOS que pode ser executado em smartphones e tablets. Como você rastreará ações realizadas em dispositivos diferentes para o mesmo cliente? A resposta se torna trivial se o seu serviço exigir contas de clientes (por exemplo, usando um nome de usuário / senha), mas é muito mais difícil se esse mecanismo não existir.
Outra dificuldade aparece quando a organização vende seus produtos / serviços através de uma loja física. Torna-se quase impossível relacionar uma compra feita em uma loja física com a atividade digital do cliente.
Conclusão
Neste ponto, você tem todas as ferramentas necessárias para iniciar (ou reconsiderar) sua estratégia de atribuição de marketing. Mas ainda há um ponto vital que não abordamos. Na primeira publicação do blog , discutimos vários modelos de atribuição de marketing: modelos heurísticos (primeiro clique, última lambida, etc.) e modelos algorítmicos (modelos de teoria dos jogos, modelos markovianos, modelos da teoria da sobrevivência, etc.). Isso levanta uma questão importante sobre qual modelo realmente usar. Existe um melhor modelo único para todas as situações? Ou existem modelos com melhor desempenho para empresas e dados específicos?
