Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

T.Colucci

[Resolvido] Como gerar estatísticas de e-mail marketing

Recommended Posts

Boas galera, tudo bem?

 

Preciso de ajudar com o seguinte. Como gerar algumas estatísticas de um e-mail markting? Tipo: quantas pessoas abriram, quantos voltaram e etc... essas coisas. Estou meio perdido, preciso de uma luz inicial.

 

 

Podem me ajudar?

 

Fico grato.

 

 

 

Abraço! http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso pode ser tão simples quanto complexo.

 

você pretende desenvolver um próprio, certo ?

 

sugiro que comece devagar para entender, pegar a a lógica e com o tempo poderá aprimorar conforme suas necessidades.

 

 

Ao enviar um email marketing, envie links que contenham um identificar único para aquele email.

Por exemplo,

 

O e-mail foo@bar possui ID 1 na sua base de dados.

Ao enviar o email para essa conta, adicione o ID desse email nos parâmetros dos links prmocionais

 

exemplo

 

olá foo@bar,
no no o nonono no
lorem ipsum no nono 
<a href="http://localhost/promo/?ref=1">acesse aqui!</a>

Ao clicar no link, abrirá a página com o parâmetro.

Resgate o parâmetro e grave log contendo data, hora, ID, etc..

 

Baseado nos logs, gere as estatíticas..

 

 

é simples assim..

 

 

Para saber se o usuário abriu o email é um pouco complicado, pois precisa ter um retorno.

Muitas vezes o usuário lê a mensagem mas não clica em nada. Apenas faz leitura.

Uma técnica simples e eficiente, porém, não muito satisfatória é enviar email com imagens.

Adicione parâmetros em alguma imagem leve e simples, por exemplo

 

<img src="localhost/promo/logomarca.gif?ref=1">
Ao carregar a imagem no corpo da mensagem, o prâmetro será enviado ao server, onde será gravado o logs.

 

clientes de e-mail, por configuração padrão, bloqueiam exibição de imagns, por isso, a contagem de quem leu ou não nunca será exata. DEpende muito se o usuário permitir a exibição da imagem.

 

 

 

entendeu +- ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Hinon!

 

Pow, que beleza! Está ótimo!

 

Imaginei que seria algo com parametros mesmo! Muito boa a explicação!

 

 

Mas agora me surgiu uma dúvida:

Adicione parâmetros em alguma imagem leve e simples, por exemplo

 

<img src="localhost/promo/logomarca.gif?ref=1">

 

Ao carregar a imagem no corpo da mensagem, o prâmetro será enviado ao server, onde será gravado o logs.

Nesse caso, qual arquivo no meu server buscaria esses parametros? Como defino isso?

 

 

Mais uma vez, obrigado! Está me ajudando muito grande amigo!

 

 

Valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode ser qualquer arquivo... o importante é obter o parâmetro que identifica de quem é o email

 

 

por exemplo, você quer enviar uma promoção

 

<a href="http://localhost/promocao_relampago/?ref=1">promoção relâmpago!
ogferta imperdível!</a>

o usuário abrirá a página da promoção e nessa página, deve existir algum script pronto para receber os parâmetros provindos do link do email.

 

para otimizar mais as estatísticas, pode também coletar refefências sobre qual link o cliente abriu

 

 

vamos supor, que hoje você envia a promoção X, mas amanhã envia a prmoção Y

 

<a href="http://localhost/promocao_relampago/?ref=1">promoção X</a>

<a href="http://localhost/promocao_relampago/?ref=1">promoção Y</a>

nesse caso ficaria inviável descobrir de onde veio o cliente..

 

por isso, crie também um controle para cada link

 

exemplo

 

<a href="http://localhost/promocao_relampago/?promo=1&ref=1">promoção X</a>

<a href="http://localhost/promocao_relampago/?promo=2&ref=1">promoção Y</a>

esses são dados básicos que deve guardar para gerar estatíticas eficientes.

 

o restante é análise e marketing.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa! Belezera hinom!

 

Realmente, a entrada de dados é simples. Agora uma outra pergunta:

 

Você sabe de algum framework ou biblioteca que com esses dados, gerem os graficos? Você me recomenda algum?

 

 

Mais uma vez, obrigado! Esta me ajudando bastante! http://forum.imasters.com.br/public/style_emoticons/default/natal_laugh.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

