E-mail marketing, theoretical

Asked

Viewed 445 times

14

I want to remind you that this question is not a question of opinion, but based on experience.

This question is just to get an idea of how to create an e-mail marketing, more detailed and specific questions will be put on different topics.

I don’t want you to develop any system, just show the logical and theoretical way of the prerequisites of an E-mail Marketing server.

That’s why I have a series of questions.

  • I just need to send Emails to multiple contacts in a database?
  • I need to put some button for the person to stop receiving emails?
  • It is possible to see how many people opened the E-mail?
  • How not to be considered spam? It is inevitable an hour to become spam?
  • What are the good practices and precautions I should keep in mind before programming it to not be considered spam and not enter Blacklist?
  • What Else It Takes to Create an Email Marketing?

I already have a knowledge of how to send emails via code, I want to make it clear that what I want is the theory so I can program. I believe the language is not necessary you know but if you are curious to know I will do in PHP.

2 answers

17


First, a little theory

First of all, it is important to make it clear that on principle any mass email communication has great potential to be considered SPAM by any decent filter. Simply because it has basic SPAM features such as: large number of recipients, recognizably used words/phrases in unwanted and/or insecure messages ("buy", "revalidate", "urgent", etc).

From the point of view of those who send such messages, it is only legitimate "marketing". But from the point of view of those who receive, it can be something very annoying when it is repetitive, inopportune and, mainly, unsolicited (that is, it is not always a Lovely SPAM, Wonderful SPAM! - the said origin of the term). Of course there are those customers who wish to receive emails with notifications of the most diverse (that is, they are interested in your marketing, even if frequent and repetitive - taste is taste! ). But the role of filters is to differentiate the desired emails from the unwanted ones, and this task is nothing simple.

In the early days of the use of the Internet, much of this filtering was the responsibility of the user himself, because (1) there was not so much concern with the problem (it was perhaps not yet very evident) and (2) there were no standardized software solutions in the clients' email servers. It was very common, for example, to use email rules directly in email clients (such as Outlook):

inserir a descrição da imagem aqui

Such rules were intended to allow organizing the inbox (automatically moving emails with certain "patterns" to specific locations), but could be used to automatically move emails with unwanted patterns (that sender, or that word included in the title, etc.) to the bin. That approach had two problems. First, it required the user to know what they were doing and to have the job of setting the rules. Many users do not know how to do this setup and/or did not have the interest (or patience) for it. Second, "filtering" happened in the email client, after the message had already been downloaded. Thus, even though it was eventually effective in separating unwanted messages, they had already been downloaded and consumed band from the user’s communication (which was nothing interesting when the Internet was by dial-up and paid for by pulses during the connection).

Thus, the natural transition was to make the client’s mail server refuse unwanted messages immediately upon receiving them there, without the need to download them to the client. That is, those same rules (which include blacklists of senders, titles with specific words, etc.) were moved to the client’s server. Who is old enough should remember the transition where local email clients like Outlook or Incredimail are no longer popular, being exchanged for the use of options called "Webmail" in which the message was accessed and read directly by the browser, without downloading anything.

The problem with rules is they’re not very robust. I remember in a company where I worked that we (programmers) played to test the SPAM filter by sending messages to each other with phrases like:

"Did you know that on Madeira Island the-

The pineapple/pineapple ass?"

(and the filter was blocking the message because of the word "abound" separated by hyphae). :)

This is why SPAM filters have been improved with statistical techniques and machine learning. The principle of machine learning is to learn a prediction model from sample data (in the case of this problem, example messages who are SPAM and messaging who are not SPAM). If this model is used, the classification for a new piece of data may be provided. In this other question I gave a more didactic answer about how this principle works (it’s with a specific algorithm - there are many others, but the general idea is the same).

In case of SPAM detection, it is more common to use entropy or a probabilistic model for classifying messages. Much of the evolution of the Gmail filter (which I think is the most robust nowadays) is due to the Peter Norvig, who besides working at Google is (or was, I don’t know for sure) a professor of Machine Learning and Natural Language Processing at Stanford. In a very (but very) didactic example of one of his lessons, he demonstrates this principle of how one can "learn" the pattern of a text to then use it in a new future classification.

In this case, he intentionally uses gzip to serve as a characteristic extractor for example texts. In this example he has three texts used for training, one in English, one in German and one in Azerbaijani:

English (EN): Hellow world! This is a file full of English words...

German (): Hallo Welt! Dies ist eine Datei...

Azerbaijan (AZ): Salam Dünya! Bu Fayl Azerbaycan tam sözler...

The "learning process" is done by producing a model of each of these examples (i.e., a model for each language). Then, the template is used to compare a new text and find out which "class" (in this case, language) it probably belongs to. The new text (unknown language) is this:

(NEW): This is a new Piece of text to be Classified.

In the example, gzip is used to find out which language the new text belongs to with the command:

(echo 'cat NEW EN | gzip | wc -c' EN; \
 echo 'cat NEW DE | gzip | wc -c' DE; \
 echo 'cat NEW AZ | gzip | wc -c' AZ) \
| sort -n | head -1

This command basically does the following:

  1. Concatenate (cat) the new text (NEW) with each example text of a language (EN, DE and AZ), compact (gzip) and count the number of characters of the result (wc).
  2. Sorts the result by the number of characters (Sort)
  3. And choose the smallest (the one with the shortest compression), displaying the acronym of the language of the command used (EN, in this case).

