Agencias y B2B

Contesta a los clientes y deja el resto ya ordenado

Los mensajes del formulario de contacto y los hilos de correo que vienen después, leídos para saber quién escribe y qué quiere. ToxicFilter distingue al cliente con presupuesto de la agencia que quiere venderte algo, del currículum enviado al formulario comercial y del fundador que quiere una plataforma entera a cambio de un trozo de una empresa, y solo actúa donde tus reglas lo dicen.

Lo que falla en plataformas como la tuya

Agencias vendiéndote en tu bandeja comercial

"He visto vuestra web", "somos una agencia y nos especializamos en", "si te interesa, agendamos una llamada". El formulario que montaste para los clientes se llena de gente que te vende posicionamiento, desarrolladores y generación de leads, y quien lo atiende lee todos antes de dar con la consulta que paga.

Trabajo gratis presentado como oportunidad

Una idea, un porcentaje de una empresa que aún no existe, nada de presupuesto y la promesa de pagar cuando haya dinero. Nadie lo dice en una sola frase: las participaciones van en un correo, la falta de presupuesto en el siguiente y las funciones extra en un tercero, y solo el hilo completo deja ver qué se está pidiendo.

Mensajes que se han equivocado de puerta

Un currículum enviado al formulario comercial, un estudiante que pide rellenar una encuesta, un cliente al que no le llega la factura. Ninguno es un abuso y ninguno pinta nada en el embudo de ventas: le tocan a otra persona.

Spam de enlaces y texto sin sentido

Backlinks a la venta, tres enlaces acortados y nada más, un bot que rellena cada campo con caracteres al azar. Mandarlos no cuesta nada, y cada uno le quita un minuto a una persona.

Qué decide con contenido como el tuyo

Juzgado ahora mismo por el mismo motor que usa la API, con la plantilla de este tipo de plataforma y sin intervención del modelo.

  1. 01 Una plataforma a cambio de participaciones, en tres correos
  2. 02 Una agencia que te escribe en frío
  3. 03 Un currículum en el formulario comercial
  4. 04 Backlinks a la venta
  5. 05 Una consulta de verdad, con presupuesto

Una plataforma a cambio de participaciones, en tres correos POST /v1/conversation

fundador Hola, tengo una idea: un marketplace como Airbnb pero de barcos.

agencia Suena bien, ¿qué presupuesto tenéis?

fundador De momento no hay presupuesto. Te ofrezco un 2,5 % a cambio de participaciones y te pagaremos cuando facturemos. Tú lo programas todo.

agencia Nosotros siempre trabajamos con un presupuesto pagado.

fundador Debería ser fácil, nada complicado, y te viene bien para tu portfolio.

review 24 ms

Sus mensajes puntúan 0,90 como trabajo gratis a cambio de participaciones, 0,70 como cliente sin presupuesto y 0,70 como expectativas poco realistas, y los tres vuelven en leads. La plantilla de formulario de contacto retiene desde 0,60 el trabajo gratis a cambio de participaciones y la falta de presupuesto, y nunca los rechaza, así que el hilo espera a una persona: contestar, o declinar con educación, lo decides tú.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "lead:free_work_for_equity",
    "lead:no_budget"
  ],
  "leads": {
    "free_work_for_equity": 0.9,
    "no_budget": 0.7,
    "unrealistic_expectations": 0.7
  },
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 24
}

Una agencia que te escribe en frío POST /v1/text

Hola, he visto vuestra web: somos una agencia y nos especializamos en desarrollo web y posicionamiento web. Oferta especial hasta final de trimestre; si te interesa, podemos agendar una llamada y te enseñamos nuestro portfolio.

block 8 ms

Una oferta, una lista de servicios, la frase de captación y una fecha límite: cuatro familias de una venta en frío puntúan 0,90 y pasan el umbral de bloqueo de 0,85 que la plantilla pone a las ventas. Con solo dos, la puntuación es 0,70 y el mensaje queda retenido para revisión.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "lead:sales_pitch"
  ],
  "leads": {
    "sales_pitch": 0.9
  },
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Un currículum en el formulario comercial POST /v1/text

Hola, busco trabajo como desarrolladora front-end. Adjunto mi currículum; he trabajado como desarrolladora React tres años. ¿Tenéis vacantes?

review 7 ms

Se retiene y nunca se rechaza: la plantilla retiene a los candidatos desde 0,60 y no les pone umbral de bloqueo, así que el mensaje puede acabar en manos de quien contrata en lugar de en la papelera.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "lead:job_seeker"
  ],
  "leads": {
    "job_seeker": 0.9
  },
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 7
}

Backlinks a la venta POST /v1/text