no CakePHP tem uns recursos legais.

 

ZEnd FRamework também..

 

mas escolher um framework é algo mais pessoal..

 

existem dezenas de frameworks php, por isso, procure aprender mais sobre o php, faça um sisteminha proprio e simples adquira experiência, etc..

 

com o tempo, vá testando os diversos frameworks e comece a utilizar aquele que for melhor para o seu caso.

 

pra gerar gráficos, pesquise sobre o "JPGraph"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

 

Ah, quando disse sobre framework, pensei em um que só gere graficos, quanto ao zend e cake, eu descarto. Prefiro desenvolver na unha mesmo! :P

 

Vou dar uma olhada nesse JPgraph, parece que é exatamente isso que preciso. Ja descobri como se pega os dados, agora é "só coloca-los na tela", hehehe.

 

 

Mais uma vez obrigado, dúvida muito bem respondida!

 

Obrigado.

 

 

 

Ps.: Te pago uma ceva la no boteco do imasters! =)

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

<img src="localhost/promo/logomarca.gif?ref=1">
Ao carregar a imagem no corpo da mensagem, o prâmetro será enviado ao server, onde será gravado o logs.

 

 

hinom, entendi tudo...

e é muito simples, pegar se foi clicado ou não!!

 

não entendi onde pegarei esses LOGS?

 

tem como me dar um retorno...

 

abração e HOW HOW HOW http://forum.imasters.com.br/public/style_emoticons/default/natal_w00t.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom...

 

basicamente, gere (crie) os logs..

 

tem mesmo conhecimento em php ?

 

sabe usar GET, POST ?

 

usar variáveis, funções, etc.. ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei sim Hinon...

 

Mas com imagen nunca mexi não...

 

Entrei no servidor, e achei um arquivo de logs.

La dá para ver. mas o ruim que pega todas ações no server.

 

Queria criar um específico para a imagem do e-mail.

 

Como seria?

 

Abraços e ótima semana.

Brigado pela força!

 

No log grava arquivos como esse:

2009-12-20 23:16:25 W3SVC13991 SERVIDOR4 75.126.151.155 GET /email/reveillon2009.jpg ref=1 80 -

 

aí eu sei se a pessoa viu a imagem...

porém grava tudo junto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

os logs é você mesmo que deve criar.

 

abstrair os logs do apache é inviável..

 

<?php

$v  = 'ref'; // ID do cliente (email)
$$v = false;
if( isset( $_GET[ $v ] ) )
{

    /*
    Converte os dados, removendo quaisquer caracteres não numéricos. 
    É apenas uma exemplo, supondo-se que o ID do liente seja somente numeros. Portanto, aplique a regra para o seu caso específico)
    */
    $$v = (int)$_GET[ $v ];

    // verifica se a string original é diferente da string após o tratamento dos dados.
    // se for diferente, não deve prosseguir com o log, pois pode ser alguma tentativa de fraude ou má formatação da URL. 
    // Caso prossiga, poderá gerar logs errôneos
    if( strlen( $_GET[ $v ] ) != $$v )
    {
        $$v = false; // erro (possivel tentativa de fraude ou dados mal formatados)
    }

}

if( $$v )
{

    // AQUI grava o log no banco de dados..
    // primeiramente, verifique se o valor da variável $ref existe no banco de dados de clientes, se existir, prossiga, fazendo a gavação de logs..

}


// esse techo abaixo exibe o output com formato de imagem
$im = imagecreatefromjpeg( 'logo.gif' );
echo imagejpeg($im);
header("Content-type: image/gif");

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

hinom...

 

entendido o código...

porém... onde adicionar o código?

 

 

Explicarei como eu fiz....

 

 

Enviei um e-mail, em que na imagem logo.jpg define da seguinte forma:

logo.jpg?ref=codCliente

 

Ao clicar na imagem principal, redireciona para o site assim:

www.x.com.br?email=codCliente

dessa forma adiciono no banco de dados

 

Clicar em retirar cadastro

www.x.com.br?emailN=codCliente

 

a única dúvida é como saber se a pessoa viu o e-mail...

como pegar o log da imagem... onde colocar o código?

 

abraços e muito obrigadoO!

;D

Compartilhar este post


Link para o post
Compartilhar em outros sites

<img src='http://foo.bar/logo.php'>