The answer will be that combination with the best compression (NEW + EN), because it stems from how the compression algorithm works. The gzip compression algorithm searches for repetition patterns in the text (in the case of English, the "is " is one of these most common patterns) and swapping them for values represented with less than one byte (so the file gets smaller, more compressed). When the new text is in the same language as the example text, the same patterns will repeat and therefore the compaction of the new text concatenated to the text of the same language tends to be more effective generating fewer characters in the output.

Note that this is a didactic example. Gmail’s SPAM filter does not use gzip, but a probabilistic model (most likely the classifier Naive Bayes) which describes the probabilities of each word occurring in a message that is or is not SPAM. This model is continuously adjusted by the indications of the users themselves (when you mark a message as SPAM or as not SPAM), so it tends to be increasingly effective.

Trying to answer your questions effectively...

So:

  • I just need to send Emails to multiple contacts in a database? Yes, just do it. But ideally, send a direct email to each recipient. If you send a single message to multiple recipients you increase the chances of your message being considered SPAM because this is a strong clue used mainly by rules-based filter systems.

  • I need to put some button for the person to stop receiving emails? Rule-based filters commonly use this criterion (existence of a link to request deletion from the mailing list). Then it’s good you have that option. In fact, this option is mandatory from a user experience point of view (something beyond what you currently care about) because the user may want to stop receiving your messages whenever they want. If this process is easy, the user really feels in control and has no reason to have anything against your company/business.

  • It is possible to see how many people opened the E-mail? As far as I know, this option depends on a new message sent from the recipient’s email server (RFC 2298) the moment the message is received by it (and not necessarily opened/read by the user). The idea is to provide feedback on successful delivery, but without hurting the user’s privacy. So I believe that there is no way to know exactly how many people read the email that way. What is commonly done is to ask the user to access a specific link, which then counts return accesses. Many "solutions" (not to say SPAMMERS necessarily... hehehe) used external images (on other sites) to try to automate this return access, but this has also been blocked for security reasons (spammers used this technique to validate emails from real people).

  • How not to be considered spam? It is inevitable an hour to become spam? In principle it is just not to do SPAM: that is, not to send unwanted emails or overly harsh advertising. Avoid repeating the same message (offering the same product in straight emails), treat users individually and by the correct name they have offered themselves in a register (do not use the "Hello sir, Dasilva.Auro!" ), and ask users to check their spam boxes and mark the messages as non-spam (to correctly adjust the filtering algorithm for your company’s emails).

  • What are the good practices and precautions I should keep in mind before programming it to not be considered spam and not enter Blacklist? This question is redundant with the previous one. And the answer is: don’t spam. Be honest with the sending of messages and, above all, always bear in mind that the user should have control over the sending of them, including not only whether they want to receive or not, but also (whenever possible) the interval (daily, weekly, monthly, etc.) and the time (morning, afternoon, evening, etc.) sending messages to.

  • What Else It Takes to Create an Email Marketing? Well, the shipping tool. As you yourself posted in your second question (which I marked as duplicate), a software system that accesses the data, assembles the message and sends it to customers is necessary. You’ve been suggested many options that don’t require you to program everything yourself, and they’re usually interesting because they also make it easier to offer good practices in email use as a marketing approach.

P.S.: Regarding best practices that help prevent a message from being characterized as SPAM, it is also worth reading of this other question.

7

A good email marketing system should:

1) Allow sending emails only to users previously registered for such purpose.

2) Every message must have a link for the user to remove their registration from receiving mail marketing.

3) Yes it is possible to have information of how many people viewed the email.

4) Spam would only be considered if you sent messages to people who had not previously requested.

5) To not enter Blacklist you need to be a valid source of sending emails. Depending on the frequency of sending emails, applications may also deliver some messages directly to the recycle bin.

6) In the past, email applications do not render emails very well with css or newer html versions. So a lot of people formatted their emails with the oldest html tags and when they wanted a more refused design they appealed to the images. Today you have more options for creating emails.

The flow works as follows: The user registers through the site to receive mail marketing. Since he authorized the receipt of the emails, you can send his email marketing without problems. And if he no longer wants to receive your emails for any reason whatsoever, he has the link to remove your subscription. If you send the emails without authorization, then you become spam in the context of mail marketing.

  • Would it be possible to explain in more detail some of the items? Item 3, for example. How is this possible if this control is outside the scope of the server that sends the emails? Item 4 is also not necessarily true (as it is quite common for desired messages to fall into the SPAM box improperly).

  • 1

    @Luizvieira I know that it is possible to know who read the email, because various email sending services provide data about it, if they manage it is because it is possible. Mailchimp is a widely used service that obtains this information. I can’t say what the implementation would look like. As for item 4 I meant that in the context of mail marketing this is considered spam. And it’s not any kind of email, it’s promotional emails for example. A contact email for example does not need prior authorization and is not considered spam. I hope to have clarified better.

  • 1

    Precisely, the idea is you edit the question to include information describing the "how" (to effectively answer the PA question). You must agree that saying "yes, it is possible" is not of great help to whom accurate or crave do this (which is not only the AP, but also other future readers).

  • @Luizvieira I understood your statement, I find it very interesting also to have details on how to resolve this issue. But I understand that the question was in a broader sense. Now if anyone interested can open a more specific topic on that issue, I’m sure it would be much more appropriate.

  • 2

    Ref. to Item 3, just check the option to request email read confirmation, many email managers respond to this confirmation automatically, and then implement a schedule that receives the confirmations, of course this leaves a margin of error, because it can be configured not to confirm the reading, but already generates a "minimum" number of readers who opened the email.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.