Master Prompt — Affiliate Business Operating System¶
Quero construir uma plataforma profissional que será o sistema operacional completo do meu negócio de affiliate marketing e performance marketing internacional.
O ClickBank será a primeira rede de afiliados integrada, mas a arquitetura NÃO deve ficar acoplada ao ClickBank. Ela deve permitir futuramente adicionar outras affiliate networks, produtos próprios, novas fontes de tráfego e outras plataformas financeiras sem reescrever o core do sistema.
A plataforma será minha central de controle para:
- descoberta e avaliação de produtos;
- planejamento do negócio;
- gestão de ofertas;
- criação de campanhas;
- criação de anúncios e conteúdo;
- inteligência artificial;
- gestão de landing pages/bridge pages;
- tracking;
- leads e CRM;
- conversões;
- atribuição;
- despesas;
- receitas;
- fluxo financeiro;
- recebimentos;
- análise de lucratividade;
- experimentos;
- compliance;
- documentação;
- tarefas;
- tomada de decisão.
O objetivo não é apenas construir dashboards. O objetivo é construir um sistema operacional orientado a dados para decidir:
Onde investir, quanto investir, por que investir, quando escalar, quando parar, qual produto promover, qual criativo funciona e quanto dinheiro realmente estou ganhando.
1. Princípio fundamental¶
A plataforma deve separar claramente:
- dados;
- cálculos determinísticos;
- inteligência artificial;
- decisões humanas.
Cálculos financeiros e métricas nunca devem depender de uma LLM.
Postgres/SQL deve calcular números como:
- CTR;
- CPC;
- CPM;
- CPL;
- CPA;
- EPC;
- conversion rate;
- ROAS;
- lucro;
- margem;
- break-even CPC;
- break-even CPA;
- custo por lead;
- receita por lead;
- refund rate;
- chargeback rate;
- cash flow.
A inteligência artificial deve receber dados estruturados e interpretá-los.
A IA pode recomendar ações, mas não deve aumentar orçamento, pausar campanhas, publicar anúncios, movimentar dinheiro ou alterar dados críticos sem aprovação humana explícita.
2. Stack oficial¶
Utilizar:
Monorepo¶
GitHub privado.
Usar:
- pnpm workspaces;
- Turborepo;
- TypeScript strict;
- Node.js 22 ou superior;
- lockfile versionado.
Estrutura sugerida:
/apps
/web
/app
/packages
/ui
/database
/analytics
/tracking
/ai
/integrations
/finance
/compliance
/config
/types
Frontend¶
Next.js, versão estável atual, utilizando App Router.
React.
TypeScript strict.
Tailwind CSS.
shadcn/ui como base de componentes.
Preferir Server Components sempre que fizer sentido.
Client Components somente onde houver interação real.
Interface responsiva e profissional, prioritariamente desktop, mas perfeitamente utilizável em iPhone/iPad.
3. Hospedagem e domínio¶
Utilizar Vercel para:
- aplicação;
- landing pages;
- previews;
- produção;
- CI/CD;
- deploys vinculados ao GitHub.
Arquitetura de domínio:
brand.com
Site público, conteúdo e landing/bridge pages.
app.brand.com
Central administrativa autenticada.
Não colocar "ClickBank" no nome da marca ou domínio.
A marca deve ser independente da plataforma afiliada e suficientemente genérica para futuramente trabalhar com várias redes e produtos.
Cloudflare será utilizado inicialmente para:
- gestão de DNS;
- proteção de formulários com Turnstile;
- controles adicionais de segurança quando necessário.
Não criar camadas de proxy/CDN redundantes sem necessidade.
4. Backend e banco de dados¶
Usar o projeto Supabase existente chamado:
panopotes
ANTES de qualquer alteração:
- auditar o projeto atual;
- listar schemas e tabelas existentes;
- verificar Auth;
- verificar funções;
- verificar Edge Functions;
- verificar RLS;
- verificar integrações;
- verificar se Panopotes é compartilhado com outro sistema.
Se a reutilização representar risco para outro ambiente de produção, PARAR e apresentar a recomendação de criar um projeto Supabase separado.
Não executar alterações destrutivas.
Usar Supabase para:
- PostgreSQL;
- Auth;
- Storage;
- Edge Functions;
- jobs agendados;
- filas quando necessárias;
- Realtime somente onde trouxer benefício real;
- pgvector quando houver caso real de busca semântica/RAG.
5. Segurança¶
Todas as tabelas expostas ao Data API devem utilizar RLS.
Nunca expor:
- service role;
- OpenRouter API key;
- ClickBank API keys;
- tokens de advertising platforms;
- credenciais bancárias;
- secrets;
para o navegador.
Secrets devem existir exclusivamente server-side.
Nunca utilizar user_metadata como mecanismo de autorização.
Criar roles internas adequadas.
Implementar:
- auditoria de alterações;
- login protegido;
- rate limiting;
- Turnstile em formulários públicos quando necessário;
- logs;
- trilha de auditoria;
- proteção CSRF quando aplicável;
- validação Zod em input de APIs;
- idempotência em webhooks;
- assinatura/verificação de webhooks;
- proteção contra replay;
- logs sem secrets.
Criar tabela audit_log para operações importantes.
6. Modelo multi-workspace¶
Mesmo que inicialmente exista apenas um proprietário, estruturar o sistema utilizando:
workspace_id
nas entidades principais.
Isso permitirá futuramente:
- equipe;
- parceiros;
- agência;
- múltiplas empresas;
- múltiplas operações.
Não construir sistema SaaS complexo agora.
Apenas deixar o modelo preparado.
7. Módulo de ofertas¶
Criar módulo:
Offers
Cada oferta deve poder armazenar:
- affiliate network;
- vendor;
- produto;
- categoria;
- subcategoria;
- URL;
- affiliate URL;
- payout model;
- revshare;
- CPA;
- comissão estimada;
- recorrência;
- rebills;
- preço;
- métricas disponíveis;
- Gravity quando existir;
- país;
- idioma;
- público-alvo;
- avatar;
- dores;
- desejos;
- diferenciais;
- risco regulatório;
- landing page do vendor;
- affiliate tools page;
- status;
- notas;
- documentos;
- screenshots;
- histórico de avaliação.
Não inventar informações que não estejam disponíveis.
Registrar:
source
source_url
collected_at
para dados externos utilizados na tomada de decisão.
Inicialmente permitir cadastro manual e importação.
Não implementar scraping de Marketplace sem primeiro confirmar que isso é permitido pelos termos e pelas APIs existentes.
8. AI Offer Analyst¶
Criar um agente especializado em avaliar ofertas.
A IA deve analisar:
Economics¶
- payout;
- EPC;
- potencial de recorrência;
- preço;
- comissão;
- refund rate quando disponível;
- chargeback quando disponível;
- break-even estimado.
Market¶
- demanda;
- concorrência;
- saturação;
- público;
- sazonalidade;
- potencial internacional.
Funnel¶
- qualidade da página do vendor;
- clareza da proposta;
- força da VSL/TSL;
- checkout;
- upsells;
- credibilidade.
Paid Traffic Fit¶
Avaliar aderência para:
- Meta;
- Google;
- YouTube;
- Native;
- TikTok;
- outros canais.
Creative Fit¶
Avaliar a quantidade de ângulos publicitários possíveis.
Compliance Risk¶
Classificar:
LOW
MEDIUM
HIGH
VERY_HIGH
Considerar especialmente:
- saúde;
- emagrecimento;
- finanças;
- renda;
- suplementos;
- investimentos;
- claims extraordinários.
Gerar um:
Opportunity Score
de 0 a 100.
O score deve ser decomponível.
Nunca gerar um número arbitrário sem mostrar quais componentes produziram o resultado.
Exemplo:
Economics: 25/30
Market: 17/20
Traffic Fit: 15/20
Creative Potential: 12/15
Funnel Quality: 10/10
Compliance: 3/5
Total: 82/100
Dados ausentes devem reduzir confiança, e não ser inventados.
9. ClickBank Integration¶
Criar adapter:
AffiliateNetworkAdapter
E implementar:
ClickBankAdapter
A arquitetura deve permitir futuramente:
Digistore24Adapter
ImpactAdapter
CJAdapter
AwinAdapter
Integrar com as APIs oficiais do ClickBank disponíveis para afiliados.
Utilizar quando apropriado:
- Analytics API;
- S2S Postback/Pixels;
- Instant Notification;
- reporting endpoints.
Guardar raw payloads de integrações para auditoria.
Implementar idempotência.
Implementar reconciliação.
Fluxo ideal:
ClickBank event
↓
Webhook/Postback
↓
Raw event
↓
Normalization
↓
Conversion
↓
Attribution
↓
Campaign metrics
↓
Financial ledger
Executar também job periódico de reconciliação entre dados recebidos em tempo real e Analytics API.
10. Tracking¶
Criar um tracking layer próprio.
Nunca depender exclusivamente de cookies.
Para cada visita registrar:
visit_id
session_id
timestamp
landing_page
referrer
device
country
utm_source
utm_medium
utm_campaign
utm_content
utm_term
gclid
fbclid
ttclid
external_click_id
Quando possível, criar um ID próprio:
click_id
que atravesse todo o funil.
11. ClickBank tracking parameters¶
Mapear automaticamente nossas informações para os parâmetros oficiais disponíveis, entre eles:
traffic_type
traffic_source
offer
campaign
adgroup
ad
creative
extclid
fbclid
contact_id
aff_sub1
aff_sub2
aff_sub3
aff_sub4
aff_sub5
Não colocar IDs únicos em campos destinados a valores agregados quando existir parâmetro específico para dados únicos.
Criar um:
ClickBankLinkBuilder
para produzir HopLinks ou Direct Tracking Links corretamente.
12. Landing / Bridge Page Builder¶
Criar um sistema próprio para páginas de campanha.
URL exemplo:
brand.com/lp/[slug]
Cada landing page deve estar ligada a:
- offer;
- campaign;
- experiment;
- audience;
- creative angle.
Não construir inicialmente um editor WYSIWYG complexo.
Utilizar páginas schema-driven compostas por blocos como:
hero
headline
subheadline
image
video
story
problem
solution
benefits
proof
comparison
faq
cta
disclosure
lead-form
Armazenar configuração em JSON validado.
Permitir preview e publicação.
13. Boas práticas de bridge pages¶
O anúncio não deve simplesmente levar a um redirecionador opaco.
A bridge page deve oferecer valor real ao visitante.
Pode assumir formatos como:
- artigo;
- review;
- comparação;
- advertorial;
- checklist;
- guia;
- quiz;
- vídeo;
- lead magnet.
Objetivo do funil:
AD
↓
BRIDGE PAGE
↓
LEAD / ENGAGEMENT
↓
CLICK
↓
SELLER
↓
ORDER FORM
↓
PURCHASE
A estratégia pode variar por fonte de tráfego.
Não assumir que bridge page é obrigatória para todos os canais.
Criar regras específicas por:
Meta
Google
YouTube
Native
TikTok
e respeitar a política vigente de cada advertising network e as recomendações de integração do ClickBank.
14. Affiliate Disclosure e compliance¶
Toda página com links de afiliado deve suportar disclosure visível e contextual.
Criar páginas globais:
/privacy
/terms
/affiliate-disclosure
/contact
/cookie-preferences
Criar Compliance Center.
A plataforma deve identificar riscos em:
- promessas falsas;
- claims não comprovados;
- falsa escassez;
- resultados garantidos;
- testemunhos suspeitos;
- before/after;
- claims médicos;
- claims financeiros;
- logos sem autorização;
- celebridades sem autorização;
- conteúdo potencialmente proibido.
A IA deve revisar toda copy antes da publicação e mostrar:
Compliance status
Risk
Reason
Suggested correction
IA não substitui análise jurídica.
15. Leads / CRM¶
Criar módulo:
Leads
Entidades mínimas:
leads
lead_events
lead_sources
consents
segments
tags
email_subscriptions
Cada lead deve ter timeline:
first_visit
lead_created
page_views
emails
clicks
affiliate_clicks
conversions
revenue
Associar lead a:
source
campaign
ad
creative
landing page
offer
Permitir descobrir:
Revenue per Lead
Lead-to-sale conversion
LTV
quando houver dados suficientes.
16. Email¶
Não construir servidor próprio de entrega de email.
Criar adapter:
EmailProvider
para permitir integração futura com ESP profissional.
A plataforma permanece como source of truth dos leads.
Registrar:
- consentimento;
- data;
- fonte;
- unsubscribe;
- bounce;
- complaint;
- sequence;
- campaign.
Toda comunicação comercial deve suportar unsubscribe e requisitos legais aplicáveis.
17. Campaign Management¶
Hierarquia:
Traffic Source
↓
Campaign
↓
Ad Group / Ad Set
↓
Ad
↓
Creative
Cada campanha deve registrar:
- plataforma;
- objetivo;
- budget;
- spend;
- início;
- fim;
- país;
- audiência;
- oferta;
- landing;
- status.
Criar adapters para advertising platforms.
Começar com arquitetura modular.
Não implementar todas ao mesmo tempo.
MVP:
- importação manual/CSV;
- ClickBank;
- primeiro advertising channel.
Depois:
- Meta Ads;
- Google Ads;
- TikTok Ads;
- Native platforms.
18. Creative Studio¶
Criar módulo:
Creative Studio
Tipos:
- hooks;
- headlines;
- primary text;
- descriptions;
- CTAs;
- static ads;
- image prompts;
- video scripts;
- UGC-style scripts sem necessidade de aparecer;
- advertorials;
- emails;
- landing page copy;
- lead magnets.
Cada criativo deve possuir:
creative_id
offer_id
angle
avatar
hook
format
version
status
ai_model
cost
created_at
Quando utilizado em campanha, conectar performance real ao criativo.
Objetivo:
A IA deve aprender com NOSSO histórico.
Não dizer apenas:
"Este anúncio parece bom."
Deve conseguir dizer:
"Criativos desse tipo tiveram CTR 31% maior e CPA 18% menor nas últimas três campanhas dessa oferta."
Somente afirmar isso quando existirem dados reais.
19. Experiments¶
Criar módulo:
Experiments
Permitir testar:
- headline;
- hook;
- image;
- video;
- CTA;
- bridge page;
- offer;
- audience;
- preço quando aplicável;
- traffic source.
Registrar:
hypothesis
metric
baseline
variant
sample
result
winner
confidence
Evitar declarar vencedores com amostras ridiculamente pequenas.
20. Finance¶
Criar um módulo financeiro em USD e BRL.
Moeda operacional principal:
USD
Moeda gerencial secundária:
BRL
Registrar separadamente:
Revenue¶
- affiliate commission;
- rebill;
- bonus;
- other revenue.
Adjustments¶
- refunds;
- chargebacks;
- return allowance;
- allowance release;
- ClickBank fees.
Expenses¶
- Meta Ads;
- Google Ads;
- Native Ads;
- creative;
- SaaS;
- OpenRouter;
- hosting;
- domain;
- banking;
- FX;
- accounting;
- taxes/provisions;
- miscellaneous.
Cash¶
Registrar:
ClickBank balance
Payoneer balance
Wise balance
Brazil bank balance
Nunca confundir:
Revenue
Profit
Cash
São conceitos diferentes.
21. ClickBank Payment Control¶
Criar tela específica de payout.
Controlar:
Payment threshold
CDR status
Accrued commissions
Return allowance
Refunds
Chargebacks
Processing fees
Payout scheduled
Payout received
Registrar datas de:
earned_at
settled_at
payout_issued_at
received_at
converted_at
22. FX¶
Nunca utilizar apenas cotação teórica para calcular lucro real.
Guardar:
market_fx_rate
actual_fx_rate
fx_fee
amount_usd
amount_brl
Assim será possível calcular custo real de conversão.
23. Payout provider¶
Inicialmente considerar:
ClickBank
↓
Payoneer
↓
Wise/Brazilian bank
Construir entidade genérica:
financial_accounts
para não acoplar o sistema ao Payoneer.
Permitir futuramente outras rotas.
24. Executive Dashboard¶
Página inicial do aplicativo deve responder imediatamente:
Hoje¶
- Spend
- Revenue
- Profit
- ROAS
Mês¶
- Spend
- Commission
- Refunds
- Fees
- Net Revenue
- Profit
- Margin
Funnel¶
Impressions
Clicks
Landing Views
Leads
Affiliate Clicks
Order Form
Sales
Rankings¶
- Best Offer
- Best Campaign
- Best Creative
- Best Landing Page
- Worst Campaign
Cash¶
- accrued;
- held;
- available;
- paid;
- converted.
25. Métricas¶
Implementar definições formais em código.
Exemplo:
CTR = clicks / impressions
CPC = spend / clicks
CPL = spend / leads
CPA = spend / conversions
ROAS = attributable_commission / ad_spend
Net ROAS =
(net_commission_after_refunds_and_chargebacks) / ad_spend
Profit =
net_commission
- ad_spend
- operating_costs
- financial_fees
EPC =
affiliate_commission / affiliate_clicks
Manter versões:
gross_roas
net_roas
realized_roas
para evitar decisões baseadas em receita que posteriormente virou refund.
26. OpenRouter AI Gateway¶
Criar pacote:
packages/ai
Nunca chamar OpenRouter diretamente de dezenas de componentes.
Criar interface:
AIProvider
e implementação:
OpenRouterProvider
API key exclusivamente server-side.
Criar model registry.
Permitir escolher modelos pela interface.
Exemplo:
Business Reasoning → model A
Copywriting → model B
Fast Classification → model C
Vision → model D
Cheap Background Tasks → model E
Não hard-code um único modelo no sistema.
27. AI Model Registry¶
Criar:
ai_models
ai_task_profiles
ai_usage
ai_runs
Guardar por chamada:
model
provider
task
input_tokens
output_tokens
cost
latency
success
created_at
Permitir saber quanto a IA está custando por:
- campanha;
- offer;
- módulo;
- mês;
- tarefa.
28. Structured Outputs¶
Sempre que a IA alimentar regras da aplicação, utilizar output estruturado validado por JSON Schema/Zod.
Nunca fazer parsing frágil de respostas textuais quando uma resposta estruturada puder ser utilizada.
Exemplo:
{
"decision": "SCALE",
"confidence": 0.84,
"reasons": [],
"risks": [],
"recommended_budget_change": 0.15
}
29. AI Business Copilot¶
Criar um chat central.
Ele deve poder responder perguntas como:
Onde perdi dinheiro essa semana?
Qual oferta tem maior potencial agora?
Qual criativo devo desligar?
Por que meu ROAS caiu?
Quanto posso aumentar meu investimento sem destruir margem?
Qual foi o melhor hook do mês?
Estou ganhando dinheiro de verdade ou apenas acumulando comissão ainda sujeita a refund?
Qual produto devo testar depois?
O Copilot deve utilizar tools internas.
Exemplos:
get_financial_summary
get_campaign_metrics
get_offer_metrics
get_creative_metrics
get_funnel
compare_campaigns
compare_offers
get_experiment_results
Tools de leitura ficam disponíveis normalmente.
Tools de escrita exigem autorização explícita.
30. AI Daily Briefing¶
Criar resumo executivo gerado pela IA:
What happened?
Why?
What matters?
What should I do next?
Exemplo:
Ontem você gastou US$430 e gerou US$612 em comissão.
Gross ROAS: 1.42
Entretanto US$64 estão sujeitos a ajustes e houve US$27 em refunds.
Net ROAS estimado: 1.21.
A campanha C14 respondeu por 72% do lucro.
O criativo V7 piorou durante três dias consecutivos.
Recomendação:
reduzir V7 e testar duas novas variações do hook H3.
Toda afirmação quantitativa deve ser derivada de dados reais.
31. Decision Engine¶
Criar regras determinísticas configuráveis.
Exemplos:
If spend > X
and conversions = 0
→ warning
If net_roas < break_even
for N days
→ warning
If creative CTR falls > X%
→ creative fatigue alert
If ROAS > threshold
and sample_size > minimum
→ scaling opportunity
A IA explica as regras acionadas.
Ela não substitui as regras.
32. Compliance AI¶
Antes de permitir publicação de uma copy:
AI Compliance Review.
Retornar:
PASS
REVIEW
BLOCK
E explicar exatamente qual trecho apresenta risco.
Nunca inventar claims para melhorar conversão.
33. Knowledge Base¶
Criar knowledge base interna contendo:
- ClickBank documentation;
- nossas campanhas;
- learnings;
- experiment results;
- winning hooks;
- losing hooks;
- personas;
- offer notes;
- compliance rules;
- procedures.
Usar embeddings somente quando busca semântica trouxer benefício.
Dados estruturados devem continuar no Postgres normal.
34. Observabilidade¶
Preparar integração para:
- error monitoring;
- product analytics;
- performance;
- structured logs.
Criar health checks.
Erros de integração nunca podem falhar silenciosamente.
35. UX¶
A aplicação não deve parecer um admin template genérico.
Deve parecer uma ferramenta profissional de performance marketing.
Priorizar:
- legibilidade;
- densidade informacional;
- dashboards rápidos;
- filtros;
- drill-down;
- comparação de períodos;
- gráficos úteis;
- excelente utilização de espaço.
Evitar:
- excesso de gradientes;
- glassmorphism gratuito;
- cards gigantes;
- excesso de cores;
- animações sem propósito.
36. Navegação inicial¶
Overview
Offers
Campaigns
Creatives
Landing Pages
Leads
Experiments
Finance
AI Copilot
Compliance
Integrations
Settings
37. MVP — Fase 1¶
Não tentar construir tudo simultaneamente.
Primeiro entregar:
- autenticação;
- estrutura do banco;
- cadastro de offers;
- campaigns;
- creatives;
- landing pages;
- tracking;
- ClickBank link builder;
- leads;
- despesas;
- receitas;
- dashboard;
- OpenRouter;
- AI Copilot básico.
O MVP já deve permitir administrar uma campanha real.
38. Fase 2¶
Depois:
- ClickBank API;
- ClickBank S2S/Postback;
- reconciliação;
- Meta/Google integrations;
- attribution avançada;
- CRM;
- email;
- experiment engine;
- advanced financial reporting.
39. Fase 3¶
Depois:
- decision engine;
- automated alerts;
- deeper AI agents;
- semantic knowledge base;
- predictive analytics;
- automated opportunity scoring;
- multi-network support.
40. Regra de desenvolvimento¶
Antes de escrever qualquer código:
- auditar o ambiente existente;
- analisar Supabase Panopotes;
- propor arquitetura final;
- apresentar estrutura de diretórios;
- propor schema;
- identificar integrações;
- identificar riscos;
- definir MVP;
- definir migrations;
- somente então começar a implementação.
Não inventar credenciais.
Não alterar produção de forma destrutiva.
Não assumir que uma API existe.
Quando depender de serviço externo, consultar documentação oficial atual antes da implementação.
41. Definition of Done do MVP¶
Considerar o primeiro MVP pronto quando eu conseguir:
- entrar no sistema;
- cadastrar uma oferta ClickBank;
- cadastrar meu HopLink;
- criar uma campanha;
- criar anúncios e criativos;
- gerar copy usando OpenRouter;
- escolher qual modelo de IA utilizar;
- publicar uma bridge page;
- gerar corretamente tracking parameters;
- receber visitas;
- identificar origem/campanha/criativo;
- capturar leads;
- registrar vendas;
- registrar despesas;
- acompanhar comissão;
- visualizar ROAS;
- visualizar lucro;
- visualizar fluxo financeiro;
- perguntar à IA como o negócio está performando;
- receber uma resposta baseada nos dados reais da plataforma.
A prioridade absoluta é:
atribuição confiável + números financeiros confiáveis + capacidade de aprender rapidamente com experimentos.
Não otimizar para quantidade de funcionalidades.
O produto deve me permitir tomar decisões melhores e evitar gastar dinheiro em campanhas que não geram retorno.