[AJUDA] Projeto FreeLance de Desenvolvedor Web Com Nodejs + Frontend Vanilla JS
Opa, boa noite a todos, tudo certo bem com vocês? Estou trabalhando em um projeto freelance e gostaria de pedir uma ajuda.
Contexto do problema:
Eu criei um servidor em nodejs para um site do meu cliente. O site dele é basicamente uma lading page que vende um produto. Quando a pessoa entra nessa lading page, ela faz uma requisição para o meu servidor e com base em algumas regras de negocio devolve para o frontend dados personalizados, como por exemplo um preço personalizados daquele produto, etc...
O problema:
A pessoa quando entra na lading page pode vim por diversas fontes (facebook, instagram, etc..). Quando a pessoa entra na lading page eu uso o document.referrer do javascript para identificar de onde aquela pessoa está vindo e envio essa informação para o meu servidor. O problema é que o document.referrer não funciona 100%, em varios casos a pessoa clica no anuncio dele no Facebook Ads e o meu document.referrer vem com uma string vazia e não com a referência do facebook... O mesmo acontece com os anuncios dele no Instagram... Minha pergunta é: Existe alguma forma mais confiavel e com uma menor margem de erro que eu consiga pegar a referência de onde o usuário está vindo antes de acessar a lading page?
Observações:
-
Devido a algumas regras de negocio da aplicação eu não posso fazer diversos sites ou rotas na aplicação para, por exemplo: "meusite.com/facebook" essa rota será apenas para pessoas que vierem do facebook, etc...
-
Também não posso utilizar um queryparam, como por exemplo: "meusite.com/?source=facebook"
-
Ambos os casos não podem ser utilizados porque eu preciso garantir 100% de certeza que a pessoa veio do facebook. Nesse seu cenario se a uma pessoa clicar no link meusite.com/?source=facebook no whatsapp por exemplo, será considerado que ela veio do facebook, mesmo que ela tenha vindo do whatsapp. E por algumas questõesde regra de negocio do meu cliente e da forma que ele trabalha hoje esse caso irá acontecer com bastantante frequência. Nesse meu caso eu preciso que a pessoa entre em meusite.com e eu identifique se ela veio do facebook, instagram, etc... sem um link ou parametro na url especifico e que tenha uma precisão maior que o document.referrer
Obrigado pela atenção >:)
O Facebook possui o "Pixel" que faz isso que você precisa. Ele consegue identificar que o usuário veio do Facebook/Instagram
vc nao pode ter diversas rotas que setam um cookie de acordo com seu canal (ex source=facebook quando vem pelo meusite.com/facebook) e então redireciona pra meusite.com?
Você pode usar um parâmetro na url, depois pega o valor desse parâmetro front e enviar pro back.
boa tarde, falaram isso mais ou menos nos outros comentarios. Vejo muita gente usando os parâmetros utm_x.
Não sei como está essa dinâmica dos links no facebook e instagram, mas acredito que você disponibilizaria assim: meusite.com/index?utm_source=facebook no próprio facebook e no instagram é só mudar o parâmetro.
Acredito que pormais se seja vanila você poderia jogar para o servidor com relatova facilidade e não precisaria criar rotas para cada plataforma.
se mais tarde for usar um analitics, poderia usar os mesmos parâmetros.
Acho que você pode fazer uma aplicação proxy que valida de onde veio o request do usuario.
Boa noite! Solução alternativa: antes do cliente comprar o produto o formulário pergunta de onde ele veio, do Facebook, Instagram ou outra fonte. Já vi vários sites fazendo esse tipo de pergunta.
Outra solução seria usar ferramentas de terceiros parecidadas com o Google Analitics.
A tendência agora é primar pela privacidade dos usuários, informações de navegação ficarão cada vez mais difíceis de obter. Deixar explícito e de forma amigável que você quer saber de onde o usuário veio e que você vai armazenar esse dado é uma boa também.
Veja só, o que você pode fazer é criar redirecionamentos e usar o storage para a aplicação do client, ou até mesmo cookies, já que existe o caso de voce criar suas próprias rotas, que podem fazer entender o que cada coisa é cada coisa, registra cada manipulação que seja importante do teu lead, se ele precisa vir da página principal, cria um redirecionamento com meu.site/veio-do-fb para internamente guardar o localstorage de onde o usuário veio, e quando for fazer os gets já recebe essa informação, já que você pode fazer o get com esses paramentros como query por de baixo dos panos
Vi que mencionou nao poder usar query params. Por qual motivo não pode utilizar? Acredito que explicando isso fica mais fácil te ajudar com base nas suas restrições!
Um jeito de vc ter certeza se o acesso veio a partir de um clique de anúncio é checar se o IP de origem do acesso. Normalmente quando vem de campanha no facebook, o IP reside em uma ASN do grupo meta ou facebook. Isso também funciona para Google Analytics e é assim que WAFs cpmo cloudflare por exemplo nos permitem filtrar regras por certas ASNs confiáveis.