Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Create a Daily and Weekly Email Newsletter in WordPress

Last updated on by
Elegant Themes
How to Create a Daily and Weekly Email Newsletter in WordPress

In the past we have written on what, why, and how-to’s of email newsletters. With our redesign, we have gone ahead with advanced segmenting of our email newsletters. A lot of you guys have sent us an email asking how to do daily and weekly email newsletters. How to add all these other options, what are the benefits etc? In this article, we will show you how to create a daily and weekly email newsletter in WordPress using Aweber or MailChimp.

Every so-called “expert” is stressing out about building an email list. “Build a list” has become one of our industry’s cliche statement. However most of these experts miss out on the part: how to build your email list the right way. Segmenting or grouping your list is almost necessary to have successful campaigns in the long run. By segmenting your subscribers, you make sure to send targeted and relevant emails. Often users want to keep up with your site, but they don’t want to do it on a daily basis. Giving them a weekly option is much better than having them unsubscribing altogether. Let’s take a look at how we can do this.

This is what we are going to build:

List25 Optin

Note: You MUST have an Aweber or MailChimp account. We are using MailChimp on our website, so we will only show the MailChimp method. However the methods are pretty similar.

Login to your account and click on the Lists navigation item. You will see a list of your lists. Click on the Groups » View Groups option.

MailChimp View Groups

Since you don’t have any groups yet, you will see a screen like this. You can click to watch the video to learn more about it. To follow this tutorial, you need to click on the Create Groups button.

MailChimp Create Groups Preview

Once you click that button, you will see a screen like this.

MailChimp Create Groups

You have the option to show group options in the signup form. You can choose the options to be checkboxes like our site, radio buttons, drop downs, or don’t show it at all. In our case, checkboxes are the ideal choice. Choose the group title, then add the options you want. Since we are only doing Daily and Weekly newsletter, we will only add these two. Feel free to make it branded like we did on our site, WPB Daily. Save groups and you are done with this part.

Now let’s head over to the forms part in our list. Go back to the Lists page. Click on the Forms link.

MailChimp Forms Link

You will see a page that shows how your signup form looks. There is a builder that you can use to customize the header images and such. We have customized our form, so it looks like this.

MailChimp List25 Form

The only reason why we are checking this is to see that the checkboxes are there. Once that’s done scroll to the top of the page and click on the “For your Website tab” and get Signup Form Embed Code.

MailChimp Signup form Embed Code Link

You will see the option to create form embed code. There are multiple options there, but we will select the Naked Form option. This allows us to easily customize things the way we want.

MailChimp Naked Form Options

Chances are that you don’t want their headings and required field indications in your form. So click the options box and match the settings like our screenshot above. Then click on Create Embed Code. The embed code will be shown on the same page right below the button.

MailChimp Form Embed Code

Copy and paste that code in your theme. The location can be wherever you want to show the opt-in form. In our case it is in the sidebar, so we will paste the code in the sidebar.php file. Once you paste the code, our goal is to strip down all the styling divs. Let’s only keep the basic form fields. Your result should look something like this:

<form action="http://list25.us1.list-manage.com/subscribe/post?u=549b83cc29ff23c36e5796c38&amp;id=184bf03dd3" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">

<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">

<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button" />

<input type="checkbox" checked="checked" value="1" name="group[9][1]" id="mce-group[9]-9-0">

<label for="mce-group[9]-9-0">List25 Daily</label>

<input type="checkbox" checked="checked" value="2" name="group[9][2]" id="mce-group[9]-9-1">

<label for="mce-group[9]-9-1">List25 Weekly</label>

</form>

Notice that we have moved the submit button right after the email field. We have also gotten rid of the label for email field, so it just shows as a blank field with no default value text. We also gotten rid of the error fields mainly because a new tab explanation of success works much better. Since our users have no clue what to put in our blank input field which is meant for email, we need to let them know. The best way to do this is by using onblur and onfocus values.

Lets go ahead and replace the email input field to be something like this:

<input type="text" value="Enter your email..." onblur="if (this.value == '') {this.value = 'Enter your email...';}"  onfocus="if (this.value == 'Enter your email...') {this.value = '';}" name="EMAIL" class="required email emailupdatesinput" id="mce-EMAIL" />

What the code will do is it will add the text called “Enter your email…” in the email input field. However, when the user clicks on the field to enter their email, it will automatically go away.

Now that we have taken care of that, lets add some additional classes to our form:

<form action="http://list25.us1.list-manage.com/subscribe/post?u=549b83cc29ff23c36e5796c38&amp;id=184bf03dd3" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">

<div class="subscribe">

<input type="text" value="Enter your email..." onblur="if (this.value == '') {this.value = 'Enter your email...';}"  onfocus="if (this.value == 'Enter your email...') {this.value = '';}" name="EMAIL" class="required email emailupdatesinput" id="mce-EMAIL" />

<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button subscribesubmitbutton" />

<div class="clear"></div>

<div class="subscribecheckboxes">

<input type="checkbox" checked="checked" value="1" name="group[9][1]" id="mce-group[9]-9-0">

