Programação / PHP

E-mail marketing com ActiveCampaign via API

Que tal criar um sincronismo perfeito de sua base de clientes ou leads para trabalhar e-mail marketing com ActiveCampaign via API. Vamos além? Que tal aprender a consumir uma API do jeito certo?

Por Robson V. Leite

Publicado por Robson V. Leite
em 28/11/2017 às 13h20

Lista VIP UpInside

Entre para nossa lista VIP e receba vídeo aulas, artigos e tutoriais exclusivos e com prioridade

  QUERO ENTRAR

Aula exclusiva UpInside Play

Acessar aula no Play

Compartilhe:

Saudações meus queridos, Robson aqui com mais uma aula para o UpInside Play. Nesta vamos aprender a trabalhar E-mail marketing com ActiveCampaign via API e criar um sincronismo perfeito de contatos.

Com isso você poderá aplicar diversas estratégias e ter uma base hipersegmentada para enviar os e-mails certos para as pessoas que devem receber.

Durante a vídeo aula realizamos entendemos os conceitos da integração, vimos os requisitos, realizamos teste de consumo com o Postman, e transportamos essa integração para uma classe PHP. Seguem os links:

ActiveCampaign:

Nossa ferramenta de marketing automation, que na minha opinião (mesmo depois de usar o infusionSoft por meses) é a melhor do mercado. Você pode criar uma conta gratuita na ferramenta e testar por 14 dias. Gostou? Com 9 doletas você já pode ter 500 contatos com envio de e-mail ilimitado e acesso as automações.

Aqui o link do ActiveCampaign

API e documentação: Acesse esse link

Postman:

Software utilizado para testar integrações com APIs de qualquer tipo. Disponível para MAC, Windows ou linux em versões gratuitas e pagas (para equipe). Indispensável para você que vai criar ou consumir apis.

Link do Postman

A Classe Jedi:

E por fim a classe que construímos durante a aula do UpInside Play. Você pode baixar ela abaixo, mas lembre-se que sem a aula terá apenas a execução. O importante é consumir a aula e fazer junto pois tenho certeza…

...além de integrar com o AC você terá o conhecimento para consumir diversas outras APIs rest.

Link da classe jedi no GitHub

O que aprendemos?

Como você pode perceber, temos os métodos de consulta e de cadastro de leads ativos via API com essa classe. Também tem um arquivo de exemplo que você pode consultar. Nossa integração básica ficaria assim:

Instanciando a classe:

use Source\Models\ActiveCampaign AS Active;
$active = new Active;

Obtendo dados do contato:

$active->getByEmail("[email protected]");
var_dump($active->getCallback());

Cadastrando contato:

$active->addActive("Nome", "Sobrenome", "[email protected]", [1, 3, 4], "Mentor, Work Control, UpInside Play");
var_dump($active->getCallback());

Indo além:

Com esses dois métodos já temos como sincronizar nossa base, pegar aqueles leads ou usuários que temos em nosso banco e mandar todos para o AC. Nós fazemos isso com uma CRON todos os dias ás 8 horas da manhã...

...e com isso temos a base sincronizada para trabalhar as campanhas durante o dia.

Mas indo além podemos controlar nossas automações com gatilhos de TAGS. Se você conhece o ActiveCampaign sabe que é possível adicionar, remover ou controlar automações de e-mail simplesmente adicionando ou removendo essas tags do contato.

E não para por aí, também conseguimos adicionar a listas, iniciar fallow-ups, segmentar campanhas. Tag é vida, e é gatilho para tudo. Vamos implementar sua classe?

Adicione tags:

Para isso abra sua classe JEDI para juntos adicionarmos mais um método que vai te possibilitar adicionar uma ou várias tags ao contato. Ele fica assim:

/**
* tagAdd: Adiciona tags a um contato pelo e-mail
* @param string $email Email do usuário que vai receber as tags
* @param array $tags Tags em um array ['tag1', 'tag2']
* @return object mensagem de sucesso ou não.
*/
public function tagAdd($email, array $tags)
{
$this->action = 'contact_tag_add';
$this->params['email'] = $email;

$i = 0;
foreach ($tags as $tag) {
$i++;
$this->params["tags[{$i}]"] = $tag;
}
$this->post();
}

E com essa cara já ativo na classe, agora você pode segmentar ele por cliente, comprou, não comprou, chegou a uma etapa do funil ou não.

Enfim, o uso fica assim:

$active->tagAdd("[email protected]", ['Aluno Mentor', 'Club Ativo']);
var_dump($active->getCallback());

Simples? No exemplo acima eu segmentei o contato dizendo que ele agora é um aluno do nosso curso mentor sobre como criar e viver de infoprodutos. Ainda marquei ele como um aluno ativo no club.

Consegue ver as possibilidades? Em um e-commerce se ele comprar uma camiseta nike, talvez ele seja um esportista, e sabendo disso posso disparar uma automação com dicas de esportes e colocar meus produtos dentro desse rico conteúdo…

...maaas nesse mesmo exemplo digamos que o meu quirido [email protected] cancelou a compra ou atrasou o club... ou devolveu a camiseta da nike vai ;)

Remova tags:

Agora então precisamos remover as tags, então vamos mais uma vez abrir nossa classe JEDI e adicionar mais um método.

/**
* tagRemove: Remove tags de um contato pelo e-mail
* @param string $email Email do usuário que vai perder as tags
* @param array $tags Tags em um array ['tag1', 'tag2']
* @return object mensagem de sucesso ou não.
*/
public function tagRemove($email, array $tags)
{
$this->action = 'contact_tag_remove';
$this->params['email'] = $email;

$i = 0;
foreach ($tags as $tag) {
$i++;
$this->params["tags[{$i}]"] = $tag;
}
$this->post();
}

Lindo, agora ficou mais fácil segmentar sua base do que andar pra frente né? Haha, a execução desse cara fica bem parecida, saca só:

$active->tagRemove("[email protected]", ['Aluno Mentor', 'Club Ativo']);
var_dump($active->getCallback());

E pronto, agora o [email protected] não é mais aluno do mentor, e nem tem o club ativo. Eu poderia agora adicionar um Club Atrasado, ou ainda se ele trocou a camiseta da nike por uma da drop, eu poderia re-segmentar ele na base.

E esse é apenas o começo. Criando uma boa regra de otimização e colocando isso nos lugares certos do seu sistema e ainda em uma cron você terá a base 100% segmentada para alavancar seus resultados.

Espero que tenham curtido mais esse Upinside Play, e não esquece daquele comentário maroto que empolga o professor a gravar mais aulas assim ;)

Um forte abraço e #BoraProgramar.

Compartilhe:

Em Programação:

Deixe seu comentário: