Email Marketing

Campañas

MarketplaceContenido y documentosVersión 0.1.0manifest

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.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
nametextnonenoemail_marketing.useren claroList name, for example Newsletter
descriptionlongtextnonenoemail_marketing.useren claroWhat subscribers receive
is_publicboolnonenoemail_marketing.useren claroWhether 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.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
list_idref → email_marketing_listnonenoemail_marketing.useren claroThe list the contact is on
emailtextinternalsíemail_marketing.userenmascaradoEmail address
nametextinternalsíemail_marketing.userenmascaradoName of the contact
consent_statusselect (pending, opted_in, opted_out, bounced)internalsíemail_marketing.userenmascaradoPermission to mail: pending, opted_in, opted_out, bounced
consent_datedateinternalsíemail_marketing.userenmascaradoDay the contact gave or withdrew permission (YYYY-MM-DD)
consent_sourcetextinternalsíemail_marketing.userenmascaradoWhere 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.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
nametextnonenoemail_marketing.useren claroInternal campaign name
subjecttextnonenoemail_marketing.useren claroEmail subject line
preview_texttextnonenoemail_marketing.useren claroShort text shown after the subject in inboxes
from_nametextnonenoemail_marketing.useren claroSender name shown to recipients
from_emailtextnonenoemail_marketing.useren claroSender address shown to recipients
list_idref → email_marketing_listnonenoemail_marketing.useren claroThe list the campaign goes to
bodylongtextnonenoemail_marketing.useren claroEmail content (HTML or Markdown, as the sender expects)
scheduled_fordatenonenoemail_marketing.useren claroDay the campaign is to be sent (YYYY-MM-DD)
sent_ondatenonenoemail_marketing.useren claroDay the campaign was sent (YYYY-MM-DD)
sent_countnumbernonenoemail_marketing.useren claroEmails handed to the mail server
delivered_countnumbernonenoemail_marketing.useren claroEmails accepted by recipients' servers
opened_countnumbernonenoemail_marketing.useren claroRecipients who opened the email
clicked_countnumbernonenoemail_marketing.useren claroRecipients who clicked a link
bounced_countnumbernonenoemail_marketing.useren claroEmails that bounced
unsubscribed_countnumbernonenoemail_marketing.useren claroRecipients who unsubscribed because of this campaign
stateselect (draft, scheduled, sent, cancelled)nonenoemail_marketing.useren claroCampaign status: draft, scheduled, sent, cancelled

Flujos de trabajo ​

email_marketing_campaign ​

AcciónMueveQuién puede ejecutarlaAprobación
email_marketing_campaign.schedulestate: draft → scheduledemail_marketing.userno
email_marketing_campaign.sendstate: scheduled → sentemail_marketing.managersí
email_marketing_campaign.send_nowstate: draft → sentemail_marketing.managersí
email_marketing_campaign.unschedulestate: scheduled → draftemail_marketing.userno
email_marketing_campaign.cancelstate: scheduled → cancelledemail_marketing.userno

Grupos de permisos ​

Grupos que usa esta aplicación:

  • email_marketing.manager
  • email_marketing.user

Pasos con aprobación ​

Pasos que un agente solo puede proponer:

  • email_marketing_campaign.send
  • email_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:

bash
obop modules install-from email_marketing

Requiere 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