<label for="mce-group[9]-9-0">List25 Daily</label>

<input type="checkbox" checked="checked" value="2" name="group[9][2]" id="mce-group[9]-9-1" class="secondcheckbox">

<label for="mce-group[9]-9-1">List25 Weekly</label>

</div>

</div>

</form>

Notice that we have added additional divs. We have also added an additional class to the second checkbox input field, and the submit button. Now that we have defined our html elements, lets go ahead and add the styling in the css file (style.css).

.subscribe { width: 296px; height: 38px; border: solid #bbbbbb 1px; margin: 0 0 60px 0;}

.subscribecheckboxes {margin: 20px 0 0 0; font-family: 'ProximaNovaRegular', sans-serif; font-size: 14px; color: #626262;}

.secondcheckbox {margin: 0 0 0 28px;}

.emailupdatesinput { width: 162px; height: 38px; border: none; font-family: Georgia, serif; font-size: 14px; font-style: italic; color: #949494; padding: 0 10px 0 10px; float: left;}

.subscribesubmitbutton { background: #ff370f; height: 40px; border: none; width: 115px; margin: -1px -60px 0 0; float: left; font-family: 'ProximaNovaRegular', sans-serif; font-size: 12px; color: #ffffff; text-transform: uppercase; padding: 0 1px 0 0; cursor: pointer;}

Notice the only reason why we have ProximaNovaRegular is because we are using that font using font-face. You would need to replace that with the font that you are using in your theme.

Once you upload the CSS, your final result would look like this:

List25 Optin

Now that you are done with the styling part, you have to create campaigns in your MailChimp or Aweber dashboard for each specific group. We will be using RSS to Email campaigns (RSS Driven Campaigns). Click on Campaigns menu item, then bring your mouse over on the campaign button. You will see the RSS Driven Campaign option.

MailChimp RSS Driven Campaign

The steps after that are pretty intuitive. You will enter your RSS Feed URL, select the time. Then select the segment of your list and that’s it.

We hope that this article has helped you in understanding not just how to create daily and weekly email newsletters, but how to segment and group your email lists.


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »
  • http://www.wpbeginner.com/ WPBeginner Staff

    Yes you can but we do not recommend it. See our guide on Why you should never use WordPress to send Newsletter.

  • Jens

    I love this, but I have one problem. I can’t get it to work with Aweber. I can’t figure out how to pass multiple list names to the URL, I can only get it to work with a drop down-list, where the user only can choose one list to subscribe to..

    Any suggestions on this?

    Thanks for a great writeup!

    // Jens.

  • Mike

    Hey guys – loving your blog! I’m a total newbie to blogging and WP. Just setting my site up and I’m confused as I want to do a weekly blog and then a monthly newsletter. I would like it to be all linked through my Twitter, Linkedin, Facebook, Google+, YouTube accounts and also be free and have some cool features, along with keeping a scaleable subscribe/email list. It seems that none of the plugins for WP, or Feedburner/Mail Chimp/AWeber, etc. are really exactly what I’m looking for – as Mail Chimp I would have to pay monthly for what I want, the WP plugins that I have seen are VERY poorly rated and seemingly unreliable in sending out the blogs, and some issues with Feedburner also according to forums and Google searches. Whew, so much work – this online world! Any help would be GREATLY appreciated from any member or staff. Keep up the great work as I’ve added some other plugins and tips from you guys, love it! Thanks :)

    • http://www.wpbeginner.com/ WPBeginner Support

      Mike, welcome to the WordPress and blogging community. You are right, there are quite a lot of options to manage and run a newsletter. We are doing that for years, so we know how confusing and overwhelming this could be for a new user. Free plugins and tools can help you get started, but they are not a reliable solution, as you must have noticed by the deteriorating ratings and support threads. In most cases your emails end up in spam mail and the users actually never see them. Other Services like Jetpack and Feedburner are blog subscription services, so trying to use them like email newsletter service does not produce the best results. And if you ever want to move away, you will have to get all your users opt-in for the new service again.

      MailChimp is actually free for upto 2000 Subscribers and 12000 emails per month. We believe that once you have at least this many subscribers and emails, then you certainly have the motivation, need, and budget for their paid package which starts as low as $10. You can read our own case study of how we increased our email subscribers by 600%. Building an email list requires little investment, some patience, consistency, and good content but it is truly rewarding and the worth all the effort.

  • Tracy TC

    Such a great post that you almost had me thinking I could do this myself. :D I did successfully create the group in MailChimp, and then realized the rest of the tutorial is more than a little above my current skill level. Can you please shoot me a quote to make the style changes? I left the “naked” form in the sidebar on Living90045.com so you can see it. Many thanks!!

    • http://www.wpbeginner.com Editorial Staff

      Tracy, simply email us using the contact form on this site.

  • Lee

    Hi,
    I see your topic is very good. But as a new person in Mailchimp or Newsletter Subscription. I think you miss something in detail to make it easy for everyone.
    The most important is “How to add 2 feed on each checkbox on form”. I think it’s a main purpose of us.
    And after some investigate, I see you miss the step add a campaign RSS feed for just 1 check box. :).

  • Lisander

    I’ve added the code, but got the rest of my sidebar pushed to the bottom of my blog page. I removed the last and it all got back in place..

    Thanks a lot for this tutorial.

  • Kathy Henderson-Sturtz

    Thank you! Thank you! This article provided “do this, then that” and helpful “why do it” explanations that filled in a couple big “Huh?” that weren’t settling well in my usual geeky-enough mind.

  • George

    Once again Syed Balkhi and company save the day! Seems like each time I need to solve a WP challenge, the answer can be found on WPBeginner. You’re making my Drupal-to-WordPress transition about as smooth as could be. Thanks!

    • http://www.wpbeginner.com Editorial Staff

      Hah glad we are able to do that George :)

  • Maria Marsala

    I checked out Wysija. It is a free newsletter service that you can create on the back end of WP. It’s not what this article is about.

  • JBF

    This is really helpful! I want to capture sign-ups on the first page of my site. In order to update the CSS, is it necessary to have a pro account? Or is it possible to edit and add the code without a pro account? Thanks!

    • http://www.wpbeginner.com Editorial Staff

      PRO account for which service?

      • JBF

        Pro account in order to be able to edit the CSS and install the plugin to have Mail Chimp-powered signups. I currently have a free account and I don’t seem to be able to edit the CSS.

        • http://www.wpbeginner.com Editorial Staff

          If you are on WordPress.com, then you cannot use this technique. You have to use self-hosted WordPress.

  • Maria Marsala

    Excellent article. Thank you for creating this. It’s on my to do list now, and now I can get it “to done”.

    Maria

  • Maggie

    Nice post! Just to clarify – if I wanted my visitors to be bale to select topic they’re interested in,
    I should create separate RSS feed for that topic and set up separate campaign for that in Mailchimp. So I would end up with as many campaings and RSS feeds, as many topics tere are, right?

    • http://www.wpbeginner.com Editorial Staff

      Yes that is correct.

  • Radha Krishna

    That is a very good feature as it gives users an option to receive newsletters at this preferred period. Thanks for the tutorial. I’ll be implementing it on my blog in the next coming days.

  • Jolene

    Thanks for the post! I’ve been wanting to do this but didn’t know how to accomplish it until now. :) A couple of questions: I’m using Genesis Prose theme, and want to put it in sidebars. With Prose, no sidebar.php file (that I’m supposed to edit…) Would I paste this into the custom code php area and then the styling in the css? Or, to get it into the sidebars, would I have to put the html directly into a text widget? No sure where to go from here! :) Thanks, as always!

    • http://www.wpbeginner.com Editorial Staff

      You can use the text widget in the Appearance > Widgets area to paste all the code you were going to paste in the sidebar.php file. Then modify the style.css file like normal.

      • jolene

        Perfect! Thanks again for all the great information!

  • http://twitter.com/duncandibble Duncan Dibble

    I used to use this method until I discovered Wysija. Newsletter plugin for WP with drag n drop interface.

    Check it out.

    DD

    • http://www.wpbeginner.com Editorial Staff

      Thanks for letting us know. Haven’t checked that out yet.

  • Kevin Gilbert

    This is a great write-up, as usual. Interestingly enough, I just went through this exact process a couple of weeks ago and thought, I should create a tutorial on that, ’cause there are parts that aren’t entirely obvious. I’ll just point people over here, now. :-)

  • Pete

    One of the important aspects of putting up any sort of newsletter or subscription feature on a website is to ensure the default is to opt-out. It is annoying and unethical to have boxes ticked by default that forces a visitor to opt-out, especially on leaving comments etc.

    • http://www.wpbeginner.com Editorial Staff

      Our comments optin box is unchecked for that vary reason. However, for the sidebar items we have them checked. The main reason is because people would just subscribe without checking a single field. This doesn’t help anyone because we don’t send out mass email blasts. So if you uncheck all the boxes and subscribe it is just as good as not subscribing at all. By default MailChimp doesn’t have the option to require at least one of the group option. We can easily be like the other sites and not show these checkboxes at all. Signup everyone for all of those segments… but we believe in transparency. You know exactly what you are subscribing to before you subscribe. You have the option to opt-out before you opt-in.

    • Kevin Gilbert

      Pete, I understand the rationale for your comment. However, if you think about it, I’d bet that no one putting their email address in that field and clicking “Subscribe” is doing it on accident. The very nature of typing in your email address, a choice they’ve made, combined with the very nature of clicking the “Subscribe” button, which has a very clear connotation, and also another choice made by the user, is enough to suggest they truly want to “opt-in”. In this case, it seems a better UI for them to know they’re opting in to two lists, based on the boxes being ticked by default. It is pretty obvious to all but the most novice of web surfers what their options are and what they should do to opt-out of one of them.

  • Tony Milano

    Good Stuff,

    I’ve been considering adding another newsletter on my blog. This gave me the nudge I needed.

    Thanks for sharing,
    Tony