seria melhor criar uma regra de reescrita de url especifica para o caso, onde o logo.jpg seria trocado por .php no servidor.

isso evitarah bloqueios de alguns servidores de email.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum...

 

entendi...

 

usaria aquele código que você colocou acima...

dessa forma o logo.php iria retornar uma imagem e gravar os logs...

 

 

 

MAS SÃO TODOS OS E-MAILS QUE ACEITAM

<img src='http://foo.bar/logo.php'>

 

POIS A MAIORIA LÊ APENAS HTML....

 

abraços hinom!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem filtro anti-spam que detecta a nomenclatura dos links nas tags <img src=...>

 

se for diferente de gif, jpg, png, etc.. alguns bloqueiam e inclusive jopgam na caixa de spam..

 

por isso, o truquezinho com rewrite rule pode ajudar a driblar o bloqueio

 

 

manda bala aí..

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendido...

vou fazer dessa forma então...

 

colocarei no e-mail:

<img src='http://foo.bar/logo.jpg'>

 

e dentro do servidor... terá uma regra que ao invez de ler logo.jpg, irá ler logo.php

dessa forma dentro do logo.php coloco:

<?php

$v = 'ref'; // ID do cliente (email)
$$v = false;
if( isset( $_GET[ $v ] ) )
{

 /*
 Converte os dados, removendo quaisquer caracteres não numéricos. 
 É apenas uma exemplo, supondo-se que o ID do liente seja somente numeros. Portanto, aplique a regra para o seu caso específico)
 */
 $$v = (int)$_GET[ $v ];

 // verifica se a string original é diferente da string após o tratamento dos dados.
 // se for diferente, não deve prosseguir com o log, pois pode ser alguma tentativa de fraude ou má formatação da URL. 
 // Caso prossiga, poderá gerar logs errôneos
 if( strlen( $_GET[ $v ] ) != $$v )
 {
 $$v = false; // erro (possivel tentativa de fraude ou dados mal formatados)
 }

}

if( $$v )
{

 // AQUI grava o log no banco de dados..
 // primeiramente, verifique se o valor da variável $ref existe no banco de dados de clientes, se existir, prossiga, fazendo a gavação de logs..

}


// esse techo abaixo exibe o output com formato de imagem
$im = imagecreatefromjpeg( 'logo.gif' );
echo imagejpeg($im);
header("Content-type: image/gif");

?>

aí é só alegria certo?

 

abraçosSSS

Compartilhar este post


Link para o post
Compartilhar em outros sites

aí é só alegria certo?

 

Quase,

 

Está tudo no caminho correto, porém você ainda terá um problema; Quando um email com imagens chega ao client é comum que as imagens não sejam exibidas e se isso realmente ocorrer você não será informado sobre a abertura do email enquanto o usuário não habilitar a exibição das imagens.

 

Existe também alguns clients de email que 'percebem' que você está gravando o log (devido as características dos parâmetros GET da imagem) e avisam o leitor que O remetente pode estar tentando identificá-lo e assustar o usuário.

 

Para evitar a segunda situação, evite GETs, utilize uma nomenclatura única para a imagem de forma que o próprio nome dela possa identificar o destinatário e dessa forma registrar a informação que você precisa. Você conseguirá fazer isso da mesma forma indicada pelo Hinom, utilizando mod_rewrite, porém, sem enviar parâmetros via GET para o servidor:

 

<img src="http-~~-//dominio.com.br/mensagens/img5509.jpg" alt="imagem" />

 

Veja que foi utilizado uma pasta mensagens antes do nome da imagem; essa pasta é apenas para facilitar a reescrita e não precisa existir fisicamente no seu servidor. Com isso você poderá ter uma regra assim:

 

.htaccess

RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule mensagens/img([1-9][0-9]+)\.jpg logo.php?v=$1

Dessa forma, o seu logo.php receberá o parâmetro v com o valor numérico da imagem:

 

img1.jpg http://forum.imasters.com.br/public/style_emoticons/default/seta.gif logo.php?v=1

img123.jpg http://forum.imasters.com.br/public/style_emoticons/default/seta.gif logo.php?v=123

img899092.jpg http://forum.imasters.com.br/public/style_emoticons/default/seta.gif logo.php?v=899092

 

E você terá resolvido o segundo problema, mas ainda assim, você não será avisado sobre a abertura do email enquanto o usuário não habilitar a exibição das imagens.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.