¡Hola! Backlinks baratos y artículos patrocinados, DA 90+, mejor precio: https://seo-links.example https://seo-links.example/comprar https://bit.ly/3xYz

block 7 ms
  • 3 links in about 21 words: mostly links, barely a message.
  • Uses a link shortener, which hides where the link goes.

Tres enlaces en veinte palabras, uno de ellos acortado: eso ya es spam por sí solo, y lo resuelven las comprobaciones gratuitas sin el modelo. Un único enlace en una consulta de verdad no lo es.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "spam"
  ],
  "scores": {
    "spam": 0.75
  },
  "leads": {
    "sales_pitch": 0.45
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.75,
      "reason": "3 links in about 21 words: mostly links, barely a message.",
      "evidence": [
        "https://seo-links.example",
        "https://seo-links.example/comprar",
        "https://bit.ly/3xYz"
      ]
    },
    {
      "category": "spam",
      "score": 0.7,
      "reason": "Uses a link shortener, which hides where the link goes.",
      "evidence": [
        "https://bit.ly/3xYz"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 7
}

Una consulta de verdad, con presupuesto POST /v1/text

Hola, somos una empresa de logística de 20 personas en Zaragoza y buscamos una agencia para hacer un portal de clientes. Tenemos unos 40.000 euros para el proyecto y querríamos empezar en enero. ¿Podéis enviarnos una propuesta con precio?

allow 8 ms

Quiénes son, qué quieren, cuánto pueden gastar y cuándo. No puntúa nada en ningún eje, y las comprobaciones gratuitas responden en torno a un milisegundo.

La respuesta, resumida
{
  "decision": "allow",
  "flagged": [],
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Qué decide con contenido como el tuyo

Juzgado ahora mismo por el mismo motor que usa la API, con la plantilla de este tipo de plataforma y sin intervención del modelo.

Una plataforma a cambio de participaciones, en tres correos POST /v1/conversation

fundador Hola, tengo una idea: un marketplace como Airbnb pero de barcos.

agencia Suena bien, ¿qué presupuesto tenéis?

fundador De momento no hay presupuesto. Te ofrezco un 2,5 % a cambio de participaciones y te pagaremos cuando facturemos. Tú lo programas todo.

agencia Nosotros siempre trabajamos con un presupuesto pagado.

fundador Debería ser fácil, nada complicado, y te viene bien para tu portfolio.

review 24 ms

Sus mensajes puntúan 0,90 como trabajo gratis a cambio de participaciones, 0,70 como cliente sin presupuesto y 0,70 como expectativas poco realistas, y los tres vuelven en leads. La plantilla de formulario de contacto retiene desde 0,60 el trabajo gratis a cambio de participaciones y la falta de presupuesto, y nunca los rechaza, así que el hilo espera a una persona: contestar, o declinar con educación, lo decides tú.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "lead:free_work_for_equity",
    "lead:no_budget"
  ],
  "leads": {
    "free_work_for_equity": 0.9,
    "no_budget": 0.7,
    "unrealistic_expectations": 0.7
  },
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 24
}

Una agencia que te escribe en frío POST /v1/text

Hola, he visto vuestra web: somos una agencia y nos especializamos en desarrollo web y posicionamiento web. Oferta especial hasta final de trimestre; si te interesa, podemos agendar una llamada y te enseñamos nuestro portfolio.

block 8 ms

Una oferta, una lista de servicios, la frase de captación y una fecha límite: cuatro familias de una venta en frío puntúan 0,90 y pasan el umbral de bloqueo de 0,85 que la plantilla pone a las ventas. Con solo dos, la puntuación es 0,70 y el mensaje queda retenido para revisión.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "lead:sales_pitch"
  ],
  "leads": {
    "sales_pitch": 0.9
  },
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Un currículum en el formulario comercial POST /v1/text

Hola, busco trabajo como desarrolladora front-end. Adjunto mi currículum; he trabajado como desarrolladora React tres años. ¿Tenéis vacantes?

review 7 ms

Se retiene y nunca se rechaza: la plantilla retiene a los candidatos desde 0,60 y no les pone umbral de bloqueo, así que el mensaje puede acabar en manos de quien contrata en lugar de en la papelera.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "lead:job_seeker"
  ],
  "leads": {
    "job_seeker": 0.9
  },
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 7
}

Backlinks a la venta POST /v1/text

¡Hola! Backlinks baratos y artículos patrocinados, DA 90+, mejor precio: https://seo-links.example https://seo-links.example/comprar https://bit.ly/3xYz

block 7 ms
  • 3 links in about 21 words: mostly links, barely a message.
  • Uses a link shortener, which hides where the link goes.

