Estudos de caso
Como a AdRoll envia & rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun
Olá, eu sou Peter, CEO da userfox. A userfox ajuda as empresas a enviarem e-mails de boas-vindas melhores e mais eficazes. Hoje, a maioria das empresas dá as boas-vindas aos novos clientes com um único e-mail de “bem-vindo ao meu produto!”.
O problema disso é que as pessoas estão ocupadas. Você esquece que se inscreveu em serviços, só se lembra dos serviços de que precisa ou que adora, e isso geralmente não acontece no segundo em que você se registra.
Então, a userfox envia uma sequência de e-mails: quando você se registra, alguns dias depois, uma semana depois, mais tarde no mês, e assim por diante. A indústria chama isso de uma sequência “drip”. Esses e-mails contêm dicas e truques legais sobre o seu produto, anedotas sobre quem são seus clientes e por que eles o adoram – e assim por diante.
Fazemos isso de forma muito simples. De fato, é muito mais rápido integrar a userfox ao seu aplicativo do que enviar aquele seu único e-mail de boas-vindas ruim. É uma decisão fácil, não é? basta colar um único trecho de javascript no seu rodapé – e voilà.
Como arquitetamos o nosso aplicativo
Framework: Ruby on Rails
Automação de e-mail & infraestrutura: Mailgun
Banco de dados: MongoHQ para MongoDB
Testes: Citrus
Como usamos o Mailgun
Somos uma empresa de e-mail marketing. Não somos uma empresa de infraestrutura, então contamos com o Mailgun para fazer coisas que, de outra forma, teríamos que construir. O Mailgun entrega todos os e-mails dos nossos clientes. A API de análises do Mailgun alimenta as análises da userfox. Por que deveríamos reinventar a roda com essas coisas, quando o Mailgun faz um trabalho tão fantástico? Além disso, você já tentou gerenciar um servidor de e-mail? O Mailgun faz o trabalho de Deus….
Nossa implementação básica usando o Mailgun fica assim. Construímos os dados da mensagem juntos:
data = {:to => email, :from => get_from(trigger), :subject => get_subject(info, email,
trigger), :text => "#{text}", :html => "#{html}", "h:X-Mailgun-Variables" => "{"id": "" + id + ""}"}
E então a colocamos em uma fila em um job via um POST REST. O Mailgun permite o envio via SMTP, mas preferimos a flexibilidade e a velocidade que vêm com o uso da API. Nosso post fica assim.
RestClient.post Userfox::Application.config.mailgun_endpoint + '/' + domain + '/messages', data, :Authorization => Userfox::Application.config.mailgun_auth {
|response, request, result|
return response
}
O Mailgun é muito poderoso quando se trata de enviar mensagens. Mas também executamos todas as nossas análises a partir do Mailgun. Quando uma mensagem é enviada, queremos saber se foi entregue e o que aconteceu com ela. Foi aberta, clicada, reportada como spam? O usuário cancelou a inscrição (claro, isso nunca aconteceria)? Todos esses dados podem ser enviados para o seu aplicativo com webhooks. Por exemplo, se você quisesse fazer um post em seu banco de dados quando um usuário clicar em um link, você poderia fazer isto:
AdRoll Code 2require 'openssl'
def verify(api_key, token, timestamp, signature)
return signature == OpenSSL::HMAC.hexdigest(
OpenSSL::Digest::Digest.new('sha256'),
api_key,
'%s%s' % [timestamp, token])
end class PostsController "Name", :title => "Title",
:content => "#{user} clicked on #{link}").save
end
end
render :text => "OK"
end
end
Isso diria a você que um usuário clicou em um e-mail e lhe daria informações sobre quem clicou. Você pode fazer isso para cliques, aberturas, cancelamentos de inscrição, reclamações de spam, devoluções, falhas e entregas.
Se você tem um negócio que precisa se comunicar com clientes, dê à userfox uma chance. Fizemos o trabalho duro por você.
“Conseguimos garantir melhor atendimento aos nossos profissionais de marketing usando o Mailgun. Eles contam conosco, e nós contamos com o Mailgun: e esse relacionamento nos ajuda a manter a credibilidade com nossos clientes.”