If a recipient’s email client cannot display html it will display the text version. Both parts will be
personalized and tracking links will apply.
There is absolutely no compromise with this method. But there is a
downside: too large size of an email since in essence you are sending a double-sized email per subscriber. And
in fact you must prepare two newsletters for each campaign.
A trick that may save you time is to prepare the
html one and then automatically create a text version of it.
If you have subscribers that are likely to use old email clients that cannot read html, sending multipart emails
ensures that they will eventually be able to read your newsletter.
Tests have indicated that a multipart newsletter is treated better by spam filtering engines.
To start a campaign manually go Menu > Campaigns > View & start campaigns
- Click to see the remaining emails to be sent.
- Click “Start mailing” to start the sending process. A new pop-up window opens and the button is disabled. Do not close your browser.
If you use batches
then after a batch is sent you will see the following screen.
This window refreshes automatically
after the batch pause and starts sending the next batch.
if you want to stop the mailing you can close the pop-up window.
However, some more emails will be sent (since the process is now running at the server).
The process is repeated until all emails are sent. At the end you will see this:
Sending with cron
When you schedule a campaign to run in the background with cron
you also create a scheduler task.
In these cases your campaigns table will show a calendar icon
Point your mouse over and you will see a pop-up with information about this task.
You may edit, pause/resume a scheduled campaign.
Available cron jobs
If you are not sure whether your cron job is properly configured, check your log file:
Menu > Campaigns > View log file
A recurring campaign is one that runs periodically. E.g. daily, weekly, every few days, once a month etc..
- Auto-responder campaigns. When you want to send a newsletter to new subscribers after X minutes (hours or days).
- Anniversary campaigns like birthdays.
nuevoMailer greatly facilitates the collection of dates from your subscribers by having date-type fields.
- Your weekly, monthly news updates.
- if you define an End date then the campaign recreation process stops at this day.
- After a recurring campaign runs, a new one is created and the task points to this new campaign.
Asking subscribers to confirm
Sometimes your subscribers forget or neglect to confirm their subscription. The idea is to send confirmation reminder campaigns
that start a few days after they subscribed and stop after a point in time.
For this example let's assume that:
- you want to remind them every 3 days
- start from the 10th and stop after 30 days from subscription.
This is your filter:
And your campaign settings:
AND DATEDIFF(CURDATE(), iDate) <30 AND DATEDIFF(CURDATE(), iDate) >10
The concept described above can be applied in several cases.
Instead of a confirmation campaign it can be a simple auto-responder that is sent to your subscribers every week, starts after the 10th,
and stops after X days.
A campaign series is a type of a recurring campaign in which you can load a number of newsletters that will rotate with every next campaign.
Which day of the week? As you can see above we set the activation date on January 7th, 2015 which is a Wednesday.
Since the campaign repeats weekly it will be sent every Wednesday.
Sending once a month
To set the day of the month set the activation date to the day you want.
In the special case where you want this campaign to be sent on the last day of the month
choose 31 or 30.
nuevoMailer will always pick the last day of the month whether that is 30 or 31 or 28 or 29.
Sending a series of newsletters with recurring campaigns is optional
You can use only one newsletter in a recurring campaign and,
- Keep the same newsletter and edit its content just before the next campaign starts.
- Edit the campaign and choose a different newsletter.
Changing newsletter by editing the campaign is probably better for archiving reasons, than keeping the same newsletter and replacing its content.
This approach is typical for those publishing newsletters on standard cycles (weekly, bimonthly, monthly etc).
Many authors find it convenient to send a web page as a newsletter.
What they do is to set-up the campaign as above, always use the same URL and just before the campaign starts they update their web page. You have many options.
Life cycle list management
Creating a campaign series is a good way for long term list nurturing. It is usually the first auto-responder emails and
triggers that you will use to engage your subscribers. Then you can just put them in a long term campaign using a newsletter series.
So let's assume that for their first 10 days you have used auto-responders.
Then there is a special filter that you can add to a campaign series so that it will pick subscribers 10 days after subscription
AND DATEDIFF(CURDATE(), iDate) >10
And in case you want to stop mailing them after 90 days
here is how your filter should be:
AND DATEDIFF(CURDATE(), iDate) <90 AND DATEDIFF(CURDATE(), iDate) >10
dateSubscribed - iDate
You have two options for which subscription date to use.
dateSubscribed refers to General subscription date. The first time a subscriber was added to nuevoMailer.
iDate refers to List sign-up date. The first time a subscriber was added to this list.
When working with one list it is better to use the iDate in your filters. Occasionally these two are the same.
Menu > Campaigns > Autoresponders > Create new
An auto-responder is a series of timely campaigns that are sent automatically to subscribers in the order and frequency you choose.
nuevoMailer supports auto-responders based on subscription time (list sign-up) or a subscriber date type field.
nuevoMailer auto-responders are fully featured independent recurring campaigns with statistics that recycle forever.
Here is an auto-responder that is sent 20 minutes after subscribing to a list:
Here is another example based on a custom subscriber field Wedding date
As you can see we have one more option here: Full date comparison
When checked this auto-responder will fire only once, exactly 7 days after the exact wedding day.
If not checked then it will fire every year, 7 days after the wedding date. In this case the filtering is done by checking only the month and day (and not year).
For birthday newsletters you do not want a "Full date comparison".
You can set-up different series of auto-responders that correspond to different lists.
These lists may come from specific opt-in forms. If each form uses one list only you can also activate the custom list settings.
If I already have subscribers on my list, what happens for them when I create a new auto-responder for this list?
It depends on when the subscribers were added to your list (the list sing-up date). So if the date condition of the auto-responder is met they will receive the auto-responder.
But you can enhance your auto-responders using a filter so you always exclude subscribers that you manually add as an administrator
(as opposed to those that use the sign-up form). The filter is this:
AND (1_subscribers.ipSubscribed NOT LIKE ‘%admin%’)
When you manually add subscribers the subscription IP takes the value "admin". When they use a sign-up form their real IP is recorded.
With nuevoMailer you can capture (or import) your subscribers birthdays (or other anniversaries).
You create a birthday filter, a "Happy birthday" newsletter and a campaign that uses them.
The birthday campaign must be recurrent and run every day.
- It starts by setting-up a custom field to use for storing birthdays.
- Then in the same page define this field.
- Refresh your welcome page to verify that your birthday field is active.
Follow the link and explore this page.
- Create an auto-responder
Yes!. What's described here can also be applied for other anniversaries. E.g. wedding dates.
Set-up another custom field to store these dates.
These reminders are for you, the administrator.
You can set-up a cron job
to run daily and notify you about this day's or next days birthdays.
To set the number of days in advance open the file inc/settings.php and change this variable.
$bDaysBefore=30; //Enter 0 for same day reminder
You can create follow-up campaigns based on the clicks or views from a previous campaign.
When looking at your “Summary report” you can create a new campaign as a “follow-up campaign”. Your options are shown in the screen shot below:
You are creating a new campaign identical to the previous one (uses the same list(s) and newsletter(s)).
A filter is created in the background and it is added to this new campaign.
It is the filter that will make the difference in the selection of subscribers in the new campaign.
If the old campaign was already already using a filter this won't be included in the new one.
Create only a filter: checking this box will crate only a filter and not a new campaign.
You may want to use this filter in another campaign with different parameters.
If the campaign was sent to all subscribers then you can only create a filter (without a campaign). This is because filters can be used in campaigns to all lists or to selected lists.
In this case you will find the checkbox already checked and disabled.
Email Triggers is another way for following up on an individual basis. See below.
Using triggers you can do the following:
- Update a subscriber field
- Send a single newsletter
- Add the subscriber to other list(s)
- Remove the subscriber from other list(s)
You can set triggers at:
- Campaign-wide level clicks/views (including auto-responder campaigns)
- A specific newsletter (clicks/views)
- A specific hyperlink (click)
- On list sign-up => see auto-responders here.
- This is the button for setting triggers:
For a very good overview of the triggers functionality in nuevoMailer and implementation ideas see here
Triggers in recurring campaigns
- Recurring campaigns are re-created automatically as soon as the previous one completes. Therefore we have a "parent" which is the first one and "children" which are the ones that follow. This is what we call a branch:
- The triggers set on the parent will also apply to the children.
- When you add new trigger on a child campaign it also updates the parent (and the whole branch).
- If you delete the parent campaign the old trigger will still apply to previous campaigns that were sent (of the same branch).
- But if you create new trigger for a child (after the parent has been deleted) then this will apply to this campaign and its children that will follow it.
Setting an expiration for triggered emails
Assume you create a trigger to send a single email on an action such as a view or a click.
A subscriber may do a view or a click several times as soon as he receives the newsletter or even days or months later.
nuevoMailer can prevent the sending of the triggered email multiple times (with each view/click) by marking the triggered email as processed.
But sometimes it may be useful to fire this trigger again after some time and if the view/click action happens again.
For that reason we can set a trigger expiration period
in the file inc/settings.php:
$triggerExpiry = 10; //Number of days-after to remove a processed trigger from the queue.
So after 10 days the triggered email will be sent again (assuming of course that the action that triggered it is repeated).
Triggered emails are processed by this cron job:
curl -l -s http://www.domain.com/mailer/admin/_sendTr.php?apiKey
Building on the email triggers feature you can also send transactional emails from your own CRM/CMS or website using
You only need to "post" a subscriber email and a newsletter ID. If the subscriber exists in your database then the newsletter will be personalized.
If he doesn't exist then you can optionally subscribe him at the same time, in one step.
Filters are extra criteria that you can apply to a campaign and will result in excluding or
including subscribers on the basis of demographic parameters, tracking behavior, subscription dates and more.
You can view your filters under Menu > Filters > View filters
Every filter contains a short description and SQL code. You can edit both if needed. Simply click on the description or the code.
Filters can be used when you send a campaign to All lists or to Selected lists
Menu > Filters > Create new > Based on subscriber properties/data
In this page you can:
- perform advanced searches on subscribers using any of their available fields
- see subscribers with soft or hard bounces
- preview and export the results to spreadsheets like Excel, CALC.
- create filtered lists (sub-lists) based on the search results
- create filters that you can save, refine and use in your mailings
Empty, blank filter
Menu > Filters > Create new > Create a blank filter
You simply create an empty filter and then you can add your own sql code or copy code from another filter.
Refining a filter
If you are familiar with sql syntax you can change the sql code and refine an existing
filter. You can also merge filters or create your own.
Testing a filter
You can test a filter when creating a new campaign. You select the subscribers or lists and the filter and you click “Count”.
Count with and without selecting a filter so you can see the difference.
Examples & tips
Using filters you can find and create a sub-list or a mailing filter or export subscribers who:
- come from a specific country and subscribed after a certain date
- have a certain zip code
- have not updated their account since a given date
- come from the same company
- and much more...
Create a sub-list or a mailing filter?
If you plan to make a new list that you will use in the future then it is better to create a sub-list with the search results.
If you only want to do a few mailings to this subscriber group then it is perhaps better to create a mailing filter. The answer really lies in your subscriber management approach.
A/B split testing
IF YOU ARE USING NUEVOMAILER V.4 OR EARLIER HERE IS ANOTHER METHOD.
You can split your list between odd and even records. You will create two campaigns targeting the same lists using different newsletters and different filters.
Here is the SQL code for such filters. Create an empty filter and then change the code and the description. Copy-paste the code from below:
1. Get odd rows: AND MOD(1_subscribers.idEmail,2) = 1
2. Get even rows: AND MOD(1_subscribers.idEmail,2) = 0
If you see that one particular newsletter design or subject line is more attractive you can use it in your future campaigns.
Note that you can use other filters as well to split subscribers. For example you can use subscriber country or zip code or city.
You can merge (add filters together) by putting together the sql code of each filter and using an AND or an
Here is an example. One filter that picks subscribers with Hotmail and Yahoo email accounts.
AND (1_subscribers.email LIKE '%hotmail%' OR 1_subscribers.email LIKE '%yahoo%')
If you are familiar with SQL programming you can do many tricks, use AND, OR, EXISTS statements and
construct complex filters.
A very handy filter idea - Exclude subscribers of a specific list
Usually there is overlap between lists. Meaning that subscribers belong to more than one list.
: I want to make a campaign to lists A, B, C but I do not want to include anyone on those lists who is also in list D.
: Create a campaign to lists A, B, C and use this filter
AND 1_subscribers.idEmail NOT IN (SELECT idEmail FROM 1_listRecipients WHERE idList=D)
Which means that those who are subscribed in list with id D will not be included in the campaign (no matter if they belong to A or B or C).
Multi-threaded sending plugin
To create a multi-threaded campaign go Menu > Campaigns > Create a multi-threaded campaign
You have all the usual campaign options but with a key difference here:
- The number of emails in a batch
Multi-threaded campaigns are sent in batches. This number refers to each thread.
- Number of threads
you define here how many processes (threads) each cron hit initiates.
- Distance between threads (seconds)
This distance refers to thread start times. So assuming you give a 5 seconds distance, every 5 seconds a new thread will start.
- number of emails in a batch is 5000.
- number of threads is 20.
- distance between threads is 5 seconds.
A cron hit will initiate 20 threads that start every 5 seconds and each thread will send 5k emails.
So each cron hit will process 100k emails.