Email Marketing
Campañas
Para qué sirve
Keep mailing lists with each contact's consent status and date, and prepare campaigns. Sending reaches real people and cannot be undone, so it always needs a human approval.
Qué hace y qué no hace el paquete
Mailing lists, the contacts on them with their consent status and date, and campaigns with a draft, scheduled, sent flow. Sending is irreversible and reaches real people, so it needs a human approval from a manager; agents may only propose it. Campaign statistics are numbers entered or imported, not computed. Contacts are personal data: keep consent_status and consent_date accurate and never mail a contact that is not opted_in.
Modelos
email_marketing_list
A mailing list contacts can belong to
Grupo de lectura: email_marketing.user. Grupo de escritura: email_marketing.manager.
| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
name | text | none | no | email_marketing.user | en claro | List name, for example Newsletter |
description | longtext | none | no | email_marketing.user | en claro | What subscribers receive |
is_public | bool | none | no | email_marketing.user | en claro | Whether visitors can subscribe themselves |
email_marketing_contact
A person on a mailing list
Grupo de lectura: email_marketing.user. Grupo de escritura: email_marketing.user.
| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
list_id | ref → email_marketing_list | none | no | email_marketing.user | en claro | The list the contact is on |
email | text | internal | sí | email_marketing.user | enmascarado | Email address |
name | text | internal | sí | email_marketing.user | enmascarado | Name of the contact |
consent_status | select (pending, opted_in, opted_out, bounced) | internal | sí | email_marketing.user | enmascarado | Permission to mail: pending, opted_in, opted_out, bounced |
consent_date | date | internal | sí | email_marketing.user | enmascarado | Day the contact gave or withdrew permission (YYYY-MM-DD) |
consent_source | text | internal | sí | email_marketing.user | enmascarado | Where consent was collected, for example website signup form |
email_marketing_campaign
One mailing sent to a list
Grupo de lectura: email_marketing.user. Grupo de escritura: email_marketing.user.
| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
name | text | none | no | email_marketing.user | en claro | Internal campaign name |
subject | text | none | no | email_marketing.user | en claro | Email subject line |
preview_text | text | none | no | email_marketing.user | en claro | Short text shown after the subject in inboxes |
from_name | text | none | no | email_marketing.user | en claro | Sender name shown to recipients |
from_email | text | none | no | email_marketing.user | en claro | Sender address shown to recipients |
list_id | ref → email_marketing_list | none | no | email_marketing.user | en claro | The list the campaign goes to |
body | longtext | none | no | email_marketing.user | en claro | Email content (HTML or Markdown, as the sender expects) |
scheduled_for | date | none | no | email_marketing.user | en claro | Day the campaign is to be sent (YYYY-MM-DD) |
sent_on | date | none | no | email_marketing.user | en claro | Day the campaign was sent (YYYY-MM-DD) |
sent_count | number | none | no | email_marketing.user | en claro | Emails handed to the mail server |
delivered_count | number | none | no | email_marketing.user | en claro | Emails accepted by recipients' servers |
opened_count | number | none | no | email_marketing.user | en claro | Recipients who opened the email |
clicked_count | number | none | no | email_marketing.user | en claro | Recipients who clicked a link |
bounced_count | number | none | no | email_marketing.user | en claro | Emails that bounced |
unsubscribed_count | number | none | no | email_marketing.user | en claro | Recipients who unsubscribed because of this campaign |
state | select (draft, scheduled, sent, cancelled) | none | no | email_marketing.user | en claro | Campaign status: draft, scheduled, sent, cancelled |
Flujos de trabajo
email_marketing_campaign
| Acción | Mueve | Quién puede ejecutarla | Aprobación |
|---|---|---|---|
email_marketing_campaign.schedule | state: draft → scheduled | email_marketing.user | no |
email_marketing_campaign.send | state: scheduled → sent | email_marketing.manager | sí |
email_marketing_campaign.send_now | state: draft → sent | email_marketing.manager | sí |
email_marketing_campaign.unschedule | state: scheduled → draft | email_marketing.user | no |
email_marketing_campaign.cancel | state: scheduled → cancelled | email_marketing.user | no |
Grupos de permisos
Grupos que usa esta aplicación:
email_marketing.manageremail_marketing.user
Pasos con aprobación
Pasos que un agente solo puede proponer:
email_marketing_campaign.sendemail_marketing_campaign.send_now
Qué pueden y qué no pueden hacer los agentes
Un agente puede leer, buscar, crear y actualizar registros de esta aplicación, y ejecutar las acciones que no requieren aprobación, dentro de los grupos de permisos de su token.
Solo puede proponer estos pasos, y una persona debe aprobarlos: email_marketing_campaign.send, email_marketing_campaign.send_now, email_marketing_list.delete, email_marketing_contact.delete, email_marketing_campaign.delete.
Los datos personales se enmascaran como tokens marcadores: email_marketing_contact.email, email_marketing_contact.name, email_marketing_contact.consent_status, email_marketing_contact.consent_date, email_marketing_contact.consent_source.
Dependencias
Ninguna.
Instalación
Instálala desde la aplicación Customize (Marketplace) o desde la línea de comandos:
obop modules install-from email_marketingRequiere una base de datos y derechos de administrador.
Crea la tuya
La guía de módulos explica cómo se escriben aplicaciones como esta