Email Marketing

Kampanie

MarketplaceTreści i dokumentyWersja 0.1.0manifest

Do czego służy ​

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.

Co pakiet robi, a czego nie robi ​

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.

Modele ​

email_marketing_list ​

A mailing list contacts can belong to

Grupa odczytu: email_marketing.user. Grupa zapisu: email_marketing.manager.

PoleRodzajKlasa danychDane osoboweGrupaAgenci widząOpis
nametextnonenieemail_marketing.userjawnieList name, for example Newsletter
descriptionlongtextnonenieemail_marketing.userjawnieWhat subscribers receive
is_publicboolnonenieemail_marketing.userjawnieWhether visitors can subscribe themselves

email_marketing_contact ​

A person on a mailing list

Grupa odczytu: email_marketing.user. Grupa zapisu: email_marketing.user.

PoleRodzajKlasa danychDane osoboweGrupaAgenci widząOpis
list_idref → email_marketing_listnonenieemail_marketing.userjawnieThe list the contact is on
emailtextinternaltakemail_marketing.userzamaskowaneEmail address
nametextinternaltakemail_marketing.userzamaskowaneName of the contact
consent_statusselect (pending, opted_in, opted_out, bounced)internaltakemail_marketing.userzamaskowanePermission to mail: pending, opted_in, opted_out, bounced
consent_datedateinternaltakemail_marketing.userzamaskowaneDay the contact gave or withdrew permission (YYYY-MM-DD)
consent_sourcetextinternaltakemail_marketing.userzamaskowaneWhere consent was collected, for example website signup form

email_marketing_campaign ​

One mailing sent to a list

Grupa odczytu: email_marketing.user. Grupa zapisu: email_marketing.user.

PoleRodzajKlasa danychDane osoboweGrupaAgenci widząOpis
nametextnonenieemail_marketing.userjawnieInternal campaign name
subjecttextnonenieemail_marketing.userjawnieEmail subject line
preview_texttextnonenieemail_marketing.userjawnieShort text shown after the subject in inboxes
from_nametextnonenieemail_marketing.userjawnieSender name shown to recipients
from_emailtextnonenieemail_marketing.userjawnieSender address shown to recipients
list_idref → email_marketing_listnonenieemail_marketing.userjawnieThe list the campaign goes to
bodylongtextnonenieemail_marketing.userjawnieEmail content (HTML or Markdown, as the sender expects)
scheduled_fordatenonenieemail_marketing.userjawnieDay the campaign is to be sent (YYYY-MM-DD)
sent_ondatenonenieemail_marketing.userjawnieDay the campaign was sent (YYYY-MM-DD)
sent_countnumbernonenieemail_marketing.userjawnieEmails handed to the mail server
delivered_countnumbernonenieemail_marketing.userjawnieEmails accepted by recipients' servers
opened_countnumbernonenieemail_marketing.userjawnieRecipients who opened the email
clicked_countnumbernonenieemail_marketing.userjawnieRecipients who clicked a link
bounced_countnumbernonenieemail_marketing.userjawnieEmails that bounced
unsubscribed_countnumbernonenieemail_marketing.userjawnieRecipients who unsubscribed because of this campaign
stateselect (draft, scheduled, sent, cancelled)nonenieemail_marketing.userjawnieCampaign status: draft, scheduled, sent, cancelled

Przepływy pracy ​

email_marketing_campaign ​

AkcjaPrzenosiKto może uruchomićZatwierdzenie
email_marketing_campaign.schedulestate: draft → scheduledemail_marketing.usernie
email_marketing_campaign.sendstate: scheduled → sentemail_marketing.managertak
email_marketing_campaign.send_nowstate: draft → sentemail_marketing.managertak
email_marketing_campaign.unschedulestate: scheduled → draftemail_marketing.usernie
email_marketing_campaign.cancelstate: scheduled → cancelledemail_marketing.usernie

Grupy uprawnień ​

Grupy używane przez tę aplikację:

  • email_marketing.manager
  • email_marketing.user

Kroki zatwierdzania ​

Kroki, które agent może tylko zaproponować:

  • email_marketing_campaign.send
  • email_marketing_campaign.send_now

Co agenci mogą, a czego nie mogą ​

Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.

Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: email_marketing_campaign.send, email_marketing_campaign.send_now, email_marketing_list.delete, email_marketing_contact.delete, email_marketing_campaign.delete.

Dane osobowe są maskowane jako tokeny zastępcze: email_marketing_contact.email, email_marketing_contact.name, email_marketing_contact.consent_status, email_marketing_contact.consent_date, email_marketing_contact.consent_source.

Zależności ​

Brak.

Instalacja ​

Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:

bash
obop modules install-from email_marketing

Wymaga bazy danych i uprawnień administratora.

Zbuduj własną ​

Przewodnik po modułach pokazuje, jak pisze się takie aplikacje