PHPackages                             bellinatiperez/mautic-campaign-watch-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bellinatiperez/mautic-campaign-watch-bundle

ActiveMautic-plugin[Utility &amp; Helpers](/categories/utility)

bellinatiperez/mautic-campaign-watch-bundle
===========================================

Monitor and fix orphan leads in Mautic campaigns

0.0.2(5mo ago)01701MITPHPPHP &gt;=8.0

Since Nov 28Pushed 5mo agoCompare

[ Source](https://github.com/bellinatiperez/mautic-campaign-watch-bundle)[ Packagist](https://packagist.org/packages/bellinatiperez/mautic-campaign-watch-bundle)[ RSS](/packages/bellinatiperez-mautic-campaign-watch-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (1)

MauticCampaignWatchBundle
=========================

[](#mauticcampaignwatchbundle)

Plugin para monitoramento e correção de leads órfãos em campanhas do Mautic.

Descrição
---------

[](#descrição)

O **Campaign Watch** identifica e gerencia leads que foram adicionados a campanhas mas não tiveram nenhum evento disparado (leads órfãos). Também monitora leads com múltiplas re-entradas em campanhas.

Funcionalidades
---------------

[](#funcionalidades)

- **Dashboard de Monitoramento**: Visualização centralizada de estatísticas de campanhas
- **Detecção de Leads Órfãos**: Identifica leads sem eventos disparados
- **Análise de Re-entradas**: Monitora leads que re-entraram múltiplas vezes (3x+)
- **Correção em Massa**: Incrementa rotação de leads órfãos para forçar reprocessamento
- **Ações Individuais**: Corrigir ou remover leads específicos
- **Exportação CSV**: Exporta dados de órfãos e re-entradas
- **Filtros**: Por campanha e período (7, 14, 30, 60, 90 dias)
- **Comando CLI**: Verificação automatizada via cron

Instalação
----------

[](#instalação)

1. Copie a pasta `MauticCampaignWatchBundle` para `plugins/`
2. Limpe o cache: ```
    php bin/console cache:clear
    ```
3. Acesse **Configurações &gt; Plugins** e ative o plugin

Uso
---

[](#uso)

### Interface Web

[](#interface-web)

Acesse via menu: **Canais &gt; Monitor de Campanhas**

A interface exibe:

- **Cards de Estatísticas**: Campanhas ativas, total de leads, órfãos, re-entradas
- **Tabela de Leads Órfãos**: Lista paginada com ações
- **Resumo de Re-entradas**: Contagem por severidade (médio: 5-9x, alto: 10x+)

### Ações Disponíveis

[](#ações-disponíveis)

AçãoDescrição**Corrigir**Incrementa a rotação do lead para forçar reprocessamento**Remover**Remove o lead da campanha (marca como `manually_removed`)**Corrigir Todos**Corrige todos os órfãos da página atual**Exportar CSV**Baixa lista de órfãos ou re-entradas### Comando CLI

[](#comando-cli)

```
# Verificar leads órfãos (últimos 7 dias)
php bin/console mautic:campaigns:check-orphans

# Especificar período
php bin/console mautic:campaigns:check-orphans --days=30

# Campanha específica
php bin/console mautic:campaigns:check-orphans --campaign=123

# Corrigir automaticamente
php bin/console mautic:campaigns:check-orphans --fix
```

Tabelas do Banco de Dados
-------------------------

[](#tabelas-do-banco-de-dados)

O plugin consulta as seguintes tabelas do Mautic:

TabelaUso`campaign_leads`Associação lead-campanha, flag `manually_removed``campaign_lead_event_log`Histórico de eventos disparados`campaigns`Dados das campanhas`leads`Dados dos contatos### Estrutura de `campaign_leads`

[](#estrutura-de-campaign_leads)

```
-- Campos relevantes
lead_id          -- ID do contato
campaign_id      -- ID da campanha
manually_removed -- 1 = removido manualmente
manually_added   -- 1 = adicionado manualmente
rotation         -- Contador de re-entradas
date_added       -- Data de entrada
date_last_exited -- Data da última saída
```

Lógica de Detecção
------------------

[](#lógica-de-detecção)

### Lead Órfão

[](#lead-órfão)

Um lead é considerado órfão quando:

1. Está em `campaign_leads` com `manually_removed = 0`
2. **Não possui** nenhum registro em `campaign_lead_event_log` para a mesma campanha/rotação
3. Foi adicionado dentro do período de análise

### Query de Detecção

[](#query-de-detecção)

```
SELECT cl.lead_id, cl.campaign_id, cl.rotation
FROM campaign_leads cl
LEFT JOIN campaign_lead_event_log clel
    ON cl.lead_id = clel.lead_id
    AND cl.campaign_id = clel.campaign_id
    AND cl.rotation = clel.rotation
WHERE cl.manually_removed = 0
    AND cl.date_added >= DATE_SUB(NOW(), INTERVAL ? DAY)
    AND clel.id IS NULL
```

Configuração de Cron
--------------------

[](#configuração-de-cron)

Para monitoramento automático, adicione ao crontab:

```
# Verificar órfãos diariamente às 6h
0 6 * * * php /path/to/mautic/bin/console mautic:campaigns:check-orphans --days=7

# Verificar e corrigir automaticamente
0 6 * * * php /path/to/mautic/bin/console mautic:campaigns:check-orphans --days=7 --fix
```

Traduções
---------

[](#traduções)

O plugin inclui traduções para:

- **Inglês** (`en_US`)
- **Português Brasil** (`pt_BR`)

Estrutura do Plugin
-------------------

[](#estrutura-do-plugin)

```
MauticCampaignWatchBundle/
├── Command/
│   └── CheckOrphanLeadsCommand.php    # Comando CLI
├── Config/
│   └── config.php                      # Rotas, menu, serviços
├── Controller/
│   └── CampaignWatchController.php    # Controlador principal
├── Resources/
│   └── views/
│       └── CampaignWatch/
│           ├── index.html.twig        # Dashboard principal
│           └── campaign.html.twig     # Detalhes da campanha
├── Translations/
│   ├── en_US/
│   │   └── messages.ini
│   └── pt_BR/
│       └── messages.ini
├── MauticCampaignWatchBundle.php      # Classe do bundle
└── README.md

```

Requisitos
----------

[](#requisitos)

- Mautic 4.x / 5.x
- PHP 7.4+
- Acesso ao banco de dados (leitura/escrita em `campaign_leads`)

Licença
-------

[](#licença)

Proprietário - Uso interno

Changelog
---------

[](#changelog)

### v1.1.0

[](#v110)

- Interface web com dashboard
- Filtros por campanha e período
- Ações de correção e remoção
- Exportação CSV
- Traduções PT-BR

### v1.0.0

[](#v100)

- Comando CLI para detecção de órfãos
- Correção automática via `--fix`

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance71

Regular maintenance activity

Popularity10

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

166d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c4970fb958f38eb5b7bef9a60c2cba0758aa2c5c3e597f1a71d52b411f89d5cb?d=identicon)[bellinatiperez](/maintainers/bellinatiperez)

### Embed Badge

![Health badge](/badges/bellinatiperez-mautic-campaign-watch-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/bellinatiperez-mautic-campaign-watch-bundle/health.svg)](https://phpackages.com/packages/bellinatiperez-mautic-campaign-watch-bundle)
```

###  Alternatives

[yiidoc/yii2-timeago

Timeago is a jQuery plugin that makes it easy to support automatically updating fuzzy timestamps. Forked from @rmm5t for Yii2 framework.

12103.3k5](/packages/yiidoc-yii2-timeago)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