Tres enlaces en veinte palabras, uno de ellos acortado: eso ya es spam por sí solo, y lo resuelven las comprobaciones gratuitas sin el modelo. Un único enlace en una consulta de verdad no lo es.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "spam"
  ],
  "scores": {
    "spam": 0.75
  },
  "leads": {
    "sales_pitch": 0.45
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.75,
      "reason": "3 links in about 21 words: mostly links, barely a message.",
      "evidence": [
        "https://seo-links.example",
        "https://seo-links.example/comprar",
        "https://bit.ly/3xYz"
      ]
    },
    {
      "category": "spam",
      "score": 0.7,
      "reason": "Uses a link shortener, which hides where the link goes.",
      "evidence": [
        "https://bit.ly/3xYz"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 7
}

Una consulta de verdad, con presupuesto POST /v1/text

Hola, somos una empresa de logística de 20 personas en Zaragoza y buscamos una agencia para hacer un portal de clientes. Tenemos unos 40.000 euros para el proyecto y querríamos empezar en enero. ¿Podéis enviarnos una propuesta con precio?

allow 8 ms

Quiénes son, qué quieren, cuánto pueden gastar y cuándo. No puntúa nada en ningún eje, y las comprobaciones gratuitas responden en torno a un milisegundo.

La respuesta, resumida
{
  "decision": "allow",
  "flagged": [],
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Qué busca

Cada cosa con su propia puntuación y sus propios umbrales, y el motivo explicado en una frase cada vez que actúa.

La plantilla con la que empiezas

Elígela al crear una política y estas reglas se escriben por ti, listas para editar. Todo lo que no menciona sigue nuestros valores por defecto.

  • Spam retiene desde 0,35 · rechaza desde 0,65
  • Elusión del filtro retiene desde 0,35 · rechaza desde 0,70
  • Texto sin sentido retiene desde 0,45 · nunca rechaza
  • Idioma fuera de lugar retiene desde 0,35 · nunca rechaza
  • Toxicidad retiene desde 0,60 · nunca rechaza
  • Acoso retiene desde 0,60 · rechaza desde 0,90
  • Discurso de odio retiene desde 0,55 · rechaza desde 0,80
  • Violencia retiene desde 0,55 · rechaza desde 0,85
  • Venta en frío retiene desde 0,60 · rechaza desde 0,85
  • Busca empleo retiene desde 0,60 · nunca rechaza
  • Trabajo gratis a cambio de participaciones retiene desde 0,60 · nunca rechaza
  • Sin presupuesto retiene desde 0,60 · nunca rechaza

Lo fija la plantilla

Una llamada antes de publicar

Envía el texto indicando dónde va a aparecer y actúa según la decisión.

La petición

curl https://toxicfilter.com/api/v1/text \
  -H "Authorization: Bearer $TOXICFILTER_KEY" \
  -d content="Hola, tengo una idea: un marketplace como Airbnb pero de barcos." \
  -d surface=comment
La referencia completa →

Un mes de ejemplo, en cifras

Elementos revisados
3.000
Leídos por el modelo
600
Imágenes
0
Créditos, aproximadamente
7.200

Entra en el plan Plus. Ver los planes →

Guía para cualificar leads desde un formulario de contacto

Qué revisar, cómo se puntúan los tipos de lead y cómo escribir las reglas, en formularios de contacto y en los hilos de correo que llegan después.

Cómo filtrar spam y ventas en frío en un formulario de contacto

Llama a la API cuando alguien envía el formulario y actúa según una de tres respuestas: pasarlo al embudo, retenerlo para que lo vea una persona o descartarlo. El spam de enlaces, las palabras camufladas para colarse por un filtro y el mismo mensaje enviado cuarenta veces desde un script son hallazgos en spam y evasion, y la plantilla de formulario de contacto los retiene o los rechaza según lo fuertes que sean. El texto sin sentido cae en gibberish, que la plantilla retiene y nunca rechaza. La dirección del formulario puede ir a /v1/email, que avisa de los proveedores de correo desechable.

Clasificar leads por tipo: quién te está escribiendo

Un tipo de lead no es un daño ni un tema, así que tiene su propio eje, leads, junto a scores y topics. Cada respuesta mide los once tipos, y ninguno decide nada hasta que una política le da un umbral. La plantilla de formulario de contacto fija cuatro: sales_pitch, que se retiene desde 0,60 y se rechaza desde 0,85, y job_seeker, free_work_for_equity y no_budget, que se retienen desde 0,60 y nunca se rechazan. El alcance que crece, la consultoría gratis y los demás se miden y se informan, y actuar sobre ellos es una regla que añades tú.

Cómo se puntúa un tipo de lead

Una sola familia de frases es como escribe la gente honrada, así que puntúa 0,45. Dos familias puntúan 0,70 y tres o más 0,90, de modo que un umbral en torno a 0,60 actúa sobre la forma y no sobre una palabra. Algunos tipos necesitan su familia esencial: el trabajo gratis necesita las participaciones o la falta de pago, porque una idea sola no es pedir trabajo gratis, y la consultoría gratis necesita la falta de presupuesto, porque una solicitud de propuesta con presupuesto es una de verdad. Lo que deja clara la situación apaga un tipo ("sueldo más participación" es un empleo), y la presión ("llevo años sin cobrar", "solo te interesa el dinero") suma 0,10 al trabajo gratis y a la falta de presupuesto cuando ya estaban. Las frases largas se buscan con holgura, en cualquier orden y con cualquier terminación, pero las negaciones se conservan, así que "no hay presupuesto" nunca se convierte en lo contrario.

Leer el hilo entero, no un solo mensaje

Nadie pide trabajo gratis en una frase. Manda el hilo a /v1/conversation con un autor en cada mensaje y a la persona juzgada se la lee en todo lo que ha escrito, sin contar tus respuestas. Las llamadas a las que no se presenta se cuentan una vez por cada mensaje suyo. Del hilo no se guarda nada: lo que se guarda es el veredicto sobre el último mensaje.

Dos lectores, y los mensajes en lugar de la persona

Las listas de frases resuelven las formas conocidas en torno a un milisegundo, en ocho idiomas, y una sola familia puntúa 0,45, que por sí solo dice muy poco, así que las consultas honradas se quedan como están. Cuando le dejas, el modelo lee el hilo buscando lo que las palabras dejan al contexto. Un tipo de lead nunca es un juicio sobre la persona, solo sobre lo que piden sus mensajes.

Cómo fijar las reglas de tu bandeja de entrada

Empieza por la plantilla de formulario de contacto. Mira un mes de leads sobre tu propio tráfico antes de escribir una regla para otro tipo, y pruébala como una segunda política que funciona en paralelo con la que está activa: se calculan los dos veredictos, solo uno decide, y el panel te enseña en qué no coinciden antes de que cambies.

Preguntas frecuentes

¿Cómo freno las ventas en frío que llegan por el formulario de contacto?

Manda cada mensaje a la API y actúa según la respuesta. La venta en frío se reconoce por sus familias: una oferta ("somos una agencia", "nos especializamos en"), servicios (desarrollo web, posicionamiento, generación de leads, backlinks), captación ("he visto vuestra web", "agendar una llamada") y urgencia ("oferta especial", "auditoría gratuita"). Dos familias puntúan 0,70 y la plantilla de formulario de contacto las retiene; tres o más puntúan 0,90 y las rechaza.

¿Qué tipos de lead reconoce?

Once: trabajo gratis a cambio de participaciones, sin presupuesto, expectativas poco realistas, consultoría gratis, alcance que no para de crecer, no se presenta, venta en frío, propuesta de colaboración, candidato, estudiante o encuesta, y petición de soporte. Cada uno se puntúa por separado, porque una misma persona suele ser varios a la vez, y todos vuelven en leads con cada respuesta.

¿Rechazará a un cliente de verdad que resulta que tiene una agencia?

Las palabras de quien quiere comprar apagan la detección de ventas: "necesitamos un", "buscamos una", "queremos contratar" o "cuánto costaría" dicen que esa persona viene a comprar. Además, una venta nunca se decide por una palabra: una sola familia puntúa 0,45, por debajo de cualquier umbral que fija la plantilla.

¿Puede leer un hilo de correo entero?

Sí, con /v1/conversation y un autor en cada mensaje. Solo lee los mensajes de la persona a la que se juzga, así que tus respuestas nunca cuentan en su contra. Las llamadas a las que no se presenta se cuentan por mensaje: una disculpa es normal, dos puntúan 0,70 y tres 0,90.

¿El modelo también lee los tipos de lead?

Cuando se lo permites, el modelo lee los mensajes anteriores del hilo y puntúa cada tipo de lead de quien escribe, en la misma llamada y sin coste extra; gana la puntuación más alta entre la suya y la de las listas de frases. En una conversación lee cuando las comprobaciones gratuitas han encontrado algo, cuando un tipo de lead está a medias o cada cinco mensajes, no en cada respuesta.

¿En qué idiomas funciona?

Las listas de frases de los tipos de lead cubren inglés, español, portugués, francés, italiano, alemán, catalán y neerlandés. El modelo lee muchos más. Fuera de esos ocho, quien los lee es el modelo, y entra con effort high.

Pruébalo con tu tráfico real

2.000 créditos al mes en el plan gratuito, sin tarjeta. Suficiente para pasarle una semana de tu propio contenido y ver qué opina de él.