Credenciais gravadas cifradas no banco — nunca em variável de ambiente.
Entrega das campanhas: investimento, CPC, impressões e saldo.
Faturamento: vendas confirmadas e comissão por campanha.
Gera o nosso link de afiliado do Mercado Livre. A sessão vence de tempos em tempos — quando vencer, teste aqui e cole de novo.
Lê os posts de um perfil do Instagram — curtidas, comentários e mídia.
Grava os metadados no vídeo com FFmpeg antes de ele virar campanha.
Os números coletores agora ficam em Audiência → Coletor: cada um com o próprio endereço de recebimento, os grupos dele e o status de cada grupo.
Conteúdo real da coluna secret_payload. Começar com v1. confirma que passou pelo AES-256-GCM.
Keys da varredura da biblioteca de anúncios, com rotação automática.
A varredura alterna entre as keys, sempre pegando a menos usada recentemente — em volume baixo isso distribui melhor que sorteio, que costuma castigar uma conta só e estourar a cota dela.
6 páginas em paralelo no aprofundamento. Cada página é um run próprio e consome uma key, então o pool é o acelerador: com 6 keys, 30 páginas levam 5 rodadas em vez de 30. Cadastrar mais keys encurta a mineração — não há teto no código.
O que fica gravado dentro do arquivo antes de ele virar campanha.
Gravados com FFmpeg pelo ModelaApp antes de o criativo virar campanha. O vídeo original carrega os metadados de quem o produziu — subir isso intacto entrega a autoria junto com o anúncio.
O link de vídeo da varredura é assinado pela fbcdn e morre em ~24h. A fila salva uma cópia própria antes disso, devagar — cada item é download, FFmpeg e upload no ModelaApp, que não é só nosso.
Toda drenagem começa varrendo a base atrás de criativo ativo com link temporário e sem cópia — não depende de ninguém ter clicado. O lote existe porque a vazão é finita: a ~1 min por item, adiantar dez mil não salva dez mil, só enche a fila de coisa que vai expirar.
Só vídeo, por enquanto. A API do ModelaApp recusa o que não for vídeo (HTTP 422), então criativo estático ainda não tem cópia própria e continua dependendo do link temporário. Para ligar imagem, é preciso um endpoint de imagem do lado do ModelaApp — o resto aqui já está pronto.
Usa o padrão já salvo, não o que está na tela. O link precisa apontar direto para o arquivo, não para uma página que o contém. A chamada é síncrona e pode levar minutos.
O que a campanha usa na Meta e como a venda é atribuída na Shopee.
A campanha sobe programada para o próximo horário de subida, nunca na hora: ela precisa de 24h cheias antes da primeira análise. A capa do anúncio é o frame do próprio criativo — não se configura aqui.
| s1 | Gerenciador | fixo |
| s2 | nome da campanha | automático |
| s3 | nome do conjunto | automático |
| s4 | nome do anúncio | automático |
Os nomes de campanha, conjunto e anúncio saem dos padrões em Fila → Regras de subida. São eles que fazem a comissão voltar sabendo de qual campanha veio — sem isso, o ROAS por campanha vira estimativa.
Um endereço no anúncio, vários grupos atrás dele — e a troca quando o da vez enche.
Uma porta é um endereço curto — gp.donajohindica.com.br/maternidade — que manda quem clicou para um dos nossos grupos e troca de grupo sozinha quando o da vez enche. É ela que resolve o problema do link fixo: com o /g/ de um grupo só, quando ele lota o anúncio continua no ar mandando gente para uma porta fechada até alguém perceber.
Nenhum grupo escolhido — quem clicar não tem para onde ir.
O que o AfiliHub decide sozinho, sem você abrir o gerenciador.
O limite de gasto da descoberta. Salvar aqui já solta a fila: se abrir vaga e houver criativo aprovado esperando, ele sobe agora.
Cabem 8 campanhas de teste ao mesmo tempo, a R$ 6,00 cada — no máximo R$ 48,00 por dia. Manda a regra mais apertada, e agora é a verba (R$ 48,00 ÷ R$ 6,00 = 8).
Campanha validada não consome verba de teste: quem sobreviveu às regras D1–D3 libera a fatia para o próximo criativo. É por isso que o número aqui é de testes simultâneos e não de subidas por dia — uma pausada de manhã abre a vaga na mesma tarde.
As regras D1, D2 e D3 pausam e reativam campanha sozinhas, sem esperar você. Cada ação vai para o diário com o motivo.
A apuração da Shopee e a subida da fila não dependem deste interruptor — ele governa só o que pausa, reativa e escala.
Avaliadas todo dia às 10:00, sobre os dados do dia anterior fechado. Os limiares são não inclusivos: exatamente no teto, a campanha se mantém.
No primeiro dia o custo por clique precisa ficar abaixo do teto. Acima disso a campanha é pausada.
No segundo dia o criativo precisa ter gerado o mínimo de vendas na Shopee. Abaixo disso, pausa.
No terceiro dia a comissão acumulada precisa superar o investido. Caso contrário, pausa.
No quarto dia, ROAS acima da meta coloca a campanha em escala.
Campanha programada às vezes só começa a entregar no meio do dia, e aquele dia não gasta a verba. Um dia abaixo desta fração é descartado, o dia cheio seguinte vira o dia 1 e a campanha é renomeada para a data certa — a nomenclatura termina no dia em que ela de fato entregou.
Pendente: ao passar do D3 a campanha é renomeada de teste para validado, e ao bater o ROAS de escala para escala, com apontamento em Campanhas. O aumento automático de orçamento vem depois disso.
Arraste a ordem com as setas: o primeiro colocado pesa o dobro do último. É uma ordenação de atenção, não uma previsão de resultado.
Ninguém paga por um anúncio ruim durante semanas. Satura no teto — 60 e 200 dias dizem o mesmo.
O mesmo criativo em vários anúncios da página significa que o concorrente já validou aquele e está pondo verba nele.
Em reais, não em porcentagem: 6% de R$ 62 rende mais que 20% de R$ 15. Depende de checar os produtos na Shopee.
Formato que domina o feed e é o mais fácil de recriar mantendo a estrutura que já funciona.
Aplicado por cima do gasto que a Meta reporta, no cálculo de custo e de ROAS.
A API da Meta não expõe o imposto separadamente — o valor que ela devolve é líquido. Este percentual é a única forma de o custo em tela bater com a fatura.
A conversão de quem entrou no grupo, devolvida à Meta.
Os números de envio agora ficam em Audiência → Grupos, junto dos grupos que eles servem — é lá que se vê quanto cada um precisa postar.
Manda a conversão de quem entrou no grupo de volta para a Meta (Conversions API).
O mesmo do Gerenciador de Eventos. Só dígitos.
Gerado no Gerenciador de Eventos → Configurações → Conversions API. É outro token, não o da Marketing API.
Enquanto preenchido, os eventos aparecem SÓ na aba de teste e não contam como conversão. Apague quando terminar de conferir.
O nome do evento e por quanto tempo depois do clique uma entrada no grupo ainda é atribuída a ele.
Hoje este evento dispara no clique, não na entrada: o WhatsApp não avisa quando alguém entra num grupo, e a integração que leria isso ainda não existe. Por isso o padrão se chama CliqueNoGrupo — chamá-lo de entrada faria você calcular custo por entrada sobre um número que mede outra coisa, e faria a Meta otimizar a entrega para quem clica em vez de para quem entra.
Crie uma conversão personalizada com este mesmo nome no Gerenciador de Eventos — evento padrão como Lead misturaria esta frente com as vendas da Shopee no mesmo relatório.
A janela é um palpite honesto: o WhatsApp não diz de qual clique cada pessoa veio, então a atribuição é por tempo. Alargá-la casa mais entradas e casa pior — em volume, qualquer entrada acharia algum clique.
Enquanto a integração do WhatsApp não existir, a conversão é enviada no clique no link do grupo — não na entrada. Um pixel que nunca recebe evento não otimiza campanha nenhuma; a entrada entra na conta quando houver como medi-la.
Pergunta à Shopee o que ela responde, sem gravar nada.
Consulta um dia e mostra o que veio, sem gravar nada. Em branco, usa ontem — o dia fechado mais recente.
Testa um candidato por consulta e mostra o que a Shopee respondeu. Não grava nada. Em branco, usa a lista padrão (desconto e categoria) e o produto mais recente que já foi checado.